電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>DSP>CPLD譯碼的DSP二次Bootloader方法簡(jiǎn)析

CPLD譯碼的DSP二次Bootloader方法簡(jiǎn)析

2017-10-24 | rar | 0.3 MB | 次下載 | 1積分

資料介紹

 隨著數(shù)字信號(hào)處理技術(shù)的快速發(fā)展,數(shù)字信號(hào)處理器DSP)越來(lái)越廣泛地應(yīng)用于各種實(shí)時(shí)嵌入式系統(tǒng)中。當(dāng)系統(tǒng)調(diào)試完畢,想脫離仿真環(huán)境并在上電復(fù)位后自動(dòng)啟動(dòng)程序代碼運(yùn)行時(shí),必須將程序代碼存儲(chǔ)在非易失性存儲(chǔ)器中。Flash存儲(chǔ)器以其大容量和可在線(xiàn)編程等特點(diǎn)已成為DSP系統(tǒng)的一個(gè)基本配置。在系統(tǒng)上電復(fù)位后,DSP芯片內(nèi)部固化的引導(dǎo)裝載器(Bootloader)把應(yīng)用程序從Flash引導(dǎo)到DSP芯片內(nèi)高速 RAM中執(zhí)行。這樣既利用了外部存儲(chǔ)器擴(kuò)展DSP有限的ROM資源,又可以充分保證用戶(hù)程序的全速運(yùn)行[1-2]。
  本文采用德州儀器公司的16位定點(diǎn)DSP芯片TMS320VC5509A(以下簡(jiǎn)稱(chēng)5509A),其PGE封裝形式只有14根地址總線(xiàn)(A0~A13),最大只能尋址16KB的Flash存儲(chǔ)器[3]。若要尋址更大地址空間,就需要控制Flash存儲(chǔ)器的高位地址線(xiàn)。常見(jiàn)的解決方案是采用DSP的通用輸入輸出GPIO(General Purpose Input/Output)引腳來(lái)控制Flash的高位地址線(xiàn),從而實(shí)現(xiàn)Flash存儲(chǔ)器的分頁(yè)訪(fǎng)問(wèn)[5-6]。然而,對(duì)于較大容量的Flash存儲(chǔ)器,如本文采用的Am29LV800的容量為512K×16bit,有19根地址線(xiàn)[4],如果采用上述方法,硬件連接雖然簡(jiǎn)單,但會(huì)占用較多的GPIO引腳,而且以后的系統(tǒng)擴(kuò)展也不方便。本文介紹了一種基于CPLD快速譯碼的DSP二次引導(dǎo)方法,利用CPLD的時(shí)序嚴(yán)格、譯碼速度快、可在線(xiàn)編程等特點(diǎn),在 DSP的外部存儲(chǔ)器接口EMIF(Exteral Memory Interface)的CE2空間模擬了一個(gè)Flash換頁(yè)寄存器FPR(Flash Page Register),在上電復(fù)位后控制Flash的高位地址線(xiàn),從而實(shí)現(xiàn)Flash的分頁(yè)訪(fǎng)問(wèn)。因此,可通過(guò)二次bootloader程序修改FPR的值,控制Flash的高位地址線(xiàn),將最終的應(yīng)用程序加載到RAM中運(yùn)行。
  1 TMS320VC5509A的并行引導(dǎo)模式
  1.1 5509A的引導(dǎo)模式
  5509A的引導(dǎo)模式選擇是通過(guò)4個(gè)模式選擇引腳BOOTM[3:0]來(lái)配置的,BOOTM3~0引腳分別與GPIO0、3、2、1相連。5509A提供了六種引導(dǎo)模式,即EHPI引導(dǎo)模式、8位/16位并行EMIF引導(dǎo)模式、8位/16位標(biāo)準(zhǔn)串行口引導(dǎo)模式、SPI EEPROM引導(dǎo)模式、USB引導(dǎo)模式以及I2C E2PROM引導(dǎo)模式。本文采用16位并行EMIF引導(dǎo)模式,將BOOTM[3:0]設(shè)置為1011即可。
  在16位并行EMIF引導(dǎo)模式下,DSP芯片內(nèi)部固化的Bootloader程序上電復(fù)位后,首先從CE1空間首地址0x200000h處開(kāi)始讀取程序代碼,并加載到RAM中運(yùn)行。
  1.2 5509A的引導(dǎo)表格式
  程序代碼以引導(dǎo)表的格式存儲(chǔ)在Flash存儲(chǔ)器中。引導(dǎo)表是獨(dú)立于所選引導(dǎo)模式的一種特定的格式,包含了用戶(hù)程序的代碼段、數(shù)據(jù)段、段在RAM中的目標(biāo)地址以及程序入口地址等其他相關(guān)信息。5509A引導(dǎo)表結(jié)構(gòu)如表1所示。
  CPLD譯碼的DSP二次Bootloader方法簡(jiǎn)析
  DSP芯片內(nèi)部固化的Bootloader的主要功能是將Flash中存儲(chǔ)的引導(dǎo)表按一定順序加載到 RAM中,然后跳轉(zhuǎn)到32位程序入口地址開(kāi)始執(zhí)行。引導(dǎo)表文件可以通過(guò)TI公司提供的16進(jìn)制轉(zhuǎn)換工具生成,一般是hex格式,然后將此hex文件燒寫(xiě)到 Flash存儲(chǔ)器中供Bootloader加載。
  2 DSP二次Bootloader的原理及實(shí)現(xiàn)
  由上述分析可知,DSP用戶(hù)程序的并行加載過(guò)程是由DSP內(nèi)固化的Bootloader實(shí)現(xiàn)的。由于5509A的PGE封裝只有14根地址線(xiàn),最多只能訪(fǎng)問(wèn)到16K×16bit地址空間。對(duì)于超過(guò)16KB的用戶(hù)代碼,Bootloader將不能加載全部的引導(dǎo)表文件。因此若要加載超過(guò)16K的用戶(hù)代碼,必須進(jìn)行二次Bootloader。
  二次Bootloader的原理是由用戶(hù)自行編寫(xiě)一個(gè)代碼長(zhǎng)度小于16KB的引導(dǎo)程序(以下簡(jiǎn)稱(chēng) uboot),其功能與DSP內(nèi)固化的Bootloader相同,用于加載最終的用戶(hù)代碼。在uboot程序中控制Flash存儲(chǔ)器的高位地址線(xiàn)來(lái)訪(fǎng)問(wèn) Flash的其他存儲(chǔ)內(nèi)容。這樣,DSP上電復(fù)位后,Bootloader首先加載uboot并運(yùn)行,然后uboot又加載最終用戶(hù)代碼,實(shí)現(xiàn)了大于 16K代碼的二次引導(dǎo)。
  2.1 DSP與Flash及CPLD的硬件接口
  本文采用AMD的 Am29LV800作為DSP的外部存儲(chǔ)器擴(kuò)展。Am29LV800按8位方式訪(fǎng)問(wèn),容量為1M字;按16位方式訪(fǎng)問(wèn),容量為512K字。DSP外圍電路邏輯譯碼及Flash高位地址線(xiàn)模擬由CPLD實(shí)現(xiàn)。Xilinx公司的XC9572XL是一款高性能的CPLD芯片,最高主頻可達(dá)178MHz,包含了 72個(gè)宏單元,1 600個(gè)可用門(mén)電路,其TQFP封裝有72個(gè)可用I/O引腳[7]。圖1是5509A與CPLD及Flash之間的硬件接口設(shè)計(jì)原理圖。
  CPLD譯碼的DSP二次Bootloader方法簡(jiǎn)析
  如圖1所示,5509A的地址線(xiàn)A[13:1]與Flash的地址線(xiàn)A[12:0],A0未用。Flash存儲(chǔ)器被映射到DSP的CE1空間,由片選線(xiàn)CE1經(jīng)CPLD譯碼后選通。其中DSP的地址線(xiàn)A13和A[3:1]與CPLD接口,用于換頁(yè)寄存器FPR的模擬。Flash存儲(chǔ)器的BYTE引腳經(jīng)上拉后接高電平,即按16位方式訪(fǎng)問(wèn)。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1489次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  91次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開(kāi)關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  9次下載  |  免費(fèi)
  11. 6基于A(yíng)T89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  12. 0.11 MB  |  4次下載  |  免費(fèi)
  13. 7基于單片機(jī)和 SG3525的程控開(kāi)關(guān)電源設(shè)計(jì)
  14. 0.23 MB  |  3次下載  |  免費(fèi)
  15. 8基于單片機(jī)的紅外風(fēng)扇遙控
  16. 0.23 MB  |  3次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專(zhuān)業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30319次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537791次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233045次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)