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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于TMS320C6000 DSP及DSP/BIOS系統(tǒng)的Flash引導自啟動設計

          基于TMS320C6000 DSP及DSP/BIOS系統(tǒng)的Flash引導自啟動設計

          作者: 時間:2013-03-25 來源:網(wǎng)絡 收藏

          e.JPG
          f.JPG
          DSP/BIOS會根據(jù)配置自動生成CMD文件,指明各個段的存放位置,上述代碼自定義的boot段,應位于DSP內部的地址0-0x3FF處,燒寫FLASH時,將其燒寫到FLASH的地址0-0x3FF空間中。其中的IRAM CODE SIZE和SDRAM CODE SIZE宏,表明程序在DSP內部RAM和SDRAM中的程序大小,可由CCS編譯產(chǎn)生的map文件中得到。在啟動的時候,BootLoader代碼就會首先被加載DSP內部并運行,讀取應用程序到DSP和SDRAM內部,并跳轉到主函數(shù)處執(zhí)行,調度DSP/BIOS的運行。
          部分CMD文件如下:
          g.JPG
          4.2 FLASH燒寫工程程序設計
          用戶的含有BootLoader代碼的應用程序編寫完成,并編譯、調試無誤后,會生成out文件,將其燒寫到FLASH中就可實現(xiàn)FLASH的自動引
          導。燒寫的方法也多種多樣,有經(jīng)過轉換成bin文件的、有用FlashBurn工具燒寫的、FLASH編程器實現(xiàn)的,我們采用自己編寫燒寫代碼的方式
          實現(xiàn)。
          燒寫工程基本要實現(xiàn)的就是對FLASH的擦除和編程,這些子函數(shù)的編寫參照芯片手冊并配合正確的時序都可以正確的實現(xiàn),這里主要講述如何應用子函數(shù)燒寫用戶應用程序。
          由于同時要將兩個不同的工程裝載到系統(tǒng)中,因此兩個工程的各種段是不能交叉的,對稱對于燒寫工程的cmd文件可如下編寫,將其放在DSP內部RAM的最后部分:
          MEMORY
          {
          FLASH:origin=0x90000000,len=0x100000
          SRAM:origin=0x0002D000,len=0x3000
          }
          SRAM指明了燒寫工程的所有代碼和端要放在DSP內部RAM從0x0002D000開始,并占據(jù)0x3000的長度,這主要就是為了避免和用戶應用程序存放空間相互沖突,這點可以根據(jù)實際情況進行調整。
          燒寫工程要將之前通過仿真器下載到DSP或者SDRAM中的程序和數(shù)據(jù)燒寫到FLASH中,部分代碼如下:
          i.JPG
          j.JPG

          5 結束語
          在電子信心技術日益發(fā)展的今天,DSP以及TI針對其DSP推出的DSP/BIOS系統(tǒng)越來越廣泛的得到應用,通過外部FLASH對DSP進行穩(wěn)定可靠的也顯得尤為重要。本文設計的DSP自引導系統(tǒng)在實際工程中得到了驗證,可以穩(wěn)定的實現(xiàn)DSP/BIOS系統(tǒng)的引導,對于不同的應用工程,只需根據(jù)map文件修改簡單的參數(shù)即可,而且對于非DSP/BIOS系統(tǒng)的裸機程序也可用該方法引導。

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

          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();