• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      DSP的自啟動(dòng)程序設(shè)計(jì)

      2018-01-22 19:04:50翟麗杰
      科技視界 2017年30期

      翟麗杰

      【摘 要】介紹了TMS320C6000系列BOOTLOAD的程序功能、特點(diǎn)及設(shè)計(jì)思路,該思路下編寫的BOOTLOAD程序已在SAR數(shù)據(jù)存儲(chǔ)系統(tǒng)上應(yīng)用,運(yùn)行良好。

      【關(guān)鍵詞】DSP;TMS320C6000;BOOTLOAD

      0 引言

      數(shù)字信號(hào)處理器,DSP( Digital Signal Processor),是隨數(shù)字信號(hào)處理理論發(fā)展而專門設(shè)計(jì)的可編程處理器,是現(xiàn)代電子技術(shù)、計(jì)算機(jī)技術(shù)和信號(hào)處理技術(shù)相結(jié)合的產(chǎn)物[1]。由于目前越來越多的嵌入式設(shè)備研發(fā)中采用了的操作系統(tǒng)支持[3],那么必然要根據(jù)目標(biāo)板設(shè)計(jì)引導(dǎo)程序,實(shí)現(xiàn)整個(gè)系統(tǒng)脫機(jī)工作,即系統(tǒng)一開機(jī)運(yùn)行就將程序自動(dòng)加載到DSP的內(nèi)部RAM中,脫機(jī)運(yùn)行,完成系統(tǒng)的功能。

      BOOTLOAD又稱為內(nèi)核引導(dǎo)程序[4],是嵌入式系統(tǒng)在加電后執(zhí)行的第一段代碼,它主要負(fù)責(zé)向內(nèi)存裝載操作系統(tǒng)映像,然后跳轉(zhuǎn)到操作系統(tǒng)所在的空間,啟動(dòng)操作系統(tǒng)運(yùn)行。具體來講即初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,最終調(diào)用用戶程序。

      1 TMS320C6000 DSP特有的二次啟動(dòng)過程

      TMS320C6000系列DSP在復(fù)位時(shí)其片內(nèi)ROM中固化了BOOTLOAD代碼,這段代碼采用DMA方式從CE1指向的外部存儲(chǔ)空間復(fù)制1K的代碼到地址0處,然后跳轉(zhuǎn)到地址0處執(zhí)行。但是實(shí)際情況1K的代碼對(duì)本文設(shè)計(jì)的系統(tǒng)是遠(yuǎn)遠(yuǎn)不夠,因此需要進(jìn)行二次BOOTLOAD。編寫的二次BOOTLOAD代碼應(yīng)該包含在被搬移的1K代碼中,實(shí)現(xiàn)從FLASH存儲(chǔ)器中搬移指定長度的程序代碼以及初始化的數(shù)據(jù)到DSP片內(nèi)RAM中。

      二次BOOTLOAD引導(dǎo)程序主要是將加載地址位于FLASH的數(shù)據(jù)拷貝到RAM中相應(yīng)的運(yùn)行地址。因?yàn)樵谙到y(tǒng)最初啟動(dòng)時(shí),C語言環(huán)境沒有初始化,因此這段程序需要用匯編語言編寫。

      編寫完后在CCS中compile、build,生成可執(zhí)行文件.out;在匯編優(yōu)化后產(chǎn)生.obj文件。該格式文件包含匯編時(shí)匯編器所生成的各個(gè)段,然后命令文件將指導(dǎo)連接器分配各段到相應(yīng)的存儲(chǔ)器中。此時(shí)要注意,加載地址和運(yùn)行地址的不同。加載地址決定二進(jìn)制代碼的存儲(chǔ)位置和程序引導(dǎo)地址。

      2 二次BOOTLOAD固化過程

      與BIOS/OS Load類似,BOOTLOAD通常需要固化在目標(biāo)板中,每次啟動(dòng)目標(biāo)板時(shí)首先運(yùn)行自動(dòng)加載程序,在他完成CPU及相關(guān)硬件的初始化后,才在規(guī)定的地址啟動(dòng)操作系統(tǒng)。BOOTLOAD是嚴(yán)重依賴硬件而實(shí)現(xiàn)的[5],每一種不同體系結(jié)構(gòu)的處理器都有不同的BOOTLOAD,甚至同一種處理器的外圍硬件配置不同,其BOOTLOAD也有差別。

      由于FLASH存儲(chǔ)器具有電信號(hào)刪除功能,且刪除速度快,集成度高,成為嵌入式系統(tǒng)自動(dòng)加載模塊的外部存儲(chǔ)程序的首選存儲(chǔ)器[6]。TMS320C6000系列DSP采用了多種引導(dǎo)配置方式,以決定芯片在復(fù)位后采取何種方式執(zhí)行的初始化操作。

      本節(jié)設(shè)計(jì)的自動(dòng)加載模塊采用EMIF引導(dǎo),即BOOTMODE[4:0]=10。在這種引導(dǎo)啟動(dòng)模式下,芯片復(fù)位后,CPU處于“停轉(zhuǎn)”的狀態(tài),DMA模塊采用默認(rèn)的ROM讀寫時(shí)序從CE1空間起始地址(此時(shí)掛載的是FLASH)上拷貝代碼到地址0處,拷貝結(jié)束,CPU進(jìn)入“運(yùn)行”狀態(tài),從地址0處開始執(zhí)行程序。

      將程序編譯、驗(yàn)證后,進(jìn)行二次BOOTLOAD代碼的固化。上面所寫B(tài)OOTLOAD加載代碼及工程實(shí)際代碼都需要固化在FLASH中。Hex6*.exe是CCS開發(fā)環(huán)境自帶的工具[8],將*.out文件轉(zhuǎn)化為hex格式文件,然后進(jìn)行燒寫。.hex文件格式只含待燒寫的數(shù)據(jù),將數(shù)據(jù)讀入到緩沖區(qū)buff中,然后編寫命令進(jìn)行在線編程,完成燒寫。

      通過編寫自動(dòng)加載代碼,編譯成功后固化在系統(tǒng)FLASH中,就實(shí)現(xiàn)了整個(gè)系統(tǒng)的脫機(jī)加載模塊。

      3 自動(dòng)加載模塊BOOTLOAD測試與分析

      整個(gè)測試分為以下幾步:首先是移植代碼編譯測試,即軟件仿真;其次是固化燒寫,測試程序是否燒寫在FLASH預(yù)先設(shè)定的位置;最后測試系統(tǒng)開機(jī)是否可以自動(dòng)加載,脫機(jī)獨(dú)立運(yùn)行。

      測試軟件環(huán)境為:CCS 3.1 集成開發(fā)環(huán)境;硬件為:SAR數(shù)據(jù)存儲(chǔ)系統(tǒng)

      (1)軟件仿真測試

      打開CCS,新建自動(dòng)加載模塊工程—Bootloader.pjt,運(yùn)行該工程進(jìn)行編譯。整個(gè)自動(dòng)加載模塊代碼沒有錯(cuò)誤也沒有警告運(yùn)行正常,代碼編譯正確,沒有語法和邏輯錯(cuò)誤。

      (2)燒寫固化過程測試

      將已經(jīng)測試過的編譯正確的自動(dòng)加載模塊代碼燒寫固化在系統(tǒng)中FLASH中,這里采用了擦除命令。

      通過擦除燒寫命令,程序依次燒寫至FLASH中預(yù)定的地址,程序燒寫正確。隨后在整個(gè)SAR數(shù)據(jù)存儲(chǔ)系統(tǒng)中測試,系統(tǒng)從上電開始,自動(dòng)加載,接收數(shù)據(jù),在DSP內(nèi)將數(shù)據(jù)處理后存入存儲(chǔ)設(shè)備,說明自動(dòng)加載模塊BOOTLOAD,運(yùn)行良好。

      4 總結(jié)

      隨著DSP越來越廣泛應(yīng)用到各種電子信息產(chǎn)品中,對(duì)產(chǎn)品靈活方便的引導(dǎo)啟動(dòng)方式提出了更高的要求,而通過FLASH存儲(chǔ)器來引導(dǎo)DSP系統(tǒng)自動(dòng)加載已成為常用的方法,這是脫機(jī)運(yùn)行DSP系統(tǒng)的較關(guān)鍵技術(shù)。本文詳細(xì)介紹了基于TI TMS320C6000系列DSP的自動(dòng)加載程序BOOTLOAD的設(shè)計(jì)思路及在硬件上應(yīng)用,本方案在不同的工程中做簡單修改就可以在不同系統(tǒng)中穩(wěn)定的啟動(dòng)裝載。

      【參考文獻(xiàn)】

      [1]彭啟琮,李玉柏,管慶.DSP技術(shù)的發(fā)展與應(yīng)用[M].北京:高等教育出版社,2002:340-345.

      [2]Tetsuya OSHIKATA,Hirofumi MATSUO. Analysis of Dynamic Characteristics For The Partially Resonant Active Filter With The Dsp. IEICE Transactions on Communications.

      [3]李永超,馬金嶺.TMS320C6000系列帶中斷向量表的二次的Bootloader的設(shè)計(jì)與實(shí)現(xiàn).電子工程師.第33卷第3期.2007:45-49.

      [4]劉向宇.DSP嵌入式常用模塊與綜合系統(tǒng)設(shè)計(jì)實(shí)例精講.北京:電子工業(yè)出版社2008:93.

      [5]馬學(xué)文,朱名日,程小輝.嵌入式系統(tǒng)中Bootloader的設(shè)計(jì)與實(shí)現(xiàn).計(jì)算機(jī)工程.第31卷第7期.2005.4.

      [6]張謙,李世杰,李紅波.TMS320C6000系列DSP可選擇引導(dǎo)加載方式的設(shè)計(jì)與實(shí)現(xiàn).電子測量技術(shù).第32卷第7期.2009.7.

      [7]王璐.基于DSP的嵌入式實(shí)時(shí)操作系統(tǒng)的研究.廣東工業(yè)大學(xué)學(xué)位論文2005:13-17.

      [8]紀(jì)震,鐘錦春,強(qiáng)樂.DSP系統(tǒng)入門與實(shí)踐.北京:電子工業(yè)出版社.2006:1-10.endprint

      乌兰浩特市| 从江县| 泰来县| 邻水| 邢台市| 福鼎市| 贵港市| 海安县| 玉屏| 福泉市| 江华| 丘北县| 宣汉县| 昔阳县| 五莲县| 盐亭县| 确山县| 河北区| 建水县| 利川市| 五大连池市| 调兵山市| 商水县| 宝兴县| 阜南县| 娄底市| 鹤山市| 莱芜市| 镇远县| 长阳| 榆社县| 固镇县| 黑河市| 通江县| 渭源县| 即墨市| 扶余县| 呼伦贝尔市| 石门县| 铁岭市| 泾川县|