Windows CE.NET在S3C2410處理器上的移植簡介
3)Device Drivers(驅動程序)是指能夠管理虛擬或者物理設備、協議、服務等的一段軟件模塊,操作系統通過驅動程序直接和硬件打交道。設備驅動設計的具體步驟是通過Platform Builder創建一個新的平臺,然后根據硬件平臺的需要插入和移除驅動,需要修改的文件有Platform。Bib,Platform。reg及驅動程序源代碼等。下面以LCD驅動程序源碼為例,根據華恒的參考資料,需要對PB的原有驅動進行如下修改:本文引用地址:http://www.104case.com/article/148856.htm
WORD TempBuffer[241][320]; // 改后buffer的大小
S3C2410DISP::S3C2410DISP(void)
{
RETAILMSG(0,(TEXT(++S3C2410DISP::S3C2410DISP )));
//setup up display mode related constants
m_nScreenWidth=240; //屏幕寬由原來的480改為240
m_nScreenHeight=320; //屏幕高由原來的640改為現在的320
m_colorDepth=16;
m_cbScanLineLength=m_nScreenWidth*2;
m_FrameBufferSize=m_nScreenHeight*m_cbScanLineLength;
//memory map register access window ,frame buffer,and program LCD controller InitializeHardware();
寄存器設置是由D:WINCE420PLATFORMsmdk2410KERNELHALcfw。c中的InitDisplay函數進行設置。驅動中通過讀注冊表中的相應鍵的值來獲得framebuffer的地址。
[HKEY_LOCAL_MACHINEDriverS3C2410CONFIG]
DisplayDll=s3c2410disp。dll
LCDVirtualFrameBase=dword:ac100000
LCDPhysicalFrameBase=dword:30100000
4)平臺文件的配置。配置文件包括源代碼配置文件和操作系統鏡像配置文件。源代碼配置文件主要是告訴Build工具需要用到的路徑、C或Visual C++的源文件以及生成什么類型的二進制文件等,包括Dirs、Sources、Makefile文件等。操作系統鏡像配置文件則主要用于給Makeimag工具生成操作系統鏡像,包括。bib(二進制映像文件)、。reg(注冊表文件)、。dat(文件系統描述文件)、。db(數據庫文件)。本文中源代碼配置文件只對配置文件做了相應的修改。
利用上述生成的BSP,通過Platform Builder創建一個新的平臺,本文直接選擇Mobile Handheld平臺,接下來根據需要進行選擇。最后在WINCE42OPUBLICplatformRelDirSAMSUNG_SMDK2410_ARMV4Release下得到NK。bin,對其進行壓縮之后燒寫到Flash中。同時導出平臺的SDK,供在EVC上開發應用程序。
3.3 在目標設備上操作系統鏡像的調試
開發板和PC機可以通過串行餅行端口、以太網和JTAG/BDM 來進行操作系統映像的下載。本文中,開發板同PC機接網線、串口線,設定超級終端,最后系統在開發板上運行。
4 結束語
本文簡單介紹了Windows CE。NET在HHARM9-EDU 的移植過程,對于其他處理器平臺,同樣具有參考價值。Windows CE。NET在不同硬件平臺上的移植主要是根據對應的硬件修改BSP的過程,驅動程序的設計是構建BSP的關鍵之一,在沒有新的外設情況下,驅動的設計可以在PB提供的源碼基礎上進行修改。對于有新的硬件設備情況下就要對其進行重新編寫。
評論