<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Windows CE.NET在S3C2410處理器上的移植

          Windows CE.NET在S3C2410處理器上的移植

          作者: 時(shí)間:2010-09-13 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/151559.htm

            3 CE. NET系統(tǒng)

            3.1 流程

            從根本上說, CE。NET的過程也就是改寫B(tài)SP的過程。BSP又稱板級(jí)支持包,它是一個(gè)包括啟動(dòng)程序、OEM適配層程序(OAL)、標(biāo)準(zhǔn)開發(fā)板(SDB)和相關(guān)硬件設(shè)備的驅(qū)動(dòng)程序的軟件包。BSP是基于 CE。NET平臺(tái)系統(tǒng)的主要部分。操作系統(tǒng)移植步驟為:

            1)對(duì)操作系統(tǒng)進(jìn)行裁減,配置各個(gè)組件并且修改相關(guān)的配置文件;

            2)開發(fā)目標(biāo)設(shè)備系統(tǒng)上的設(shè)備驅(qū)動(dòng)程序,建立定制的CE操作系統(tǒng)映像文件;

            3)將目標(biāo)文件下載到目標(biāo)設(shè)備上進(jìn)行調(diào)試;

            4)定制操作系統(tǒng)內(nèi)核后,導(dǎo)出平臺(tái)SDK,供在Embedded Visual C++中開發(fā)上層應(yīng)用軟件。

            移植流程見圖3

            

            開發(fā)工具Platform Builder自身就提供了多種目標(biāo)板的BSP。如果用戶的目標(biāo)板和Platform Builder提供的相同,那么只需要重新編譯生成相應(yīng)的系統(tǒng)鏡像下載到目標(biāo)板即可。但是實(shí)際情況更多的可能是相同,而板上的外圍設(shè)備接口不同,這時(shí)候只有修改Platform Builder中相同或相近的的BSP來生成一個(gè)新的BSP,這樣就可以大大減少BSP的研發(fā)周期。

            3.2 基于板的BSP開發(fā)

            BSP的開發(fā)主要包括Bootloader、OAL、本地驅(qū)動(dòng)程序的開發(fā)以及一些文件的配置 。

            1)Bootloader就是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過這段小程序,可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。它存放于目標(biāo)平臺(tái)的非易失性存儲(chǔ)介質(zhì)中,如ROM 或Flash。本文移植使用的是華恒公司提供的ppcboot。

            2)OAL即設(shè)備商適配層中位于Windows CE內(nèi)核和目標(biāo)硬件平臺(tái)之間的一個(gè)代碼層。開發(fā)OAL的目的是為了實(shí)現(xiàn)Windows CE。NET內(nèi)核和目標(biāo)硬件之間的通信,包括處理中斷、定時(shí)器等。



          關(guān)鍵詞: 移植 處理器 S3C2410 CE.NET Windows

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();