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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何將系統(tǒng)軟硬件環(huán)境帶到合適狀態(tài)解析方案

          如何將系統(tǒng)軟硬件環(huán)境帶到合適狀態(tài)解析方案

          作者: 時(shí)間:2012-05-31 來源:網(wǎng)絡(luò) 收藏

          其各個(gè)區(qū)域基扇區(qū)地址(把MBR區(qū)的基扇區(qū)地址作為0)計(jì)算如下:

          DBR區(qū)的基扇區(qū)地址=MBR基扇區(qū)地址+63

          FAT表的基扇區(qū)地址=DBR的基扇區(qū)地址+保留扇區(qū)數(shù)

          FDT區(qū)基扇區(qū)地址=每FAT表扇區(qū)數(shù)×FAT表個(gè)數(shù)+(FDT區(qū)的開始簇號(hào)2)×每簇扇區(qū)數(shù)+FAT表基扇區(qū)地址。(簇是進(jìn)行文件管理的單位,F(xiàn)AT表中的每一項(xiàng)對(duì)應(yīng)一個(gè)簇,文件的存取按簇進(jìn)行,一簇包含若干個(gè)扇區(qū)。)

          從FAT文件的組織結(jié)構(gòu)可以看出,從SD卡中讀取內(nèi)核代碼數(shù)據(jù)到指定的RAM區(qū)比較容易,就是根據(jù)系統(tǒng)內(nèi)核文件名在文件系統(tǒng)中進(jìn)行查找定位,隨后完成讀取。對(duì)于內(nèi)核代碼的備份和加載,需要在深入分析FAT文件系統(tǒng)的組織結(jié)構(gòu)的基礎(chǔ)上對(duì)SD卡格式化作一些處理。在格式化時(shí),通過設(shè)置MBR 區(qū)和DBR區(qū)的數(shù)據(jù)實(shí)現(xiàn)不對(duì)SD卡存儲(chǔ)區(qū)的最末8 MB區(qū)域(根據(jù)實(shí)際需要可增減)作格式化處理的目的,即把它置為RAW區(qū)。所以系統(tǒng)內(nèi)核備份的實(shí)現(xiàn),就是把系統(tǒng)內(nèi)核代碼通過SD卡的寫入指令填充到RAW 區(qū)。系統(tǒng)內(nèi)核的加載是從RAW區(qū)直接讀取備份的內(nèi)核代碼。

          3 總結(jié)

          本文所述的內(nèi)核加載啟動(dòng)引導(dǎo)方式已經(jīng)過實(shí)踐驗(yàn)證。它實(shí)現(xiàn)了目標(biāo)板與宿主機(jī)間硬件線路連接的完全脫離,為系統(tǒng)調(diào)試者提供了便利,有效地提高了系統(tǒng)調(diào)試的效率;與此同時(shí),它還能方便地實(shí)現(xiàn)系統(tǒng)的在線更新??梢哉f要進(jìn)行系統(tǒng)啟動(dòng)引導(dǎo)設(shè)計(jì),此方法是一個(gè)不錯(cuò)的選擇。最后說明一點(diǎn),本文介紹的 BootLoader改進(jìn)方法是在LCP2294芯片開發(fā)的LPC22EB06I實(shí)驗(yàn)平臺(tái)上完成的。由于BootLoader與處理器的體系結(jié)構(gòu)和具體嵌入式板級(jí)設(shè)備的配置密切相關(guān),若要在其他的處理器芯片或平臺(tái)上采用上述方法,還需對(duì)BootLoader中與處理器體系結(jié)構(gòu)相關(guān)的代碼作適當(dāng)?shù)男薷?。這部分不是本文探討的主要內(nèi)容,所以在此不再詳述,若有讀者還想詳細(xì)了解相關(guān)內(nèi)容,請(qǐng)查閱相關(guān)論文或書籍。


          上一頁 1 2 3 4 下一頁

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