Makale Özeti

Bu çalışmada eBox2300’ de çalışacak bütün özelliklere sahip CE Kernel’in detayları ile birlikte adım adım anlatılacaktır. Tüm özellkleri Kernel’ e ekleyeceğimizden kernel büyüklüğü biraz fazla olacaktır. Ama sizler ihtiyaç duymadığınız servis ve sürücüleri eklemediğinizde kernel küçük boyutlu hale gelecektir.

Makale

Çalışma I: Ebox BSP kullanarak yeni OS Image Kernel İnşaa Etmek

Bu çalışmada eBox2300’ de çalışacak bütün özelliklere sahip CE Kernel’in detayları ile birlikte adım adım anlatılacaktır. Tüm özellkleri Kernel’ e  ekleyeceğimizden kernel büyüklüğü biraz fazla olacaktır. Ama sizler ihtiyaç duymadığınız servis ve sürücüleri eklemediğinizde kernel küçük boyutlu hale gelecektir.Visual Studio 2005 IDE çalıştıralım. CE Geliştirme araçları Visual Studio içine plug-in olarak eklenmektedir. İşlemlere başlamak için Microsoft VS 2005’ i çalıştırmalıyız. Visual Studio çalıştırdığımızda  aşağıdakine benzer ekran karışımıza gelir.

Resim1

Yeni OS tasarım Projesi Oluşturmak

Sırada yeni OS kernel inşaa etmemiz için yeni bir proje açmalıyız.FileàNewàProject seçip açılan formun sol tarafındaki listeden Platform Builder for CE 6.0‘ı seçelim.


Resim 2 

Sağ taraftaki  OSDesign seçip  aşağıdaki Name kısmına projenizin adını verin. Create directory for solution check işareti koyun ve OK basarak devam edin. Birkaç saniye sonra Windows Embedded CE 6.0 Design Wizard çalışmaya başlayacaktır.  Bu Sihirbaz bize basit bazı sorular soracaktır.Next’e tıklayıp devam edelim. 


Resim 3 

Ebox için BSP seçimi

Shirbaz Board Support Package‘ lerden hangisi ile çalışacağımızı bize sormaktadır. BSP, temel sürücüleri ve hedef cihaz platformu  için diğer ihtiyaç olan OS özelliklerini içerir. eBox 2300 için  ICOP_Vortex86_60B:x86 seçip Next ‘e basabiliriz.

Resim 4 

 Design Template Seçimi

Sihirbaz bir sonraki adımda bize hangi  Design Template’ ini kullanacağımızı sorar. Design Template, OS opsiyonlarının piyasada varolan standartlara göre hazırlanmıştır. Herbir Design Template  otomatik olarak sürücüleri ve özellikleri seçer. Sizin sadece yapmanız gereken, ihtiyacınız olmayan gereksiz özellikleri ve sürücüleri çıkartmak yada ihtiyacınız olan diğer sürücü ve özellikleri eklemek olacaktır.Şimdilik biz listeden Industrial Devices seçip devam edeceğiz. Industrial Device   eBox için en iyi seçimdir çünkü birçok özellikler içine eklenmiş olacaktır. Next deyip ilerliyoruz. 


Resim 5

Design Template Değişkenlerinin Ayarlanması

Sihirbazın sonraki adımında  Design Template‘in değişkenlerinin seçilmesi formu gelir. Seçenekler Design Template için en temel yapıyı içerir. Resim 6’da Industrial  Device’lar için seçenekleri gösterir. Listeden Internet Appliance seçelim. Internet Appliance  otomatik olarak networking desteğini içermektedir.Next deyip ilerleyelim.


Resim 6

Media Opsiyonlari ve Uygulamaların Seçilmesi

Resim 7’de, tasarım sihirbazı bize bir çok uygulama ve media opsiyonlarını seçebileceiğimiz ekranı getirir. Yüksek kapasiteli bir kernel oluşturacağımızdan aşağıda listede olanların seçilmiş olduğundan emin olduktan sonra Next deyip sonraki ayar sayfasına geçebiliriz.

• .NET Compact Framework 2.0 ( C# için gereklidir)
• Internet Explorer 6.0
• Windows Media Audio/MP3
• Windows Media Player Application
• Windows Media Player OCX
• Windows Media Video/MPEG-4 Video
• WordPad
• XML MIME Viewer  


Resim 7

Network ve Haberleşme Opsiyonlarının Seçilmesi

Sihirbaz bize bu aşamada Resim 8’deki gibi bir çok network ve haberleşme  opsiyonlarını göstermektedir. Varsayılan seçenekler bu durumda uygundur. Fakat eğer sizin cihazınızda Wi-Fi 802.11 Wireless var ise  bunun için Local Area Network altındaki   Wireless Local Area Network (802.11)  eklemelisiniz. Next deyip bir sonraki seçeneklere gidelim.


Resim 8 

Böylece Proje Yönetimi Sihirbazı sona ermiştir ve Finish’e basabiliriz.

Güvenlik Uyarısını Kabul Etme

OS Design sihirbazı bittikten bir müddet sonra yeni proje dosyalarını ayarlamaları yaparken güvenlik uyarısı karşımıza çıkacaktır. Seçilen componentlerin birer risk oluşturduğunu, her ne olursa olsun cihaz ile uyumsuzluk çıkabilir ve Netwrok bağlantısı olduğundan güvenlik problemleri meydana gelebilir anlamında bir uyarıdır.İşe devam edebilmek için Acknowledge’a tıklayıp devam edeceğiz. Eğer Cancel dersek bu özellik eklenmeyecektir.


Resim 9

OS Design İsteğimize göre Değiştirmek.

Bu noktada aslında OS Design projemiz kurulmuştur. Proje dökümanları Osdesign klasörünün altındaki  bizim vermiş olduğumuz isimdeki klasördedir. Bu design için path, ..\WINCE600\OSDesign \MyOs..
Solution’ın en üst seviyesi OSdesign projesini ve bazı c/c++ uygulamaları içerir. Bu uygulamalara subprojects ve C# uygulamaları olarak proje içinde belirir
Bir sonraki adımda hala OSdesign’ın ihtiyacı olan bazı sürücü ve compenentleri ekleme ile ilgili ayarlar yapılacaktır.


Resim 10 

Catalog Items eğer bir şekilde göremiyorsanız açmak için ,

View àOther Windows àCatalog Items View  şeklinde ulaşabilirsiniz.
Hala OS Kernele birçok şey ekleyebiliriz. Catalog Items View den  seçilerek eklenir.
Eğer bir item eklenmişse yeşil check box belirir.  Yeşil Kare olarak gözükenler ise yeni seçilmiş otomatik olarak eklenecektir. Eklenmeyecek olanlar ise kırmızı  olarak belirir.Şimdi,

Catalog Items View sekmesinden Third Party ağacını açalım.
Buradan eBox tarafından desteklenen display ve audio sürücülerini işaretleyelim.
Audio àVortex86_Audio
DisplayàVortex86_Display
Son olarak yazmış olduğumuz kodların deploy edilip eBox da çalıştırabilmemiz için ConMan Corecon files’ lara ihtiyacımız olacaktır bu VS_2005_CoreCon_X86’ yıda seçmemiz gerekiyor. Eğer bu seçenek görünmüyorsa Setup edilmemiştir. Kurmanız gerekmektedir.

Opsiyonel Kurulumlar:

VS 2005 kullanarak eğer uygulama geliştirmek istiyorsanız;

 Core OS altındaki CEBASE altındaki Applications-End User àCAB File Installer/Uninstaller .  seçilmelidir.

C# Proje geliştirip çalıştırabilmek için;
Applications and Services Developmentà.NET Compact Framework  seçilmelidir.

USB Host desteği sağlayabilmek için;
Core OS altındaki CEBASE altındaki Core OS ServiceàUSB Host SupportàUSB Storage Class Driver seçilmelidir.

Configuration Manager ve  Debug & Release Build

BuildàConfiguration Manager kullanarak Configuration Manageri açalım. Configuration Manager Resim 11’de görüldüğü gibidir. ICOP_Vortex_60B_x86 Debug mode seçili ve aktif  olduğundan emin olunuz. Herbir proje için 2 farklı tipte OS Build i desteklemektedir. Bunlar Debug Build ve Realese Build dir.Debug Build birçok debug mesajlarını yakalamıza ve ilk OS yeni cihaza yüklenirken karşılaşılacak sorunları çözmemize yardımcı olur. Eğer Debug mesajlarını almak istemiyorsak release mode’da Build edebiliriz. Release Build de %40 daha az memory kullanmış oluruz.
Debug mode OS design test edilip sorunlar giderildikten sonra Release Build kullanılarak proje sonlandırılır. Şimdi Configration Manageri kapatabiliriz.


Resim 11

Projenin Build Opsiyonlarının Ayarlanması

OS‘u build etmeden önce hala birkaç ayarları seçmemize ihtiyaç vardır. Solution Explorer i seçerek projenin solution görünümün tabına geçelim kendi OS adnızı (bu proje için MyOs) sağ klik yapıp properties açalım. Properties penceresi açılınca Configuration Properties genişletip ordan  Build Options seçelim  Property sayfası Resim 12’deki gibi görünecektir.


Resim 12 

Şimdi burda aşağıdaki ayarları yapalım
Enable eboot space in memory (IMGEBOOT=1) : Bu özellik ethernet üzerinden debug ve bundling boot loder desteklemesini sağlar
• Enable kernel debugger (no IMGNODEBUGGER=1). Run-time image’in debugger’ının host ile target cihaz arasında bağlantı sağlamasını ve debug mesajlarının iletmesini sağlar.
Enable KITL (no IMGNOKITL=1) KITL, Kernel Independent Transport Layer’ın kısaltılmışıdır, hedef Windows CE ve geliştirme istasyonu arasındaki debug/download bağlantısını  sağlar.

Sakın OK ye basmayın!!! Birkaç ayar daha yapacağız. 

OS Ortam Değişkenlerinin Ayarlanması

Yapılandırma sisteminin ortam değişkenleri çeşitli maddelerin image tarafından hafıza konfigrasyonunun kapsamasını ve kapsamamasını  ve ayarlamak için kullanılır.
Sonraki adım, Property Page’deki Build Options altındaki Environment seçelim.
Burda çok kiritik bir ortam değişkenini set edeceğiz.Resim 13 de görebilirsiniz.
New… butonuna basalım açılan pencereden Variable Name IMGRAM128, Value 1 olarak ayarlayıp OK diyelim. IMGRAM128 ayarlamasını yapma sebebimiz, sonuçta çıkacak olan image’in 128 MB memory nin tüm alanını kullanmasını sağlayacaktır.
Sonuçta eBox 2300 desteklediği toplam ram boyutudur. Şimdi bu ayarı yapmasaydık ne olurdu? Uygulamalarımızda Out of Memory Errors ları görmeyi göze almış olurduk.
Apply tıklayalım ve sonra da OK deyip konfigrasyonu tamamlayalım.


Resim 13

Ortam değişkenlerine başka bir örnek daha verelim fakat bu ayarlamayı bu projemizde yapmayacağız. IMGENFORA=1. the Enfora SA-GL GSM/GPRS Stand Alone Modem. desteği sağlatmamızı sağlar. Şimdi yapılandırma ile ilgili tüm ayarlamalar ve opsiyonlar seçilmiş oldu. Yeni OS image ‘ımızı Build edebiliriz. Yukardaki menüden BuildàBuild Solution seçelim ve Platfom Builder yeni OS image‘ı tüm subprojectleri ile birlikte build etmeye başlayacaktır. İşlemlerin kontrol etmeye, derlemeye, ve binlerce dosyaları birbirleri ile link etmeye ihtiyaç olduğundan Build işlemi 10-20 dk sürebilir. Şunu aklımızdan çıkartmayalım bu işlemleri yaparken herhangi bir virus koruma programı açık ise build çok uzun sürebilir.Çünkü virus programları oluşturulan her dosyayı virus taramasından geçireceğinden işlemler 2 saate kadar çıkabilir. VS 2005 IDE nin altında sağ taraftaki küçük animated bitmap hala build’in devam ettiğini gösterecektir. Eğer Output’da birşeyler olmuyorsa bu icona bakarak build’in devam edip etmediğini anlayabilirsiniz. Bu build işlemi yapılırken geliştirme PCsinde başka bi iş yapmamak çok iyi bir fikirdir. Eğer bu build süresince dosya sistemi ile ilgil işlemler yaparsanız yada başka programlar ile çalışırsanız Build Error gelebilir bu durumda Rebuild etmeniz gerekmektedir. ReBuild bir önceki build dosyalarının hepini temizleyip yerine yeni build

 dosyalarını koyar. Build bittikten sonra Output’da final Build succeeded with no errors mesajını alırısınız. (Resim 14)

 
Resim 14

Build işlemi bittikten sonra oluşturulan dosyalar varsayılan kurulum klasörü altındaki ,
Debug image: 

C:\WINCE600\OSDesigns\MyOS\HaytisOS\RelDir\ICOP_Vortex86_60B_x86_Debug
Release image:
C:\WINCE600\OSDesigns\MyOS\HaytisOS\RelDir\ICOP_Vortex86_60B_x86_Release

Başarılı bir build sonrası çok büyük bir NK.BIN dosyası yukardaki dizinde bulabilirsiniz. Bu sizin yeni Windows Embedded CE 6.0 OS image dosyanızdır.
eBox2300 için yeni image oluşturma işlemleri bitmiştir.
Sonraki çalışmamızda bu yeni oluşturulan image eBox nasıl gönderilip işletim sistemi çalıştırılır bunu anlatmaya çalışacağı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