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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 設(shè)計(jì)基于NXP LPC2000的次級(jí)啟動(dòng)加載程序用于代碼升級(jí)

          設(shè)計(jì)基于NXP LPC2000的次級(jí)啟動(dòng)加載程序用于代碼升級(jí)

          作者: 時(shí)間:2011-03-27 來源:電子產(chǎn)品世界 收藏

            定義系統(tǒng)參數(shù):在調(diào)用IAP命令前,有一些參數(shù)必須事先設(shè)置好,這包括系統(tǒng)時(shí)鐘、IAP調(diào)用的入口地址、存放輸入?yún)?shù)和輸出參數(shù)的變量。

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

            選擇扇區(qū):在對(duì)任何扇區(qū)進(jìn)行擦除或編程前,必須選擇(準(zhǔn)備)這些扇區(qū),當(dāng)然,也可以一次選擇多個(gè)扇區(qū)。

            擦除扇區(qū):在對(duì)閃存的指定扇區(qū)進(jìn)行編程前,必須先擦除這些扇區(qū)。如果這些扇區(qū)已經(jīng)被擦除,則不必再擦除了。可以一次對(duì)多個(gè)扇區(qū)進(jìn)行擦除。

            編程扇區(qū):在這個(gè)階段,數(shù)據(jù)將被從SRAM寫入閃存中的指定地址。這里有幾個(gè)要特別注意的地方:

            ● 只能將位于片內(nèi)SRAM內(nèi)的數(shù)據(jù)寫入片內(nèi)閃存;

            ● 位于片內(nèi)閃存的寫入地址必須是256字節(jié)對(duì)齊;

            ● 片內(nèi)SRAM必須位于局部總線(Local Bus),這就意味著有兩塊SRAM區(qū)域(供USB和以太網(wǎng)使用)內(nèi)的數(shù)據(jù)不能被直接寫入閃存;

            ● 一次寫入的字節(jié)數(shù)必須是256、512、1024或者4096。

            數(shù)據(jù)校驗(yàn):用戶不必自己寫程序每次對(duì)寫入的數(shù)據(jù)進(jìn)行檢查,而是可以直接調(diào)用一個(gè)數(shù)據(jù)校驗(yàn)的IAP命令。

            IAP過程中的中斷

            在擦除和編程操作過程中,片內(nèi)閃存是不可訪問的,當(dāng)用戶程序啟動(dòng)執(zhí)行時(shí),用戶閃存區(qū)域的中斷向量有效。在調(diào)用擦除和編程的IAP命令前,用戶應(yīng)當(dāng)關(guān)閉中斷或者確保中斷向量表在SRAM中有效并且中斷處理函數(shù)也位于SM中。

            IAP使用的RAM

            IAP命令使用片內(nèi)SM最頂端的32字節(jié)空間。最多使用128字節(jié)的??臻g(位于用戶分配的棧內(nèi)),且為向下生長方式。

            和用戶應(yīng)用程序設(shè)計(jì)

            

            每次上電或者復(fù)位后,將會(huì)被運(yùn)行,通過串口打印出一些選項(xiàng),用戶可以選擇繼續(xù)執(zhí)行應(yīng)用程序或者更新程序。

            次級(jí)啟動(dòng)加載程序位于內(nèi)部閃存中從扇區(qū)0開始的若干個(gè)扇區(qū)內(nèi),這些扇區(qū)不能和用戶應(yīng)用程序占用的扇區(qū)重疊。

            另外,由于主程序運(yùn)行在ARM模式,而IAP運(yùn)行在THUMB模式,因此必須做相應(yīng)配置使得次級(jí)啟動(dòng)加載程序里支持ARM和THUMB模式并存。



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