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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于S3C2440的WinCE Bootloader的分析與設(shè)計(jì)

          基于S3C2440的WinCE Bootloader的分析與設(shè)計(jì)

          作者: 時(shí)間:2011-03-08 來源:網(wǎng)絡(luò) 收藏

          OEMPlatformInit()函數(shù)是BootLoader的最重要的OEM函數(shù),所有與BootLoader所需硬件功能有關(guān)的目標(biāo)平臺(tái)板級(jí)外設(shè)如以太網(wǎng)接口、Fl-ash存儲(chǔ)器等都在這里進(jìn)行初始化,包括CPU芯片內(nèi)置的外設(shè)。它結(jié)束后就開始下載工作了。函數(shù)代碼如下:
          g.JPG
          OEMPreDownload():所有在硬件初始化完成以后、開始下載操作系統(tǒng)鏡像之前所需要處理的任務(wù)都可以放在該函數(shù)完成。它主要任務(wù)是以太網(wǎng)下載前的準(zhǔn)備工作。DownloadImage()的任務(wù)是從遠(yuǎn)程開發(fā)機(jī)上下載操作系統(tǒng)鏡像到RAM。它通過調(diào)用OEMReadData()從下載端口讀取操作系統(tǒng)鏡像的數(shù)據(jù),在本文的EBoot中,該函數(shù)主要負(fù)責(zé)從以太網(wǎng)端口讀取操作系統(tǒng)鏡像數(shù)據(jù);它還調(diào)用OEMShowProgress()函數(shù)用來向用戶顯示BootLoader下載操作系統(tǒng)鏡像時(shí)的下載狀態(tài)。OEMMapMemAddr()函數(shù)用于當(dāng)下載得到的操作系統(tǒng)鏡像自身所記錄的目的地址是Flash存儲(chǔ)設(shè)備時(shí)該OEM函數(shù)要負(fù)債將鏡像的數(shù)據(jù)以重定位的方式暫存到RAM內(nèi)存緩沖區(qū)中。
          OEMLaunch()是最后一個(gè)被BootLaderMain()函數(shù)調(diào)用的。它的主要功能是實(shí)現(xiàn)目標(biāo)系統(tǒng)程序執(zhí)行流跳轉(zhuǎn)。無論BootLoader是通過以太網(wǎng)端口下載操作系統(tǒng)鏡像還是從本地讀取操作系統(tǒng)鏡像到內(nèi)存,都要依靠該函數(shù)將程序的執(zhí)行流從BootLoader轉(zhuǎn)移到Windows CE的操作系統(tǒng)。Downloadlmage()函數(shù)下載的操作系統(tǒng)鏡像是暫存在RAM中的,所以我們還需要在OEMLaunch()函數(shù)指令執(zhí)行跳轉(zhuǎn)之前保存下載所得的操作系統(tǒng)鏡像以及用戶配置數(shù)據(jù)到Flash,以便系統(tǒng)從新啟動(dòng)或者復(fù)位時(shí)可以直接從本地存儲(chǔ)讀取鏡像數(shù)據(jù)。

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

          3 配置文件
          Bootloader源代碼編譯后會(huì)產(chǎn)生一個(gè)名為eboot.exe的可執(zhí)行文件,但寫入Flash的Bootloader是一個(gè)二進(jìn)制的映像文件,也就是.bin文件或.nbO文件,所以需要把eboot.exe文件轉(zhuǎn)換成.bin文件或.nbO文件。

          g.JPG
          4 燒寫B(tài)ootloader
          配置好了之后,在PC機(jī)中編譯產(chǎn)生了Eboot.bin文件,把Bootloader燒寫到目標(biāo)機(jī)中。利用三星公司的sjf2440工具燒寫,使用JTAG實(shí)現(xiàn)下載。BootLoader下載后再通過以太網(wǎng)口把操作系統(tǒng)內(nèi)核鏡像文件下載到目標(biāo)機(jī)中。下載鏡像所使用的軟件是DNW,DNW是三星公司為S3C2 440芯片配置的一款專用軟件,它可以在Windows下通過USB方式燒寫Flash。如圖2所示,內(nèi)核鏡像已下載到NandFlash中。

          i.JPG

          5 結(jié)語
          BootLoader的設(shè)計(jì)和實(shí)現(xiàn)是一個(gè)非常復(fù)雜并且重要的過程,一個(gè)好的Bootloader可以給產(chǎn)品的開發(fā)調(diào)試工作帶來許多便利。本文從源代碼人手詳細(xì)分析了Wince Bootloader啟動(dòng)的兩個(gè)階段以及配置文件信息。實(shí)驗(yàn)達(dá)到了預(yù)期的效果,為項(xiàng)目后續(xù)的開發(fā)奠定了良好的基礎(chǔ)。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 4 下一頁

          關(guān)鍵詞: 嵌入式

          評(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); })();