基于S3C2410的Windows CE 5.0 BSP移植
發(fā)布時間:2008/8/27 0:00:00 訪問次數(shù):710
摘要 嵌入式開發(fā)中一個重要的環(huán)節(jié)是板級支持包(bsp)的開發(fā),實際開發(fā)過程更傾向于移植bsp而不是重新開發(fā)bsp。本文先介紹了samsung公司的s3c2410微處理器和嵌入式操作系統(tǒng)windows ce 5.0 特性,分析bsp結(jié)構(gòu),在此基礎(chǔ)上,通過bootloader, oal, 觸摸屏驅(qū)動的移植來具體探討bsp移植過程。
1 引言
在當(dāng)今后pc時代,嵌入式系統(tǒng)應(yīng)用得越來越廣泛,嵌入式產(chǎn)品充斥著許多領(lǐng)域,日常生活的手機(jī),mp4,pda等都屬于典型的嵌入式系統(tǒng)。在嵌入式系統(tǒng)中,微處理器和操作系統(tǒng)是進(jìn)行應(yīng)用開發(fā)的基礎(chǔ)。在微處理器方面,s3c2410是samsung公司推出的一款基于arm920t內(nèi)核的16/32位risc嵌入式cpu,主要面向手持設(shè)備以及高性價比、低功耗的應(yīng)用。在操作系統(tǒng)方面,windows ce 5.0是由微軟提供的一款嵌入式操作系統(tǒng),在windows ce 4.2基礎(chǔ)上,它又加入了一些新特性以滿足市場需求。板級支持包 (board support package,bsp)是操作系統(tǒng)的一個組成部分,提供對硬件的支持。bsp的開發(fā)在整個產(chǎn)品開發(fā)時間上占了很大比例,快速的移植滿足產(chǎn)品需求的bsp在競爭激烈的市場環(huán)境里顯得很重要。目前已有許多關(guān)于s3c2410、windows ce以及bsp相關(guān)的研究報道,文獻(xiàn)[1]研究基于s3c2410的gps通信技術(shù)及實現(xiàn),文獻(xiàn)[2]中詳盡分析windows ce的結(jié)構(gòu),文獻(xiàn)[3]中歸納了windows ce 4.2專用操作系統(tǒng)的定制和裁剪方法,文獻(xiàn)[4]則探討基于dsp嵌入式多媒體應(yīng)用系統(tǒng)板級支持包的開發(fā)。目前關(guān)于windows ce的應(yīng)用主要采用windows ce 4.2及以下版本,本文研究基于s3c2410的windows ce 5.0 bsp移植技術(shù)。
2 windows ce 5.0及bsp結(jié)構(gòu)分析
移植基于s3c2410的windows ce 5.0 bsp,需要分析windows ce 5.0 及bsp結(jié)構(gòu)。windows ce 5.0是一款開放的、可升級的32位嵌入式操作系統(tǒng),具有高可靠性,是一種硬實時嵌入式操作系統(tǒng),它可以在多種處理器架構(gòu)(如x86、mips、arm和sh4)上運(yùn)行,windows ce支持arm體系結(jié)構(gòu),這是基于s3c2410 處理器進(jìn)行bsp移植的前提條件。windows ce 5.0 bsp通常包含以下幾部分:bootloader,oal(oem adaptation layer),設(shè)備驅(qū)動程序,配置文件等。www.51kaifa.com
bootloader是加電即運(yùn)行的一段程序,它初始化硬件,建立系統(tǒng)的內(nèi)存空間映射,為最終調(diào)用系統(tǒng)內(nèi)核做準(zhǔn)備。在windows ce 5.0系統(tǒng)中,它主要用于下載和啟動鏡像nk.bin,也就是兩種工作模式:啟動加載模式:用戶最終使用的產(chǎn)品即為該模式;下載模式:鏡像首先被bootloader下載到目標(biāo)機(jī)的ram中,然后被固化到flash。
設(shè)備驅(qū)動程序按照導(dǎo)出的接口不同可分為:本機(jī)驅(qū)動程序以及流接口驅(qū)動程序.本機(jī)驅(qū)動程序有g(shù)ews.exe加載的鼠標(biāo),鍵盤,觸摸屏,顯示驅(qū)動等。而流接口驅(qū)動程序使用一組流函數(shù)來實現(xiàn),通常由device.exe加載,如網(wǎng)卡,聲卡,usb等。
oal是邏輯上駐留在windows ce內(nèi)核與目標(biāo)設(shè)備之間的代碼層,在物理上oal與內(nèi)核庫連接來產(chǎn)生內(nèi)核可執(zhí)行文件。oal簡化了操作系統(tǒng)與目標(biāo)代碼之間的通信,oal代碼用來處理中斷,記時器,電源管理,通用i/o控制等[5]。
configuration file里面包含的是與生成的鏡像相關(guān)的配置信息。www.51kaifa.com
移植windows ce下s3c2410對應(yīng)的bsp,就是修改windows ce自帶的bsp或者修改硬件平臺以前版本的bsp的幾個主要組成部分,使得bsp能有效支持硬件系統(tǒng)。
3 bsp移植
如果從零開始開發(fā)widows ce 5.0 bsp,則需要相當(dāng)長的時間。通常的做法是:⑴將自己硬件平臺基于windows ce 4.2及以前版本的bsp移植到windows ce 5.0系統(tǒng)上;⑵從windows ce 5.0 bsp中尋找與硬件平臺最接近的作為模板,然后再從自己的硬件平臺上入手做相應(yīng)的修改,從而得到可以在自己系統(tǒng)上使用的bsp。本文探討的bsp移植屬于第一種情況。
本次移植平臺采用的是深圳英蓓特公司的edukitiii實驗箱,微處理器是s3c2410,外帶64m nand flash芯片等相關(guān)硬件資源。軟件資源有:edukit2410包(windows ce 4.2版本下的bsp)。
3.1 bootloader移植
bootloader的執(zhí)行流程如下:
、 執(zhí)行startup.s:對cpu,內(nèi)存控制器,cache等做一些基本的初始化。
、 初始化串口:調(diào)用函數(shù)oeminitdebugserial()來完成。
⑶ 初始化平臺:調(diào)用函數(shù)oemplatforminit(),主要對所需硬件資源進(jìn)行初始化,通常包括:以太網(wǎng)控制器(cs8900a)、系統(tǒng)時鐘、存儲設(shè)備以及其他一些外圍設(shè)備。
、 調(diào)用函數(shù)oempredownload():做一些準(zhǔn)備工作如獲取ip地址,初始化tftp連接等。
、 執(zhí)行函數(shù)downloadimage():下載鏡像到sdram中。www.51kaifa.com
⑹ 調(diào)用oemlaunch()函數(shù)啟動操作映像。
其中startup.s,oeminitdebugserial()可以與oal共享使用,兩函數(shù)的修改在oal移植過程中敘述。
bootloader移植主要過程有:
、
摘要 嵌入式開發(fā)中一個重要的環(huán)節(jié)是板級支持包(bsp)的開發(fā),實際開發(fā)過程更傾向于移植bsp而不是重新開發(fā)bsp。本文先介紹了samsung公司的s3c2410微處理器和嵌入式操作系統(tǒng)windows ce 5.0 特性,分析bsp結(jié)構(gòu),在此基礎(chǔ)上,通過bootloader, oal, 觸摸屏驅(qū)動的移植來具體探討bsp移植過程。
1 引言
在當(dāng)今后pc時代,嵌入式系統(tǒng)應(yīng)用得越來越廣泛,嵌入式產(chǎn)品充斥著許多領(lǐng)域,日常生活的手機(jī),mp4,pda等都屬于典型的嵌入式系統(tǒng)。在嵌入式系統(tǒng)中,微處理器和操作系統(tǒng)是進(jìn)行應(yīng)用開發(fā)的基礎(chǔ)。在微處理器方面,s3c2410是samsung公司推出的一款基于arm920t內(nèi)核的16/32位risc嵌入式cpu,主要面向手持設(shè)備以及高性價比、低功耗的應(yīng)用。在操作系統(tǒng)方面,windows ce 5.0是由微軟提供的一款嵌入式操作系統(tǒng),在windows ce 4.2基礎(chǔ)上,它又加入了一些新特性以滿足市場需求。板級支持包 (board support package,bsp)是操作系統(tǒng)的一個組成部分,提供對硬件的支持。bsp的開發(fā)在整個產(chǎn)品開發(fā)時間上占了很大比例,快速的移植滿足產(chǎn)品需求的bsp在競爭激烈的市場環(huán)境里顯得很重要。目前已有許多關(guān)于s3c2410、windows ce以及bsp相關(guān)的研究報道,文獻(xiàn)[1]研究基于s3c2410的gps通信技術(shù)及實現(xiàn),文獻(xiàn)[2]中詳盡分析windows ce的結(jié)構(gòu),文獻(xiàn)[3]中歸納了windows ce 4.2專用操作系統(tǒng)的定制和裁剪方法,文獻(xiàn)[4]則探討基于dsp嵌入式多媒體應(yīng)用系統(tǒng)板級支持包的開發(fā)。目前關(guān)于windows ce的應(yīng)用主要采用windows ce 4.2及以下版本,本文研究基于s3c2410的windows ce 5.0 bsp移植技術(shù)。
2 windows ce 5.0及bsp結(jié)構(gòu)分析
移植基于s3c2410的windows ce 5.0 bsp,需要分析windows ce 5.0 及bsp結(jié)構(gòu)。windows ce 5.0是一款開放的、可升級的32位嵌入式操作系統(tǒng),具有高可靠性,是一種硬實時嵌入式操作系統(tǒng),它可以在多種處理器架構(gòu)(如x86、mips、arm和sh4)上運(yùn)行,windows ce支持arm體系結(jié)構(gòu),這是基于s3c2410 處理器進(jìn)行bsp移植的前提條件。windows ce 5.0 bsp通常包含以下幾部分:bootloader,oal(oem adaptation layer),設(shè)備驅(qū)動程序,配置文件等。www.51kaifa.com
bootloader是加電即運(yùn)行的一段程序,它初始化硬件,建立系統(tǒng)的內(nèi)存空間映射,為最終調(diào)用系統(tǒng)內(nèi)核做準(zhǔn)備。在windows ce 5.0系統(tǒng)中,它主要用于下載和啟動鏡像nk.bin,也就是兩種工作模式:啟動加載模式:用戶最終使用的產(chǎn)品即為該模式;下載模式:鏡像首先被bootloader下載到目標(biāo)機(jī)的ram中,然后被固化到flash。
設(shè)備驅(qū)動程序按照導(dǎo)出的接口不同可分為:本機(jī)驅(qū)動程序以及流接口驅(qū)動程序.本機(jī)驅(qū)動程序有g(shù)ews.exe加載的鼠標(biāo),鍵盤,觸摸屏,顯示驅(qū)動等。而流接口驅(qū)動程序使用一組流函數(shù)來實現(xiàn),通常由device.exe加載,如網(wǎng)卡,聲卡,usb等。
oal是邏輯上駐留在windows ce內(nèi)核與目標(biāo)設(shè)備之間的代碼層,在物理上oal與內(nèi)核庫連接來產(chǎn)生內(nèi)核可執(zhí)行文件。oal簡化了操作系統(tǒng)與目標(biāo)代碼之間的通信,oal代碼用來處理中斷,記時器,電源管理,通用i/o控制等[5]。
configuration file里面包含的是與生成的鏡像相關(guān)的配置信息。www.51kaifa.com
移植windows ce下s3c2410對應(yīng)的bsp,就是修改windows ce自帶的bsp或者修改硬件平臺以前版本的bsp的幾個主要組成部分,使得bsp能有效支持硬件系統(tǒng)。
3 bsp移植
如果從零開始開發(fā)widows ce 5.0 bsp,則需要相當(dāng)長的時間。通常的做法是:⑴將自己硬件平臺基于windows ce 4.2及以前版本的bsp移植到windows ce 5.0系統(tǒng)上;⑵從windows ce 5.0 bsp中尋找與硬件平臺最接近的作為模板,然后再從自己的硬件平臺上入手做相應(yīng)的修改,從而得到可以在自己系統(tǒng)上使用的bsp。本文探討的bsp移植屬于第一種情況。
本次移植平臺采用的是深圳英蓓特公司的edukitiii實驗箱,微處理器是s3c2410,外帶64m nand flash芯片等相關(guān)硬件資源。軟件資源有:edukit2410包(windows ce 4.2版本下的bsp)。
3.1 bootloader移植
bootloader的執(zhí)行流程如下:
、 執(zhí)行startup.s:對cpu,內(nèi)存控制器,cache等做一些基本的初始化。
、 初始化串口:調(diào)用函數(shù)oeminitdebugserial()來完成。
、 初始化平臺:調(diào)用函數(shù)oemplatforminit(),主要對所需硬件資源進(jìn)行初始化,通常包括:以太網(wǎng)控制器(cs8900a)、系統(tǒng)時鐘、存儲設(shè)備以及其他一些外圍設(shè)備。
、 調(diào)用函數(shù)oempredownload():做一些準(zhǔn)備工作如獲取ip地址,初始化tftp連接等。
、 執(zhí)行函數(shù)downloadimage():下載鏡像到sdram中。www.51kaifa.com
、 調(diào)用oemlaunch()函數(shù)啟動操作映像。
其中startup.s,oeminitdebugserial()可以與oal共享使用,兩函數(shù)的修改在oal移植過程中敘述。
bootloader移植主要過程有:
、
熱門點擊
- 基于嵌入式處理器的電力諧波多功能實時分析系統(tǒng)
- VxWorks下實時多任務(wù)程序的實現(xiàn)
- 基于ARM9處理器的智能導(dǎo)游儀設(shè)計
- ARM、DSP、FPGA的特點和區(qū)別
- 基于CP2200的嵌入式以太網(wǎng)接口設(shè)計
- ucos-ii在嵌入式智能視覺監(jiān)控系統(tǒng)中的應(yīng)
- ARM/uClinux應(yīng)用程序的開發(fā)
- 基于S3C2410的Windows CE 5
- 基于ARM7的LCD設(shè)計與實現(xiàn)
- Linux系統(tǒng)在嵌入式DVR中的應(yīng)用
推薦技術(shù)資料
- DFRobot—玩的就是
- 如果說新車間的特點是“靈動”,F(xiàn)QPF12N60C那么... [詳細(xì)]
- 扇出型面板級封裝(FOPLP)
- 全球首款無掩模光刻系統(tǒng)—DSP
- 紫光閃存E5200 PCIe 5.0 企業(yè)級
- NAND Flash 技術(shù)和系
- 高性能DIMM 內(nèi)存數(shù)據(jù)技術(shù)封
- PCIe Gen4 SSD主控
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究