Makale Özeti

Şimdi daha önce hazırlanan OS design içine subproject olacak c/c++ projesi eklenip,Tipik bir Hello World Uygulaması eBox2300 de çalıştırılması anlatılmaktadır

Makale

Çalışma 3 : eBox2300 de çalıştırılmak üzere C/C++ Sub Project oluşturulması,Debug edilmesi, Uygulamının Çalıştırılması

 

Ş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)


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.


Resim 22

Ş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)


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.


Resim 24

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)


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.

Release Build İşlemleri

Ş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.

Visual Studio IDE’yi çalıştıralım ve kendi projemizi açalım. Araçla bölümünden combo box’dan ICOP_Vortex86_60B Release Resim 26’daki gibi aktif edelim.
 


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