Şimdi daha önce hazırlamış olduğumuz OS design içine subproject olacak c/c++ projesi ekleyeceğiz.Visual Studio Ide’sinden Solution Explorer penceresine geçelim. Listenin en altındaki Subprojects’i seçip sağ click yaparak Add New Subproject’i seçelim. Açılan pencereden WCE Console Applicaton seçip subproject name kısmına MyHelloWolrd yazalım.(Resim 21)
Next’e tıklayıp devam edelim. Gelen Pencereden A typical “Hello World” application seçip Finish diyelim.(Resim 22) Böylece ihtiyacımız olan tüm kodlar hazırlanmış oldu ve MyHelloWorld projesi subprojecte eklenmiş oldu.Solution View’de subprojects altında MyHelloWorld folderını da görebilirsiniz.
Şimdi Solution Viewer’dan MyHelloWolrd projesine sağ click yapıp Build edelim. Burası çok önemli sakın tüm projesi Build etmeyin sadece MyHelloWolrd Projesi build edilmelidir. Aksi takdirde gereksiz yere zamanınız gidecektir. Çünkü tüm solutionun build edilmesi 20 dk sürebilir.
Build işlemi bittikten sonra Output penceresinden build işleminin başarılı bir şekilde bittiğini kontrol edelim.
Herseyin bağlı ve çalışır durumda olduğundan emin olduktan sonra TargetàReset Device deyip cihazi Reeset atalim.Böylece cihaz yeniden Bootme göndererek tüm image‘i subproject ile beraber download edecektir.Eğer olmazsa targetàDetach Device , sonra da eBox kapatıp yeninden açıp bir önceki adımları teker teker yaptığınızda yeni OS Image download edecektir. Böylece yeni eklediğimiz MerhabaDunya projesi de image ‘in içinde cihaza gitmiştir.Ve artık çalıştırabiliriz.
Aşağıdaki kod otomatik olarak üretilmiştir.
// MerhabaDunya.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
int _tmain(int argc, TCHAR *argv[], TCHAR *envp[])
{
_tprintf(_T("Merhaba Embedded Dunyasi! "));
return 0;
}
Bu kodu isterseniz kendimizde edit edebiliriz. SubProjectsàMerhabaDunyaàSource FilesàMerhabaDunya.cpp dosyasını seçerek edit edebiliriz.
_tprintf komutu console ekranında Unicode mesaj gönderir ve bu mesaj ilk çalıştırma sırasında ekranda görünür ve derhal kapanır. Bu sebeple mesajın geldiğini görebilmek ve debug nasıl edilebildiğini gösterebilmek için programın en sonundaki } yere bir adet break point koyalım. Böylece programdan çıkmadan burda bekletebilelim.(Resim 23)
Şimdi programı çalıştırabilmek için TargetàRun Programs seçelim.
Açılan pencereden aşağı kaydırarak MerhabaDunya.exe yi bulup Run diyelim.
Birkaç saniye sonra Ebox ekranında program çalışır olacaktır. Resim 24’te görebiliriniz.
Şimdi bu durumda break point koyduğumuz yerde proje Debug mode geçip beklemektedir.(Resim 25)
Program bu noktada Stop ettikten sonra DebugàStart diyerek breakpoint’ten sonraki kısma geçebilirsiniz. Böylece eBox’taki console kapanmış olacaktır.
Böylece başarılı bir şekilde C/C++ projesi image ekledik çalışıtırdık ve debug edebildik.
Şimdi bu örnekte yapmış olduğumuz HaytisOS düzgün çalışmakta ve bir problem çıkartamaktadır. Artık son hali olan Release Build edebiliriz. Daha önce de bahsettiğimiz gibi Debug Build Release build’den daha fazla alan kullanmaktadır. Lakin release build’de bu alan yarı yarıya kadar inecektir.Aynı zamanda Debug build daha yavaş çalışıyordu. Release Build daha hızlı çalışacaktır.
Resim 26
Sonra Build à Build MyOS deyip birkaç dakika sonra hatasız bir şekilde Build işlemi sonra erecektir.
Yeniden bir önceki adımları yaparak yeni Release Build Image’i eBox yüklemeyi deneyin. Şimdi Bu durumda eBox 2300 çalışır durumda olacaktır. Eğer bundan sonraki adımları da yapmak istiyorsanız Release Build eBox2300 de çalışır durumda olsun ve Visiual Studio çalışıyor fakat eBox Detach edilmiş olmalıdır. VS ve MyOS bir sonraki adımlar için gerekli olacaktır projeleri kapatmayalım.
Georgia Institute of Technology tarafından hazırlanan A Tutorial Approach with Laboratory Exercises for Windows Embedded CE 6.0 and the eBox 2300 SoC Embedded Computer makalelerinden yararlanılarak hazırlanmıştır.
Hasan AYTIŞ Trakya Universitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Ana Bilim Dalı hasanaytis@trakya.edu.tr