arşiv

‘Bilgisayar’ kategorisi için arşiv

WinCE Tutorial – 5 – Running WinCE under Virtual PC – 1

Çarşamba, 11 Kas 2009

WinCE Tutorial – 4 – Running WinCE under VMware – 3

Virtual PC – Creating and Running the CE Image

You need to install Virtual PC if you haven’t done it already. It can be found in this address.

Preparing the BSP and Creating the CE Image

A custom bsp specifically tailored for Virtual PC can be found in this address. After extracting the zip content, copy the vm directory to the host system and copy the other contents to the $(WINCEROOT)\platform directory of your development system. After doing that, open the visual studio of your development system. You can either create a new solution and select the new bsp from the wizard or change the bsp of your current solution. Detailed explanations of these operations can be found in previous sections of the tutorial.

You can also configure the bsp to use one of the ethernet cards directly as a debug card and the other one as a product ethernet card. To do this, follow these steps:

  1. Set the following environment variables:
    KERNELNOSHAREETH = 1
    BSP_NOSHAREETH = 1
    OSDesign Property Pages Screen
  2. Open platform.reg file of the bsp and find the following lines:

    IF IMGNOKITL

    #include “$(_TARGETPLATROOT)\files\dc21x4.reg”

    ENDIF

    Change with

    ;IF IMGNOKITL

    #include “$(_TARGETPLATROOT)\files\dc21x4.reg”

    ;ENDIF

  3. Open platform.bib file of the bsp and find the following lines:

    IF IMGNOKITL

    ndis_dc21x4.dll   $(_TARGETPLATROOT)\bin\drivers\$(WINCEDEBUG)\ndis_dc21x4.dll      NK SHK

    ENDIF IMGNOKITL

    Change with

    ;IF IMGNOKITL

    ndis_dc21x4.dll   $(_TARGETPLATROOT)\bin\drivers\$(WINCEDEBUG)\ndis_dc21x4.dll      NK SHK

    ;ENDIF IMGNOKITL

After those, rebuild the project and generate NK.bin.

If you skip these steps, vmini driver will be used if you enable KITL. You may still use normal ethernet functionality and debug the system at the same time. However, it is not recommended in this project because of the reasons mentioned here.

Note: You may encounter a problem about OAL.exe in the build process. This is because of an error in make files. You can change the makefile.def files of the kitl and oal to overcome this problem. The files can be found under:

$(WINCEROOT)\PLATFORM\VirtualPC\bin\kitl\makefile.inc

$(WINCEROOT)\PLATFORM\VirtualPC\bin\oal\makefile.inc

Find the line starting with “copy”, and change it with the appropriate lines given below:

copy $(_TARGETPLATROOT)\bin\oal\$(WINCEDEBUG)\oal.* $(_TARGETPLATROOT)\cesysgen\files\

copy $(_TARGETPLATROOT)\bin\kitl\$(WINCEDEBUG)\kitl.* $(_TARGETPLATROOT)\cesysgen\files\

After rebuilding the kitl and oal, nk.bin will automatically be created. However, in some of the build modes, this solution does not work. If this is the case, for a workaround, copy all files from $(WINCEROOT)\PLATFORM\VirtualPC\BIN\OAL\debug and $(WINCEROOT)\PLATFORM\VirtualPC\BIN\KITL\debug and paste them to the same directory you normally copy NK.bin from. Example directory path: C:\WINCE600\OSDesigns\OsDesign_VMware\OsDesign_VMware\RelDir\VirtualPC_x86_Release

Make sure that you copy the necessary files to your current solution directory.

Copy always contents from debug directory. After that, generate NK.bin by choosing “Make Run-Time” image option shown below.

Make Runtime Image

WinCE Tutorial – 6 – Running WinCE under Virtual PC – 2

Bilgisayar, WinCE Tutorial , ,

WinCE Tutorial – 4 – Running WinCE under VMware – 3

Çarşamba, 11 Kas 2009

WinCE Tutorial – 3 – Running WinCE under VMware – 2

Debugging

Windows Embedded CE 6.0 has a standard set of debugging features such as breakpoints, step over, step in, etc. Kernel, drivers and applications can be debugged in this fashion. But first, a connection between the platform builder and the target system must be established.

Debugging in WinCE made possible by the Kernel Independent Transport Layer (KITL) functionality. Kernel mode code can only be debugged using KITL. Detailed information about the KITL can be found under this presentation video.

KITL can be used with different physical hardware such as COM, ethernet and usb. However, so called “transport” must be written for the hardware with which we want to connect. This “transport” can be thought of a special driver for KITL. In ethernet case, it is the edbg driver mentioned in the previous section. It is said that writing transport for KITL is easier than writing the original device driver.

In Vmware case, we don’t have any transports which we can use with KITL. Because of that, WinCE image running in Vmware cannot be debugged for the time being.

Note: Hardware used for KITL must be a separate hardware which won’t be used by the WinCE. For example, if a serial port is selected as a KITL transport medium, this port cannot be recognized by WinCE. In ethernet, although it is possible to use the same port for debugging and “normal” networking using vbridge library and vmini virtual adapter, we do not use it for two reasons. The first reason is the speed. These services introduce a new layer, which clearly affects the performance negatively. Secondly, since we will work with ethernet drivers, it is important for us to separate the debug environment with the environment which we are testing.

Detailed information about vbridge and vmini can be found in this address.

Customizing the WinCE image for VMware

The image built in the previous steps runs under VMware. However, some of the hardware won’t be supported. Luckily, support for the most of the VMware hardware can be given by selecting the necessary items from the catalog items view of your solution. Lastly, CEPC BSP should be modified to support the ethernet card.

To support monitor, keyboard, hdd and usb, make sure that your catalog items view matches the following two pictures:

Catalog Items View 1

Catalog Items View 2

To support the audio, select “Ensoniq ES1371 (Unified)”. Finally, to support the CD-Rom, part of the file $(WINCEROOT)\PUBLIC\COMMON\OAK\DRIVERS\BLOCK\ATAPI\atapipcicd.cpp should be commented out. The part to be commented out is given with this file. Changing the file will also affect other CE solutions that you have.

Note that the last two changes are not applied or tested for the time being. That means, the image we are creating will not support sound and cd-rom.

Supporting the ethernet card is a bit more difficult than that. The AMD PCNet virtual card (vlance) is not supported by the Windows CE 6.0 by default. To add the support, ethernet driver for the Windows CE must be made available for the BSP.

To keep the original CEPC BSP untouched, we can first clone it and modify the cloned BSP. This can easily be done from Visual Studio → Tools → Platform Builder for CE 6.0 → Clone BSP option.

Clone BSP Screen

After cloning, two catalog files must be changed. These are: $(WINCEROOT)\PLATFORM\<platform_directory>\CATALOG\1033\cepcstrings.pbcxml and $(WINCEROOT)\PLATFORM\<platform_directory>\CATALOG\1041\cepcstrings.pbcxml. Open them with an editor and search for CEPC(case insensitive) and change them with the name you gave for the new BSP.

For ethernet support, copy the pcntn4m.dll and pcnet.reg files into the $(WINCEROOT)\PLATFORM\<platform_directory>\FILES directory. The files can be found in the following zip file.

After that, some modifications must be made in platform.bib and platform.reg files. These files can be found under $(WINCEROOT)\PLATFORM\<platform_directory>\CESYSGEN\files directory. You can either change the files with the ones given with this file or compare them with the originals and insert the lines which are missing in the originals.

After that, restart the Visual Studio if it is still open and then from the catalog items view, deselect CEPC bsp and select the bsp you created now (can be found under third party). After the rebuild, the image created will support the ethernet, too. You can load the image with one of the methods discussed in the previous sections.

If the VM still does not support ethernet, make sure that you selected the following packages about networking:

Catalog Items View 3

Catalog Items View 4

WinCE Tutorial – 5 – Running WinCE under Virtual PC – 1

Bilgisayar, WinCE Tutorial , , ,

WinCE Tutorial – 3 – Running WinCE under VMware – 2

Pazartesi, 09 Kas 2009

WinCE Tutorial – 2 – Running WinCE under VMware – 1

Running the Image in VMware

First, create a custom Virtual Machine with VMware Workstation 6 hardware and select Ms-Dos as the operating system.

You do not have to change anything else for now. You may change the disk size according to your needs.

Booting the Operating System

There are a couple of ways to boot the system and install the created CE image. These are:

  • Local install
  • Remote download & install using serial connection
  • Remote download & install using ethernet connection

For all of the connections, an MS-DOS startup disk is always a requirement.

Local Install

To be able to install the nk.bin image locally, we need loadcepc.exe. It can be found under $(WINCEROOT)\PLATFORM\CEPC\SRC\BOOTLOADER\DOS\BOOTDISK.

loadcepc.exe location

In this install type, it is easy to use an MS-DOS boot cd instead of a floppy because of the empty space we can use. Created nk.bin can directly be included in the cd-rom and be loaded easily. If we have selected the floppy, we would have needed an another medium to load the generated image from.

MS-DOS boot CD can be created using the MS-DOS BootCD program. First, download the bootcd.zip from the site. After unpacking the file, copy the loadcepc.exe and generated nk.bin files under the CD directory.

BootCD CD folder

After that, generate an MS-DOS iso file by running the Build-ISO.cmd. BootCD.iso file will be created by the application.

After creating the bootable cd, go to the VMware Virtual machine options of the MS-DOS image you created. Go to the CD/DVD options and use the ISO file you created.

VMWare Virtual Machine CD Options

Now, you are ready to start the MS-DOS VMware image. After starting, you will see a screen like below:

DOS VMware image screen 1

You can select 1. After that, go to the CD Drive (X) and start the Windows Embedded CE 6.0 by entering the command “loadcepc /L:800x600x16 nk.bin”.

DOS VMware image screen 2

The operating system should be ready after a couple of seconds.

Working Windows Embedded CE 6.0 under  VMware

Alternatively, you can use the attached Autoexec.bat and Config.sys to skip the command line parts and start the CE 6.0 automatically. You need to replace autoexec.bat and config.sys files located under the Floppy folder of the bootcd with the ones given with this zip file.

Remote Download&install Using Serial Connection

Windows CE image can also be downloaded from the developer computer automatically using the serial connection. Moreover, this can directly be done in Visual Studio. Required steps are as follows (Developer system is also a VMware OS in this example):

  • Add 2 COM ports to the development and CE VMware images.
  • Settings for development computer:
    • Use named pipe (\\.\pipe\com_1 and \\.\pipe\com_2)
    • This end is the client
    • The other end is a virtual machine
  • VMware serial connection Settings Screen

  • Settings for CE:
    • Use named pipe (\\.\pipe\com_1 and \\.\pipe\com_2)
    • This end is the server
    • The other end is a virtual machine
    • Yield CPU on poll is selected.
  • Open the Visual Studio project. From Target → Connectivity Options, choose the following options:
    • Target Device: CE Device
    • Download: Serial, settings → COM2, baud rate 115200, data bits 8, parity None, flow control None, stop bits 1.
    • Transport: Serial, settings → same as above.
    • Debugger: KdStub
  • VS Target Device Connectivity Options Screen

  • Apply and Close the window.
  • Create a new HyperTerminal connection for debug messages coming from CE. Settings → COM1, 38400 bps, data bits 8, parity None, stop bits 1, flow control None.
  • Create an MS-DOS boot disk using the floppy template shipped with platform builder. It is easier using a floppy image file instead of a physical drive. Navigate to the VMware development image settings (VM → Settings) and from the hardware tab, select floppy (if you don’t have a floppy disk, create one by selecting add). Select “use floppy image” file and create an image.
  • VMware Floppy Settings

  • Navigate to the %ProgramFiles%\Microsoft Platform Builder\6.00\CEPB\Utilities directory, and then run MakeImageDisk.exe.
  • From the MakeImageDisk window, choose Open, and navigate to %ProgramFiles%\Microsoft Platform Builder\6.00\CEPB\Utilities, and choose CepcBoot.144. After that press start.
  • Disconnect the floppy disk from development VM and connect it to the CE VM.
  • Start the CE VM. From the boot menu, select  “Boot CE/PC (serial via sboot.bin)”
  • DOS Boot Startup Menu

  • From development VM visual studio, select “Attach Device” from the Target menu. Download window will be displayed shortly. You can check the Hyperterminal for any messages if anything goes wrong.
  • Runtime Image Download Screen

  • After download completes, Windows CE will start automatically.
Remote Download&install Using Ethernet Connection

Normally, created nk.bin image can also be downloaded using the ethernet. However, this couldn’t be done for vmware because of a couple of reasons:

  • Ethernet bootloader must recognize the ethernet device that is installed into the system. Ethernet bootloader shipped with the Platform Builder does not recognize any of virtual ethernet cards which are available for Vmware.There are 2 different virtual ethernet cards which can be used with Vmware. These are Amd Pcnet ethernet card and Intel e1000 gigabit ethernet card. For the first one, two different drivers, vlance and vmxnet, can be used under the supported operating systems. Vmxnet is the faster driver and is only available with Vmware guest additions, which is not available for Windows Embedded CE.In order to support the ethernet download capability, ethernet bootloader (eboot.bin) must be modified and linked with a special “edbg” driver written for the ethernet card. This driver is different than the normal ndis driver written for Windows CE 6.0.
  • We currently don’t have edbg driver for any of the ethernet cards supported by Vmware.
  • edbg driver code for some Amd and Intel cards is shipped with the Platform Builder, but even if the source code can be modified to work with vmware, it is non-trivial to generate an edbg driver .lib file which then must be linked to the bootloader.

WinCE Tutorial – 4 – Running WinCE under VMware – 3

Bilgisayar, WinCE Tutorial , ,

WinCE Tutorial – 2 – Running WinCE under VMware – 1

Pazartesi, 09 Kas 2009

WinCE Tutorial – 1 – Introduction & Installation

VMware – Creating and Running the CE Image

To make the explanation simple, we will first only try to run the image on Vmware. After that, we will modify the initial bsp to support the virtual hardware of Vmware.

Preparing the BSP and Creating the CE Image

After installing all the packages mentioned above, open the Visual Studio and create a new OS Design project.

New OS Design Project Screen

Select CEPC based x86 project from the available BSPs.

BSP Selection Screen

Select Custom device from the design templates.

Design Template Selection Screen

You can select what you want according to your needs in the following screens.

After creating the OS design project, build the OS. If you get an error about the large runtime image, you may allow the image size larger than 32 MB by selecting the IMGRAM64 option from the build options (for 64 MB) or define the related environment variable (IMGRAM128, IMGRAM256, IMGRAM512) for larger image sizes. Alternatively, you can remove some of the packages you selected before to lower the runtime image size.

OS Design Property Pages Screen 1

OS Design Property Pages Screen 2

After building the project, Visual Studio automatically generates a runtime image by default. The image file nk.bin can be found under the project folder (For example: C:\WINCE600\OSDesigns\OSDesign1\OSDesign1\RelDir\CEPC_x86_Release). If you cannot find it, right click the Visual Studio project select “Make Run-Time Image” from the list.

NK.bin under the project folder

WinCE Tutorial – 3 – Running WinCE under VMware – 2

Bilgisayar, WinCE Tutorial , ,

WinCE Tutorial – 1 – Introduction & Installation

Pazar, 08 Kas 2009

A couple of months ago, we started a new project about a device driver for Windows Embedded CE 6.0. In this project, my first task was preparing a toolchain. We needed a running environment for the operating system and because of some reasons which I won’t mention here, we didn’t want to buy a real hardware. So, I started searching virtualization solutions. At first, I thought that it will be easy to find a running WinCE bsp for one of the virtual machines. After a dozen of unsuccessful Google searches, it started to be clear that I could not find an easy solution. After that, I started collecting some bits and pieces from many different web sites. Adding my own experience created this tutorial. Your comments and corrections are always welcome.

I also want to clarify why I’ve chosen English here: As I’ve written in my previous posts, I don’t normally write anything English into this blog. However, I decided to make an exception for this tutorial. First of all, most of this tutorial is already written in English and I don’t have enough time to translate it into Turkish. Secondly, it is very difficult to find a tutorial which covers all of the following sections written. Personally, I couldn’t find any. I thought that it can be better to publish all these information in English for a broader audience.

Ok, one more last thing: I am not responsible for any loss resulting from the use of this tutorial.

Toolchain

The development environment will look like the following schema:

Toolchain Schema

The reason of developing in a VM instead of the host PC is keeping the native system clean. Also, snapshots can be taken and reverted back in the learning process if something goes terribly wrong. Note that some Platform Builder versions won’t work if installed side-by-side and may corrupt or even crash your installation.

To develop a Windows Embedded CE 6.0 image (NK.bin file), copy all device-specific sources from ClearCase into the Platform-Builder-Directories of the virtual machine. Make your changes and build an image.

To debug the image you created, set your create and configure a network for your development and test virtual machines. After that, you can transfer the generated data to your target-device and start debugging.

Following sections explain the development processes in detail.

Preparing the Environment for WinCE Development

There are a couple of steps to follow before starting application/driver development for Windows Embedded CE 6.0. These are:

  1. Installing the required packages to development system.
  2. Preparing the bsp and creating the CE image.
  3. Running the image in target VM.

Second and third steps are dependent upon the target virtual machine we are using. You can think of different virtual machine programs as different physical machines which contain different hardware. Since bsp is created for a specific hardware platform, we need different bsps for different virtual machines.

For development system, Vmware is chosen as the virtual machine because of its advanced settings and speed. It has already been used for some other jobs by some of the developers of the team, which also affected the choice. We’ve already had the required license for the software (workstation), but it is theoretically possible to use the free alternatives VMware Player and VMX Builder.

For the test VM, VMware was tried first. After some effort, it was understood that debugging an application or a driver would be very difficult in Vmware because of the lack of ethernet debug drivers. Hence, Vmware WinCE images could only be debugged using trace messages, which is very uncomfortable.

As a second option, Virtual PC was taken into consideration. It was at first difficult to set up a working network between Vmware development system and Virtual PC test system in our corporate network. After setting up a functioning network, WinCE image could be loaded and debugged with the ethernet interface successfully.

In the following sections, both of the target virtual systems, as well as detailed information about the things done to support debugging using ethernet card in VMware will be explained. The user can choose one of the target systems. Note that two VMware images cannot be emulated using VMware Player at the same time.

Installing Packages

The following packages should be installed into the development computer for Windows Embedded CE Development:

Other monthly update packages may also be released at the time you are reading this document. Please check Microsoft download site and install all updates.

Note: At the time the original document was written, R3 hasn’t been released yet. You can directly install R3 after installing R2. R3 probably includes monthly updates given above.

Because of a proxy problem, one may not install the Windows Embedded CE 6.0 and R2 from the links above (It was the case for me). If you encounter a problem installing these packages, you have two options to overcome it:

  1. Installing from the CD: Microsoft sends the Evaluation edition CDs without cost (except shipping) if requested.
  2. Hacking the internet installation: The problem is that the setup tries to download some packages during install. If you have a proxy with authentication, setup cannot download the required packages and installation fails (probably because of a bug in the setup). If you can manually download the packages and put them under the same directory of the msi file of the setup, setup uses these files and installs the embedded cd without any problem. msi files of the Embedded CE and R2 are automatically created under temp (C:\Documents and Settings\<username>\Local Settings\Temp) directory after clicking the setup.exe downloaded from the links above. All packages that may be used in install process can be found here (Required files are extracted from the msi files by opening them with Orca Msi Editor ). Depending on the checkboxes you selected in the install process, actual required packages might be a subset of them. After downloading the files given above, just execute .msi files.

Installing the packages is straightforward. Only make sure that you installed x86 support. Installing “Shared source” may also be useful in the future.

WinCE Tutorial – 2 – Running WinCE under VMware – 1

Bilgisayar, WinCE Tutorial , , , , , ,

Güncelleme – Ekim 2009

Çarşamba, 28 Eki 2009

Son yazımdan bu yana fena geçmiyor günlerim. İş tarafında tekrardan yeni bir projeye başlamış olmam, özel hayatta da Selin’in Münih’e gelmesi sayesinde kendisiyle sık sık görüşüyor olmamız günlerimin güzel geçmesinin en büyük sebepleri. Biraz ayrıntıya gireyim, aklıma gelenleri yazayım:

Dün gece bu yazıyı yazmaya başlamadan hemen önce barındırma hizmetimi yeniledim. 3 yıl önce satın aldığım paket yaklaşık 20 gün sonra bitiyordu. O yüzden artık daha da geç kalmadan ya başka bir şirkete geçmeli, ya da hostmonster‘dan aldığım hizmeti yenilemeliydim. Biraz düşündüm, 3 yıl boyunca aldığım hizmetin şu ana kadar yüzümü kara çıkarmadığını fark ettim. Daha önceki bir yazımda da yazmıştım, barındırma şirketlerinden epeyce çektim zamanında. O nedenle aslında bu hizmeti veren en iyi 10 şirket arasında gösterilen şirketlerden aynı hizmeti şu an ödediğim rakamın yarısına verenler olsa da gelecekteki olası baş ağrılarımı düşünüp var olan paketimi uzatmaya karar verdim.

Selin ile sık sık görüşüyoruz. Daha pek alışamadım zaten burada olmasına. E kolay değil tabii uzun zaman Skype arkadaşlığı yaptığın insanın bir kol boyu mesafede olması :) . Halen zaman zaman acayip geliyor içinde bulunduğumuz durum. Bana geldiği zamanlarda ev hanımlığı rolünü doğrudan üstlendiği için kendi temizlemediğim evde, kendi yıkayıp ütülemediğim kıyafetleri giyip, kendi yapmadığım yemekleri yiyor olmam şaşırtıyor arada beni.

mac-os-x-snow-leopardKullandığım Mac Mini’deki işletim sistemini Snow Leopard ile değiştirdim. Şimdilik çok fazla gözle görülür bir fark bulamadım açıkçası. Birkaç yeni arka plan resmi gelmiş, bir de alttaki ikonların sağ tık menülerinde biraz değişiklik olmuş. Ama zaten işletim sisteminin yeniliklerini daha önce okuyup arayüzde çok da bir değişiklik olmayacağını fark ettiğim için bu durum sürpriz olmadı. Tek sinir bozucu yenilik ise uzaktan kumandanın çalışmasında değişikliğe gidilmiş olması. Artık tuşlar o anda hangi programın aktif olarak çalıştığından bağımsız bir şekilde varsayılan işlerini yapıyorlar. Yani örneğin VLC’de bir film seyrederken filmi durdurmak istediğimde film duruyor ama iTunes da arkada yeni şarkıyı çalıyor (ya da zaten çalıyorsa duruyor). Ses açıp kapatırken VLC’nin ve sistemin kendi sesi birlikte açılıp kapanıyor. Gerçi söylediklerimden ilkini iTunes’ı önceden açıp iTunes Store’a girerek çözdüm ama ikincisinin herhangi bir çözümü yok galiba şimdilik.

Yeni bir projeye başladım. Birkaç aydır üzerinde çalıştığımız Windows Embedded CE driver projesi önem sıralamasında geriye düştü. O nedenle şu an yoluna tek geliştirici ile devam ediyor. Ben de Profinet üzerine başka bir projede çalışmaya başladım. Tamamen başka bir takımda, hatta farklı bir ofiste çalışıyorum artık. Gerçek zamanlı iletişimdeki paketlerin planlanması üzerinde çalışmaya başladım. Oluşturulan bir otomasyon projesinin derlenmesi ve benzeri zamanlarda cihazlara gönderilecek olan paket planlama verisinin oluşturulması, planlama algoritmalarının düzgün çalışması gibi konularda çalışıyorum. Burada bir yandan var olan kodun bakımı, diğer yandan da Profinet IRT’deki iyileştirmeleri yazılım tarafında teorikten pratiğe geçirme görevlerim mevcut. Konu epeyce ilgi çekici, ben de yavaştan ısınmaya başladım. Ayrıca başka bir takımda çalışmak, oradaki insanların da tecrübelerinden faydalanmak ve işin her şekilde kendine daha fazla katkıda bulunması demek. Diğer bir yandan projenin tamamen Siemens tarafından yürütülüyor olması Siemens’in yazılım geliştirme sürecini daha yakından tanımamı sağlıyor. Bu nedenlerden dolayı şu an bu projede çalıştığım için mutluyum. Umarım iyi bir şekilde devamı gelir.

Şu yazımda Windows Embedded CE 6.0 ile ilgili tecrübelerimi paylaşacağımı yazmıştım. Biliyorum, o günden bu yana epeyce vakit geçti ama açıkçası bu sefer üşengeçliğimden değil, projenin durumunun ne olacağını görmek için beklemiştim. Çok yakında birkaç farklı yazı olarak postalayacağım. Yazılar İngilizce olacağı için ana sayfaya koymayı düşünmüyorum ancak ana sayfada başka bir girdide onların linkini bulabileceksiniz.

Resistance 2‘ye sardım birkaç gündResistance_2ür. Normal seviyede oyunu 2 – 3 günde bitirdikten sonra çoklu oyuncu olayına giriştim. Birkaç kişinin birleşerek birlikte yapay zekaya karşı görev yapması (Collaborative mode) iyi olmuş, zira saatlerini oyun başında geçiren psikopatlarla karşı karşıya oynamak (Competitive mode) çok zevkli olmayacaktı. Gördüğüm kadarıyla benzer deneyimdeki oyuncuları birlikte ya da karşı karşıya oynatma özelliğinin olmaması bir eksi olsa da Collaborative Mode’da bu çok sıkıntı olmuyor.

Bilgisayar, Ivır zıvır, Site , , , , , , , ,

Afl Forum Yayında

Perşembe, 01 Eki 2009

Üniversite hazırlık yılımda web tasarımcılığımı bir adım daha ilerleterek http://www.aydinfenlisesi.com u kurmuştum. Sitenin forumu uzun yıllar fen lisesinden sınıf arkadaşlarım başta olmak üzere birçok kişi tarafından kullanıldı. Hatta sınıfça özel bölümümüzdeki muhabbetler hala aklımdadır.

Bir süre sonra site de, forum da unutuldu. Hatta o kadar unutuldu ki, sitenin yıllık güncellemesini unuttuğum için alan adını kaptırdım. Gidenin sadece alan adım olmasına rağmen ısrarla attığım maillerin de pek bir yanıtını alamadım, nedense artık erişemediğim sunucumdan sitenin son halini de geri alamadım. En son yedeğim birkaç aylıktı.

Site ve yedeklerim uzun süre kendi halinde bekledi, birkaç gün önce de Buğra’nın Facebook’a attığı bir mesajın ardından forumumuz küllerinden tekrar doğdu. Yeni adresi http://www.eminsenay.com/aflforum. Yeni üye alımını durdurmuş olsam da hala eski mesajları görebilir ve hatta eski üyelerdenseniz yazı bile yazabilirsiniz…

Ivır zıvır, Site , , ,

Son Haberler

Salı, 15 Eyl 2009

Aşağıda yaklaşık 1 ay önce yazıp o zamandan bu yana ekleyecek olduğum yazı var. Yazının ardından o zamandan bu  yana geçen zamanla ilgili güncellemeleri de yaptım.

Son yazımdan bu yana yine yazılacak birkaç konu çıktı, yine ben epeyce üşendim ve yine aşağıya özet geçiyorum.

Selin Almanya’ya geliyor! Uzun ve sıkıntılı bir bekleyiş süreci olumlu sonuç verdi, Selin yüksek lisans kabulünü aldı. Münih’teki Ludwig-Maximilians Üniversitesi’nde “psychology of excellence” bölümünde yüksek lisans yapacak. Artık sıkça görüşeceğimiz kesin.

İki kere Budapeşte’ye gitmek zorunda kaldım. Birinin dönüş yolundayım hatta şu anda. 2008 temmuz sonundan bu yana bir Macaristan şirketi olan evopro’ya bağlı çalıştığım için çeşitli belgeleri çıkartmak üzere Macaristan’a gitmem gerekiyor zaman zaman. Bu evopro’ya bağlı bulunduğum süre içindeki dördüncü Budapeşte seyahatim. İlk seferde gerekli olan bütün belgeleri çıkarmıştık, daha sonrakiler süresi dolan Macaristan oturma iznimin uzatılması nedeniyleydi hep. Normalde yıllık verilen bu izni toplamda iki kere almam yeterli olacaktı. Ancak çeşitli sebeplerden dolayı dördüncü kere oturma izni uzatma için oradaydım dün. Neyse ki ekim ayından itibaren Almanya evosoft çalışanı olacağım için bunun son zorunlu gidişim olacağına inanıyorum. Bir kere de SSK’ya orada çalıştığımı belgeleyebilmek amacıyla gitmeyi planlıyorum. Bu zorunlu geziler bende Budapeşte’ye karşı bir antipati oluşmasına sebep oldu. O yüzden daha da gitmem herhalde :) .

Cuma günü Türkiye’ye gidiyorum. Bir hafta tatil yapacağım. Daha sonra eylül ayının tamamında Türkiye’de S7-PCT v2.1 için çalışacağım. Bu da aslında bir nevi zorunluluktan olmuş durumda. Siemens yine ekonomik kriz bahanesiyle taşeron şirketlerine ağustos ayının son haftasından ekim ayının başına kadar ödeme yapmayacağını bildirmiş durumda. evosoft da %98′i Siemens’e ait olsa da bu taşeron şirket grubunda yer alıyor. Daha önce de anlattığım gibi evosoft çalışanları bu süreyi hiç de ücretsiz olmayan “ücretsiz izin” alarak kullanıyorlar. Hatta bu sefer isteyen senelik izinlerini de kullanabildi. Neyse, olan yine evosoft’a bağlı çalışan şirketlere olacaktı. Özellikle benim durumumda şirketler ne yapacaklarını kara kara düşünüyorlardı. Ekim ayına kadar kullanmam gereken bir haftalık izni kullanmam gerektiğini biliyordum. Ancak geriye kalan 4,5 haftalık süre için bir karar verilmemişti. Tahminim bana da “gerçekten” ücretsiz izin verileceği idi. Yine parayı çok umursamayıp uzun bir süre tatil yapmak aklıma gelmedi değil. Ancak bu sürenin tam da Ramazan ayına denk gelmesi, tatil konusunda çok da bir şey yapamayacağımı düşündürdü bana. Tam da bu sırada aklıma önceki projem için çalışmak geldi. Sonuçta v2.0′da benim yaptığım kısım v2.1′de geliştirilmesi gerekenler listesindeydi. Hatta epeyce bir kaynak ayrılmıştı bu konuya. O işi en iyi yapacak olan insan da bendim. O nedenle bu teklifim bütün taraflarda olumlu bulundu. Projede yeterli maddi kaynak da varmış. Sonuçta eylül ayının tamamında evoline’da olacağım. Yapacak bir şey bulup ekonomik krizin beni “teğet geçmesini” sağlayabildim, ama Türkiye’de bulunduğum süreler askerlik ertelemesinde sayılmayacağı için dolaylı olarak Almanya’da daha fazla kalmak durumunda kaldım.

S7-PCT v2.0 çıktı. Buradan ücretsiz indirilebilir durumda. Üşenmezsem bununla ilgili bir yazı daha yazacağım.

Sıra geldi güncelleme kısmına:

Türkiye’de çalışmaya başladım, hatta buradaki günlerimin yarısı bitti bile. Daha önce v2.1 için planlanan özelliklerle uğraşıyorum genelde. Akşamları da Nürnberg’dekinin aksine hareketli geçiyor günler genelde. Epeyce kişinin yüzünü görme fırsatım oldu bu sayede. Bayrama da Nazilli – Denizli – Aydın civarlarındayım, beklerim…

Bilgisayar, Ivır zıvır , , , ,

Yeni Projem

Pazar, 05 Tem 2009

S7-PCT’nin geliştirilmesini Türkiye’ye aktardığımızdan beri biz de takım olarak yeni projelere giriştik. Evosoft’un planı bizi başından beri PROFINET alanında yetiştirip Siemens’in bu taraftan gelecek projelerini üstlenebilmekti. Yeni projelerimiz bu plan doğrultusunda PROFINET üzerine oldu. Takım arkadaşlarımızdan biri doğrudan PROFINET geliştirme ofisinde çalışıyor. Diğer arkadaşlarla birlikte ben de başka bir proje için ofisimizden çalışmaya devam ediyoruz.

Proje aslında ilk aşamasında oldukça belirsizdi. Bir PROFINET sürücüsünü bir platformdan başka bir platforma aktaracaktık. Önceleri hedef platform Vista ya da Win7 olarak konuşuldu ama daha sonradan Windows Embedded CE 6.0 olmasına karar verildi. Şimdilik ilk adımları atıyoruz. Benim başından beridir görevim çalışma ortamını ayarlamak. Bu nedenle birkaç aydır kurulumlar ve ayarlarla boğuşuyorum diyebilirim. İlk önce Windows Vista ve 7′nin “checked” versiyonlarını indirip kurdum. Bu checked versiyon denilen şey Microsoft terminolojisinde hata ayıklama (debug) sembollerine sahip olan versiyon anlamında kullanılıyor. Bunları kurduktan sonra doğrudan işletim sistemi çekirdeğinden gelen mesajları görme imkanına sahip oluyorsunuz, ki bu da sürücü geliştirmesinde faydalı olabiliyor(muş). Debug penceresinden örnek bir görüntüyü aşağıya yapıştırdım (Windows 7 RC):

Win7Debug-1

Denemelerimin tamamını Vmware altında yaptığım için tahminen normalde çıkmayan bazı hatalarla karşılaştığım zamanlar da oldu. Örneğin Vista, normal çalıştırıldığında daimi mavi ekran veriyordu. Kernel debug modunda çalıştırıldığında sebebi anlaşılıyordu: Hata yakalanmış (debug assertion), devam et demeden ileri gitmiyor sistem. Aşağıda bunun da ekran görüntüsü var.

VistaDebug-2

Neyse, hedef sistem olarak Windows Embedded CE 6.0 (WinCE diyeceğim bundan sonra) seçilince yukarıda yaptıklarım biraz anlamlarını yitirdiler tabi. Bu sefer WinCE’yi Vmware üzerine kurmak ile uğraşmaya başladım.

Bir süre sonra farkına vardım ki WinCE konusunda internetteki bilgi yok denecek kadar az. Bir dizi Çinli internet sitesi çıkıyor google aramalarında devamlı. Durum o kadar vahim ki bu Çince siteleri Google translate ile okumak durumunda kaldım. Bu arada burada yeri gelmişken bir parantez açmak istiyorum. WinCE’nin hedef işletim sistemi olarak seçilmesinde bizim etkimiz sıfır. Hatta bana kalsa bu işe başlamazdım. Gerçek zamanlı ve/veya gömülü sistemler için çalışan daha özgür ve daha iyi birçok alternatif varken WinCE’yi bir platform olarak seçmek çok akıl karı bir iş değil bence. Bir de normalde Microsoft’un en büyük avantajlarından biri olan yaygınlık ve destek bu sistem için mevcut değilken yapılan iş biraz saçma kaçıyor. Ama tabii ki her zaman için geliştiriciler ile pazarlamacılar aynı fikirde olmayabiliyor. Para da pazarlamacıların elinde olduğu için bu tarz seçimler yapılabiliyor.

Neyse, bir süre uğraştırdı ama şu anda Vmware altında çalışan bir WinCE’miz mevcut. Yalnız bu sistem ethernetten debug edilme ihtiyacını karşılayamadığı için bir başka alternatif olan Virtual PC’ye yöneldim. Birkaç gün sonra ethernet debug desteği ile birlikte o da hazır hale geldi.

wince_vmware

Özellikle bu sanallaştırma yazılımları altında WinCE çalıştırma konusunda edindiğim bilginin diğer birçok geliştiriciye de yardımcı olabileceğini düşünüyorum. Bu işleri yaparken bir yandan da unutmamak için yaptıklarımı doküman haline getirdim. Proje liderimden de izin çıktı, onları da şöyle güzel bir makale haline getirip bir yerlerde yayınlayacağım. Normalde buraya İngilizce yazı yazmıyorum ama bu seferlik bir istisna yapabilirim.

Bu şekilde başlamış olduk projeye. Çalışma ortamı birkaç küçük testin ardından geliştirmeye hazır hale gelecek. Umarım sonu da başlangıcı gibi iyi olur.

Bilgisayar , , , , , ,

WordPress Eklentileri

Salı, 26 May 2009

wordpress-pluginWordPress gerçekten eklenti desteği ile harikalar yaratıyor.  Her işe koşan bir eklenti bulunabilmesi, tek tuşla kurulum ve güncelleme en beğendiğim özellikleri. Yalnız eklenti bolluğu seçim yapmayı da zorlaştırıyor. Ben de yeni WordPress kullanıcıları ile kullandığım eklentileri paylaşmak istedim. Belki bir gün gelir bana da lazım olur.

AddThis Social Bookmarking Widget: Rss beslemelerinin rss okuyucularına daha kolay eklenmesini ve yazılarımın paylaşım sitelerinde daha kolay paylaşılmasını sağlayan bir eklenti kendisi. Yazıların altındaki “share” butonunu ekliyor.

ANIga gallery: Gelişmiş bir fotoğraf galerisi eklentisi. Albüm, alt albüm ve her fotoğraf için yorum desteği diğer fotoğraf gelerisi eklentilerden farkını oluşturuyor. Kurulumundan sonra kullandığınız temaya göre bazı ayarlar yapmanız, bunun için de biraz koddan anlıyor olmanız gerekiyor, yoksa galeri sayfaları epey kötü görünüyor. Ben de bir heves yüklemiştim kendisini. Ama artık bu iş için Facebook’un daha iyi olduğunu düşündüğümden yeni foto eklemiyorum. Var olanları da üşenmeyip Facebook’a aktarabilirsem sileceğim bu eklentiyi.

FD Feedburner Plugin: RSS beslemelerinin Feedburner’a yönlendirilmesini sağlıyor. Bu sayede abone sayımı öğrenebiliyorum.

FeedBurner Feed Stats: Abone sayımı ve birkaç istatistiği Feedburner’ın sitesine girmeden öğrenebilmek için de bu eklentiyi kullanıyorum.

Flash Video Player: Adından anlaşılıyor sanırım. Videolar bölümünde kendi sunucumda tuttuğum videoların görüntülenmesini sağlıyor. Sanırım WordPress’in yeni sürümlerinden birinde bu destek doğrudan var, yani artık pek gerek kalmadı gibi buna da.

Google Analyticator: Siteyi Google’ın site istatistiği servisi Analytics altında izlemeyi sağlıyor. Bu sayede sunucudaki çağ dışı kalmış istatistik programlardan sonuç çıkarmaya çalışmaktansa google hesabınızla giriş yapıp sitede neler oluyor tek bir merkezden görebiliyorsunuz. Bütün internet sitesi yöneticilerine tavsiye ederim.

Google XML Sitemaps: Favori eklentim. Sitenizin birçok arama motorunda (Ask.com, Google, MSN Search ve Yahoo) daha iyi bulunabilmesi için gerekli olan site haritasını çıkarır ve bunu arama motoru botları için sitede hazır eder. Her yeni yazınızda da kendini günceller. Google Analytics ile kullanıldığında yeni yazdığınız yazıların birkaç gün içinde nasıl kullanıcı çekmeye başladığını birebir fark edebilirsiniz. Ben de en son HTC Touch HD yazımda fark ettim bu durumu.

MaxBlogPress Ping Optimizer: Kendisi siteyi ping servislerinden atılmaktan koruduğunu iddia ediyor. Çok bir fikrim yok, görünce kurmuştum, duruyor öyle…

WP-reCAPTCHA: Yorumlar için reCAPTCHA onay metinlerinin çıkmasını sağlıyor. Hem yorum spamlerinden korunmuş, hem de dolaylı yoldan kitapların elektronik ortama aktarılmasına yardım etmiş oluyorsunuz.

WP Super Cache: Yazılarınıza ait internet sayfalarının ilk çağırıldıklarında statik kopyalarını alan, bu sayede veritabanı ve dinamik sayfa oluşturmada geçen zamanı yok ederek sayfalarınızın hızlı yüklenmesini sağlayan bir eklenti. Sunucu isteklerini minimuma indirdiğinden siteniz aniden ünlü olursa “Sunucum dayanır mı?” sorularınızı da önemsizleştiriyor.

Bilgisayar, Site , ,