Embedded & Micro Framework / Windows CE OS Image Içine Bib file Kullanılarak Dosya Ekleme

Yazar:   Hasan AYTIŞ
Tarih:   
Puan:   4 / 5
Verdiğiniz Puan:   

Makale Özeti

Windows CE 6.0 da oluşturacağımız OS Image içine uygulamamızın ihtiyaçları doğurultusunda kendi geliştirmiş olduğumuz DLL dosyaları yada bazı resim dosyaları yada font dosyalarını işletim sisteminde ilgili yere koyabilmemiz için BIB dosyalarında bazı düzenlemeler yapmalıyız.Bu makalemizde BIB dosyası nasıl duzenlenir anlatmayaçalışacağım.

Makale

Platform Builder Yardım dosyaları içinde  Binary Image Builder (bib) dosyaları ile ilgili  fazlaca teknik bilgi mevcuttur.
Yardım der ki;
FILES ve MODULES diye iki bolüm vardır.Bunlardan birini kullanarak dosyalarınızı ekleyebilirsiniz.Fakat hangi dosyaları hangi bolume tanımlayacağız .Onu anlatmaya çalışayım.

 Eğer dosyamız managed code tarafından derlenmiş ise,bu dosyayı FILES bolumunde tanımlamalıyız
 Eğer  dosyamız execute edilemiyorsa, yine FILES bölümünde tanımlama yapıyoruz
 Eğer dosyamız execute edilebiliyorsa , o zaman dosyamızı MODULES bölümünde tanımlıyoruz. Yinede isterseniz bu tür dosyaları da FILES da tanımlayabilirsiniz.
Eğer kafamız karışmadıysa, OS image oluşturulduğunda oluşan romimagedaki bu iki bölüme bakalim,

FILES Bölümü: Herhangi bir değişiklik yapmadan tüm dosyaları FILES bölümüne koyalım. Bu yöntem, text dosyalar,resim dsyalari ve data için uygundur.

MODULES Bölümü: MODULES bölümündeki dosyalar OS Image a konulduğu zaman sabitlenmiş olurlar.Bu şu demektir, dosyalar romimage tarandan modifiye edilir ve ancak  Rom image tarafında  XIP(eXecute In Place) yöntemi ile çalıştırılırlar. Bu durumda eğer image size küçük tutmak için    elki XIP tarafından dosyanın çalıştırılması itemeyebilirsiniz, ama belki de aynı DLL dosyaları hem Kernel alanında hem de user alanında çalıştırmak isterseniz ne olcak.?

bib dosyasındaki bu bölüm şu sekilde tanımlanmıştır.Microsot tan gelen örnek dökümanda ki bu platform Builder ile birlikte geliyor.

MODULES 
.....
List of files
.....
FILES
....
List of files
.... 
bölümlerin sırası pek önemli değildir.Bir den fazla bölüm listelenebilir.Bölüm yeni bölüm başladığı yerde sonra erer.

Bir örnek ile kendi oluşturduğumuz  Haytis.dll  dosyasını OS image a nasıl ekleyeceğimizi görelim, ve bu XIP olarak çalıştırılacak olsun;

XIP olarak çalıştırıalcaksa MODULES bölümüne eklenmelidir. Aynı zamanda bu dll CONFIG bölümünde NK memory alanında olmalıdır.Eğer  OS dan başka bir şey derliyorsanız mesela bootloafer derliyorsanız o zaman işler değişir. NK memory blok ismi Public klasörü içindeki bib files tarafından standart olarak NK edilmiştir.
Şimdi hangi flah leri set edip etmeyeceğimize kara vermemiz gerekmektedir.Bu Flag lerin anlamı :
                sistem dosyaları için --> S 
                gizli dosyalar için       --> H
                 K ise Kernel alanına yükletmek için kullanılır.Sadece Windows  Windows CE 6.0 için gecerlidir.
Bir kere şu kararı vermek bazen çok zor olabiliyor.Dosya hangi isimle OS image içinde yer alacak ve dosya geliştirme bilgisayarımızda nerede olacağına iyi kara vermeliyiz.
Bib dosyası aşağıdaki gibi olacaktır

MODULES
Haytis.dll      $(_FLATRELEASEDIR)\Haytis.dll     NK SHK


Windows CE önceki versiyonlarında ise

MODULES
Haytis.dll      $(_FLATRELEASEDIR)\Haytis.dll     NK SH

Her ikisi de aşağıdaki işlemleri yapacaktır

MODULES bölümünü seç
dosya adını Haytis.dll olarak OS Image da göster.aynı zamanda dosya ismini değiştirmemize gerek yoktur.
romimage a deki Haytis.dll dosyası   _FLATRELEASEDIR kalsörü içindedir.Başka yerde arama
sürcü dosyasını NK memry alanına koy
sürücü dosyasını sistem dosyası ve Gizli dosya olarak belirt.
Windows CE 6.0 için romimage da sürcüyü kernel adres alanında çalıştır.


Sonraki bölüm FILES
font dosyasını OS image içine koyalım. Şunu hatırlatayım OS image FILES bölümündeki dosyaları sıkıştırarak kullanmaktadır.Fakat font dosyasının sıkıştırılması bize problem oluşturabilir bu sebeple sıkıştrımadan dosayyı OS image koymasını söylememiz gerekir bunun için U bayragını kullanacagız.

FILES
FontHaytis.ttf        $(_PROJECTROOT)\Fonts\MyFont.ttf        NK SHU 
 bu şu demektir.
Bölüm FILES i etkin kıl.
OS Image dosya adı FontHaytis.ttf olacaktır.
romimage a deki benim bu dosyam  _PROJECTROOT\Fonts klasörü içindedir.Bu yol standart bir yol değildir. Ama kullana bilirsiniz.
font dosyamı NK memroy bölümünde çalıştır. 
font dosyasını sistem dosyası ,gizli dosya ve sıkıştırma yapma şeklinde ayarla.
5.     
bitti.

Site içerisinde yazılan tüm makalelerin yazım ve yayınlama hakkı aksi belirtilmediği sürece sadece yazarlara aittir.

v3.0 Geri Bildirim (Feedback) Yazgelistir.Com Ekibi - 2012 - Yazgelistir.com