TMS320C6x DSP的FLASH引導方法研究與實現
有兩種方式可將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所示,需要查閱該型號的芯片手冊,根據手冊完成燒寫程序。表4 SST29LE010內存指令表 總 線 周 期 命令序列123456地址數據地址數據地址數據地址數據地址數據地址數據軟件數據保護和頁面寫5555AA2AAA555555A0地址數據 芯片擦除5555AA2AAA555555805555AA2AAA55555510芯片型號軟件檢測5555AA2AAA55555590 在前面的兩節點,結合TMS320C6x系列DSP的特點,介紹了幾種上電引導過程中的數據搬移方法,特別推薦和比較了基于軟件流水思想的CPU數據搬移方法及QDMA方式,還介紹了ISP技術對上電引導FLASH編程的基本步驟,及如何根據COFF文件格式將目標文件轉換成數據文件,供FLASH的燒寫程序燒寫。 從編寫引導程序到將引導程序轉換為可供燒寫的數據文件,再到最終的FLASH ROM燒寫,是比較繁瑣的過程。本文所介紹的方法為編寫引導程序拓寬了思路,并簡化了文件轉換的步驟。通過對實際的TMS320C6711 DSP電路調試實驗,證明了以上的方法是簡單易行的。












評論