《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > TMS320C6x DSP的FLASH引導方法研究與實現

TMS320C6x DSP的FLASH引導方法研究與實現

2008-09-05
作者:樊 榮 石 巖 張天序

??? 摘 要: 介紹了TMS320C6x DSP的幾種FLASH引導方法,比較了引導過程中基于軟件流水的數據搬移方法和QDMA方式的數據搬移方法,并介紹了如何利用在系統編程(ISP)對上電" title="上電">上電引導程序" title="引導程序">引導程序進行FLASH編程。通過對實際的TMS32C6711 DSP電路調試實驗,證明了以上方法簡單易行。
??? 關鍵詞: FLASH存儲器? 上電引導? COFF文件格式? DSP

?

??? FLASH存儲器是在EPROM和EEPROM的基礎上發展起來的一種非易失性存儲器,在掉電情況下仍能保證數據不丟失,并能夠在不離開電路板或所在設備的情況下實施擦除和再編程操作。由于其具有結構簡單、維護便利、存取速度快、對環境適應能力強、抗振性能好等優點十分適合于嵌入式系統的設計和開發,并且已成為目前流行的數字信號處理系統的一個基本配置。
??? 在許多DSP的應用中,系統上電后需要將用戶程序從FLASH存儲器引導到高速數據存儲器中運行。這就需要給用JTAG接口調試通過的應用程序添加啟動代碼,將生成的目標文件進行格式轉換使其能在線燒寫" title="燒寫">燒寫,將轉換過的文件利用FLASH燒寫程序在線燒寫到FLASH中。
??? 本文將介紹引導過程中數據搬移的幾種方法,包括QDMA方式的數據搬移方法、CPU直接數據搬移方法以及基于軟件流水的數據搬移方法。經過比較測試,證明了QDMA方式和基于軟件流水的數據搬移方法具有優越性。并且,根據COFF文件格式,編寫了比TI公司的HEX60更為直接的轉換工具,從而簡化了文件的轉換步驟。
1 應用程序的FLASH ROM引導
??? 當DSP的應用程序從FLASH ROM引導時,目標板都有一個自動的引導程序。例如,對于TMS320C6x1x系列,目標板的自動引導程序會在系統上電時將FLASH ROM的前1K空間的內容復制到片內內存自0x00開始的地址空間,并從0x00地址處開始運行。因為需要搬到內存中運行的應用程序的向量表、初始化段等往往超過1K大小,為了能在系統上電時自動引導應用程序運行,就需要在引導的1K代碼中包括自定義的引導代碼,以將額外需要的初始化代碼段和數據段復制到內存中運行。
??? 將FLASH ROM的數據復制到IRAM(內部RAM)中,有兩種方式:一種是直接存儲器訪問(DMA),它是在沒有CPU參與的情況下完成映射存儲空間的數據搬移;另一種是利用CPU直接搬移數據。QDMA是快速的DMA,不需要CPU參與數據傳輸,只需根據要傳遞內容的信息設置QDMA的相應寄存器即可。用CPU直接搬移數據也有兩種方式:一種是不用流水方式,另一種是采用軟件流水方式。
??? 在C6000的匯編中,不同類型指令有不同數目的執行節拍。執行節拍在數量上等于該指令在執行級所需要的時鐘周期。對于所用到的讀取指令ldw和存儲指令stw,分別完成從存儲器到通用寄存器" title="通用寄存器">通用寄存器的數據搬移和從通用寄存器到存儲器的數據搬移。讀取指令ldw需要執行的步驟為?押計算地址、地址送內存、訪問內存、數據送CPU、數據寫寄存器,即執行節拍數為5;而存儲指令stw,執行節拍數為3,需要執行的步驟為ldw的前三步。表1給出了軟件流水前后數據搬移間隔編排的比較表。

?


??? 由表1可見,要將FLASH ROM中的一個數據搬移到IRAM中,需要從FLASH ROM中讀取該數據到通用寄存器(指令ldw),再從通用寄存器中將其讀到IRAM(指令stw)。在軟件流水優化以前,需要至少8個指令周期。采用軟件流水優化以后,根據指令的特點,第0到第4這5個指令周期可連續讀5個數到通用寄存器,從第5到第9這5個指令周期再順序地將讀入通用寄存器的上述5個數讀出到IRAM。于是,在10個指令周期內,可完成5個數據的搬移,從而使搬移周期下降到了兩個指令周期,提高了CPU的運行效率。
2 QDMA方式和CPU直接數據搬移方式的比較
??? 由于前面已比較了CPU直接數據搬移的兩種方式,下面著重對QDMA方式和基于軟件流水的CPU直接數據搬移方式進行比較測試。這次測試是在TMS320C6711 DSP上進行的,采用的FLASH型號為SST29LE010。首先根據待燒寫應用程序的.map文件找出需搬移的初始化代碼段的大小,其中.text段為0x8c40 byte, .const段為0byte, .cinit段為0x24c byte,共需搬移0x23A3個32bit字。然后利用QDMA方式和CPU流水方式分別從FLASH中讀取0x23A3個32bit字到片內內存中。測量所用時間結果如表2所示。

?


??? 由測試結果可以看出,不需要CPU直接參與數據搬移的QDMA方式比CPU流水搬移更具優越性,搬移速度快且設置簡單。但CPU的流水搬移利用了TMS320C6000系列DSP匯編的特點,深入分析了指令的軟件流水方式,很大程度地提高了CPU的利用率,拓寬了編程思路,也不失為一種好的選擇。
3 利用ISP對上電引導程序進行FLASH編程
3.1 文件格式的轉換

??? 完成了引導程序,包括.cmd文件中內存段的設置及連接設置后,用TI的編程工具CCS(Code Composer Studio)編譯連接生成目標文件(.out文件)。但該.out文件格式是COFF文件格式,FLASH不支持這種格式,所以不能直接寫入FLASH中,必須對該.out文件進行轉換,提取出其中的數據部分,形成數據文件" title="數據文件">數據文件。最后利用燒寫程序將已轉換好的數據文件燒寫到FLASH ROM中。
??? 有兩種方式可將COFF格式文件轉換成數據文件。一種是利用TI公司的HEX6x.exe工具,將生成的.out文件轉化成.hex輸出文件。由于該HEX6x.exe工具是提供給EPROM編程器的,用EPROM編程器可直接燒寫.hex文件。但對于FLASH ROM的在系統編程來說,生成的.hex文件不能直接使用,必須再編寫一段程序將.hex的文件頭去掉?熏分離出數據文件,最后才能由FLASH的燒寫程序將最終的數據文件燒寫到FLASH ROM中。也可以不用TI公司的工具,而根據COFF文件格式直接提取出數據,生成一個數據文件,然后將其燒寫到FLASH ROM中。
??? COFF文件采用的是向量組織方式,可以很靈活地安排代碼段和目標系統存儲器。了解COFF文件的結構,不僅可以清楚.cmd文件的編寫原理,而且可以認識初始化段和非初始化段的區別,同時還可以在轉換文件時減少轉換步驟。COFF文件的格式如表3所示。

?


??? 要提取的數據部分即初始化段是表3的Row data部分,也就是可執行代碼和初始化代碼部分。首先,根據文件頭的信息(文件頭描述了整個文件的全局信息)獲得文件中段的數量,然后根據段的頭(Section header)信息,判斷該段是否為初始化段的頭。因為非初始化段是在程序運行中才分配的,若為初始化段的頭,則取得初始化段的位置,將這些段按地址由低到高的順序復制到輸出文件,便得到了可燒寫的數據文件。其流程如圖1所示。

?


3.2 利用ISP技術燒寫FLASH
??? 燒寫程序負責將前面所生成的數據文件寫入FLASH ROM中,利用ISP技術,就不需要其它編程設備和附加編程電源,直接通過燒寫程序燒寫就可以了。燒寫程序必須根據所用的FLASH的型號來編寫。以SST29LE010為例,其軟件數據保護和頁面寫、芯片擦除、芯片型號軟件檢測等都有不同的指令和時序,如表4所示,需要查閱該型號的芯片手冊,根據手冊完成燒寫程序。

?


??? 在前面的兩節中,結合TMS32C6x系列DSP的特點,介紹了幾種上電引導過程中的數據搬移方法,特別推薦和比較了基于軟件流水思想的CPU數據搬移方法及QDMA方式,還介紹了利用ISP技術對上電引導FLASH編程的基本步驟,及如何根據COFF文件格式將目標文件轉換成數據文件,供FLASH的燒寫程序燒寫。
??? 從編寫引導程序到將引導程序轉換為可供燒寫的數據文件,再到最終的FLASH ROM燒寫,是比較繁瑣的過程。本文所介紹的方法為編寫引導程序拓寬了思路,并簡化了文件轉換的步驟。通過對實際的TMS32C6711 DSP電路調試實驗,證明了以上的方法是簡單易行的。
參考文獻
1 TMS320C6000 Tools: Vector Table and Boot ROM Creation.?TI,2002
2 Developing a DSP/BIOS Application for ROM on the TMS320C6000 Platform with CCS 1.2. TI,2001
3 TMS320C6000 Assembly Language Tools User’s Guide.TI,2001
4 TMS320C6000 CPU and Instruction Set Reference Guide.TI,2000
5 TMS320C6000 Programmer’s Guide. TI,2001

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美成人免费在线视频| 免费影视亚洲| 亚洲成色999久久网站| 一本大道久久a久久精品综合| 国产午夜亚洲精品理论片色戒 | 亚洲一区国产| 亚洲国产一区在线| 久久国产精品毛片| 亚洲深夜影院| 日韩天堂在线观看| 亚洲激情视频| 亚洲第一精品夜夜躁人人躁| 亚洲丝袜av一区| 一区二区激情小说| 亚洲乱亚洲高清| 亚洲欧洲精品一区二区| 在线高清一区| 在线观看日韩av| 一色屋精品视频在线观看网站| 国产欧美日韩三区| 国产精品亚洲美女av网站| 欧美日韩视频免费播放| 欧美精品午夜| 欧美日韩国产不卡在线看| 欧美二区在线观看| 欧美大香线蕉线伊人久久国产精品| 久久美女艺术照精彩视频福利播放| 欧美在线观看视频| 午夜伦欧美伦电影理论片| 亚洲一区欧美一区| 亚洲欧美日韩在线一区| 99亚洲伊人久久精品影院红桃| 亚洲人成免费| 亚洲三级视频在线观看| 亚洲黄色毛片| 亚洲人成网站色ww在线| 亚洲免费观看高清完整版在线观看熊| 亚洲欧美国产va在线影院| 亚洲永久字幕| 亚洲在线成人精品| 亚洲欧美日韩一区二区三区在线观看 | 国产在线国偷精品产拍免费yy| 国产色产综合色产在线视频 | 欧美日韩另类字幕中文| 欧美人在线视频| 欧美三级电影大全| 欧美精品综合| 在线观看91久久久久久| 欧美大胆a视频| 欧美激情自拍| 欧美视频网站| 国产精品欧美日韩一区二区| 国产精品亚洲激情| 欧美日韩精品综合在线| 国产精品99一区| 国产精品视频免费在线观看| 国产精品一区一区| 国内精品免费在线观看| 亚洲高清毛片| 亚洲激精日韩激精欧美精品| 亚洲精品网站在线播放gif| 夜夜嗨av一区二区三区| 亚洲在线1234| 久久精品卡一| 9色porny自拍视频一区二区| 亚洲一区二区三区乱码aⅴ| 欧美亚洲一区二区三区| 久久久久久九九九九| 欧美成人免费大片| 欧美色区777第一页| 国产伦精品一区二区三区视频黑人| 国产一区二区三区奇米久涩| 在线日韩欧美| 亚洲图片欧洲图片av| 欧美在线视频一区二区三区| 亚洲国产天堂久久综合网| 99亚洲一区二区| 亚洲欧美激情视频在线观看一区二区三区| 欧美亚洲日本一区| 日韩视频免费在线| 欧美伊人久久| 欧美成人日韩| 国产欧美一区二区三区在线老狼| 国产欧美一区二区在线观看| 亚洲高清不卡一区| 亚洲小说欧美另类婷婷| 亚洲高清色综合| 亚洲一区精彩视频| 老巨人导航500精品| 欧美日一区二区三区在线观看国产免| 国产日韩精品在线播放| 亚洲精品久久久久久一区二区 | 亚洲在线观看视频| 亚洲破处大片| 久久久久久亚洲综合影院红桃| 国产精品国产福利国产秒拍| 欧美在线观看视频一区二区三区| 91久久精品久久国产性色也91| 亚洲视频一区在线观看| 日韩系列在线| 免费不卡视频| 黄色日韩网站| 久久9热精品视频| 久久丁香综合五月国产三级网站| 国产精品高清免费在线观看| 亚洲美女电影在线| 亚洲精品一品区二品区三品区| 久久久久国产精品一区三寸| 国产乱码精品1区2区3区| 亚洲香蕉视频| 亚洲欧美日韩另类| 国产精品精品视频| 亚洲婷婷国产精品电影人久久| 亚洲午夜视频| 国产精品成人在线| 亚洲午夜久久久| 午夜视频精品| 国产精品专区第二| 亚洲综合视频1区| 午夜精品久久久久久久99热浪潮| 国产精品hd| 亚洲一区二区三区视频播放| 亚洲欧美日韩精品久久| 国产精品欧美一区二区三区奶水| 亚洲系列中文字幕| 欧美一区日韩一区| 国产亚洲欧美日韩一区二区| 欧美在线免费一级片| 久久久91精品国产一区二区精品| 国产欧美日韩在线观看| 亚欧成人在线| 狂野欧美性猛交xxxx巴西| 亚洲成人资源| 一本久久综合| 国产精品久久久免费| 亚洲欧美日韩国产综合精品二区| 久久国产精品99国产精| 狠狠色综合色区| 亚洲精品乱码久久久久久黑人| 欧美另类专区| 一区二区高清| 欧美在线国产精品| 影音先锋成人资源站| 99re8这里有精品热视频免费| 欧美日韩国产不卡| 亚洲网站啪啪| 久久视频这里只有精品| 亚洲激情校园春色| 亚洲欧美一级二级三级| 国内精品国语自产拍在线观看| 亚洲欧洲精品一区二区| 欧美日韩视频在线一区二区观看视频 | 欧美插天视频在线播放| 日韩一二在线观看| 亚洲经典三级| 欧美片第一页| 亚洲高清在线观看| 亚洲午夜高清视频| 国产日本欧洲亚洲| 最近看过的日韩成人| 欧美日韩极品在线观看一区| 亚洲免费在线观看| 久热精品视频在线观看一区| 亚洲美女精品久久| 欧美专区日韩视频| 亚洲国产精品欧美一二99| 亚洲综合欧美| 精品成人国产在线观看男人呻吟| 亚洲精选在线观看| 国产农村妇女精品| 日韩亚洲欧美综合| 国产乱码精品| 日韩一区二区免费高清| 国产伦精品一区二区三区免费迷 | 久色成人在线| 宅男精品导航| 欧美va亚洲va香蕉在线| 亚洲天堂成人在线视频| 久久久亚洲综合| 在线一区日本视频| 久久亚洲美女| 亚洲一区二区三区久久| 蜜臀av国产精品久久久久| 亚洲天堂av综合网| 欧美极品在线播放| 欧美自拍偷拍| 国产精品免费小视频| 日韩午夜中文字幕| 国内一区二区三区在线视频| 亚洲视频精品| 1000部国产精品成人观看| 午夜久久久久久| 亚洲伦理在线观看| 蘑菇福利视频一区播放| 午夜精品一区二区三区四区| 欧美日韩国产免费| 亚洲激情二区| 国产亚洲高清视频| 亚洲欧美日韩一区| 日韩亚洲一区二区|