arşiv

yazılar buna göre etiketlendi; ‘proje’

Üniversite Projeleri

Çarşamba, 05 Eki 2011

Üniversite süresince yapmış olduğum projelerden saklayabildiklerimi ve stajlarda yaptıklarımdan yayınlamaya iznim olanları sitede şu adreste yayınlıyorum biliyorsunuz. Bunları daha erişilebilir ve aranabilir hale getirmek için birkaç gün önce GitHub’a aktarmaya karar verdim. Hepsini bodoslama GitHub’a yollamaktansa biraz tertipli düzenli olmaları için mümkün olduğunca çoğunu Eclipse veya Visual Studio projeleri haline getiriyorum şu sıralar. Bu süreçte şimdiye kadar iki şey dikkatimi çekti:

  1. Epey kötü kod yazıyormuşum o zamanlar :). Özellikle ilk projelerim hatalarla dolu (Halbuki ben hepsini iyi çalışıyor diye hatırlıyordum). Aslında sadece kodları IDE’ye atıp birer kere derleyip çalıştırıyorum, yani öyle hata aramak gibi bir amacım yok ama yine de bu sırada bile bir sürü hatayla karşılaştım. Tamam, o kodları daha programlamaya yeni başlayan birinin yazdığı kodlar olarak değerlendirmek lazım ama yine de yazmadan duramadım. Diğer bir merak ettiğim konu da bundan birkaç sene sonra şu an yazdığım kodlar hakkında ne düşüneceğim…
  2. Eclipse, birden fazla çalıştırılabilir dosya ya da kütüphane içeren C/C++ projelerinin Makefile’ını kendimizin yapmasını şart koşuyormuş. Otomatik algılayayım, gruplayayım, farklı exeler oluşturayım gibi bir derdi yok yani. Bu işlemin Visual Studio’da ne kadar kolay bir şekilde yapılabildiğini bildiğim için epey şaşırttı bu beni (Bir solution altında birden fazla proje oluşturmak). Aslında amacım IDE olarak sadece Eclipse kullanmaktı ama açıkçası Makefile yazmaya üşendim, C/C++ projelerim için Visual Studio C++ Express Edition kullanmaya karar verdim.

Şimdilik bu kadar. İşimi bitirince siteyi zaten güncellemem gerekecek. O sırada tekrar bir yazıyla haber veririm tekrardan.

Bilgisayar, Site , , , ,

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 , , , , , ,