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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > TMS320F2812片內(nèi)Flash在線燒寫技術(shù)簡(jiǎn)介

          TMS320F2812片內(nèi)Flash在線燒寫技術(shù)簡(jiǎn)介

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

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

          4.3 底層軟件的定位

          電復(fù)位后,XMP/MC引腳為低電平.目標(biāo)DSP處于計(jì)算機(jī)模式,CPU將從內(nèi)部Boot Rom獲得復(fù)位向量。復(fù)位向量指向Boot Rom并執(zhí)行其內(nèi)部的Bootloader程序,執(zhí)行完畢后確定從內(nèi)部啟動(dòng).程序指針跳轉(zhuǎn)到的Ox3F7FF6處.這個(gè)地址是同定的,因此底層軟件程序必須燒寫在以這個(gè)地址為起始地址的空間內(nèi),或者在0x3F7FF6燒寫一條跳轉(zhuǎn)指令,上電復(fù)位后通過跳轉(zhuǎn)指令跳轉(zhuǎn)到底層軟件程序。

          4.4 用戶應(yīng)用程序的定位

          用戶應(yīng)用程序從main函數(shù)開始,但DSP首先必須調(diào)用_c_int00函數(shù)建立C語言的運(yùn)行環(huán)境,主要包括:建立初始化系統(tǒng)堆棧,把.cinit段中的數(shù)據(jù)表拷貝到.bss段。對(duì)全局和靜態(tài)變量初始化等。_c_int00執(zhí)行結(jié)束后調(diào)用main函數(shù)開始運(yùn)行用戶應(yīng)用程序。因此_c_int00函數(shù)的首地址才是整個(gè)程序的入口點(diǎn)。底層軟件程序執(zhí)行結(jié)束后應(yīng)該調(diào)用_c_int00函數(shù),而不是main函數(shù),可用跳轉(zhuǎn)指令實(shí)現(xiàn),參考程序如下:


          討論的三種燒寫在實(shí)際工程中均得到實(shí)際運(yùn)用。采用作為控制器的數(shù)據(jù)采集系統(tǒng).利用Flash燒寫開發(fā)的試驗(yàn)程序,可以根據(jù)需求及時(shí)更新,有助于產(chǎn)品維護(hù)。為了工程人員在實(shí)際項(xiàng)目開發(fā)中根據(jù)工程階段和現(xiàn)場(chǎng)環(huán)境選擇合適的燒寫方法,文中給出了關(guān)鍵部分程序。經(jīng)過比較發(fā)現(xiàn),基于JTAG口的燒寫技術(shù)適用于研發(fā)調(diào)試階段,而串口燒寫Flash技術(shù)更適用于維護(hù)階段.大大提高系統(tǒng)的可維護(hù)性和可擴(kuò)展性,如在封閉和復(fù)雜環(huán)境下進(jìn)行外場(chǎng)加載和控制時(shí),該技術(shù)具有較好的實(shí)用價(jià)值。

          逆變器相關(guān)文章:逆變器工作原理



          上一頁 1 2 下一頁

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