如何將digiview資料轉成HEX
- 2022-10-06
TI的ccs預設生成的是。out格式的檔案,而很多應用場合往往需要的是純二進位制程式碼,TI提供了一個小工具HEX2000能幫助實現格式的轉化,具體的說明還是請參看TMS320C28x Assembly Language Tools手冊。這裡簡單的說明下該工具的使用:
1。hex2000是在ccs安裝目錄下的。
2。hex2000 轉化工具支援多種輸出格式,至於用那種格式,通常是由所用的燒寫器來決定的。常見的有:
Ascii hex: 這種格式其實是會將所有的code轉化為字元形式,比如本來的0x3132, 它就用‘3’ ‘1’ ‘3’ ‘2’來表示,當中有空格,這種格式比較使用透過串列埠等工具來更新資料。
binary:-b 選項,純二進位制格式。它還支援intel,motorola-s, ti-tagged, tektronix等格式。
3。hex2000 有memory width的概念,輸入檔案的(——memwidth),一般來說都是16bit的(因為編譯出來就是這樣的),輸出格式——romwidth,可以指定為8或者16(有些格式不支援16)。如果輸入16,輸出是8,hex工具會自動生成兩個檔案,一個放低8位的資料,一個放高8位的資料。當然你也可以自己制定這兩個檔案的名字。
4。你也可以指定輸出檔案的位元組順序,預設是little-endian,也可以透過-order LD和-order MS來指定大小端順序。
5。 -image選項:開啟該選項,系統會產生一個和你在roms中指定大小一樣的檔案,不足部分用fill的值來替代。如果沒有用該選項,系統只會產生一個實際大小的檔案,比如你想要的空間是0x300000-0x330000,但這裡面只有0x300000-0x310000空間有資料,那系統只會產生這部分的資料,後面部分不會填0;同事如果不使用-image選項,那如果0x300000-0x330000中僅有兩個資料塊,且這兩個資料不連線,不適用該選項則會出現一個壓縮的資料塊,且僅有這兩個資料塊和的outfile。
6。hex2000工具,可以透過命令列透過一句話將所有的引數和輸入輸出寫在一起來執行,比如:hex2000 -t firmware -o firm。lsb -o firm。msb
也可以透過ROMS指令寫一個指令碼檔案,這種指令碼檔案的好處是可以編寫比較複雜的要求,而且易於修改。下面是我的一個參考例子:
1。mc www。hnnedu。com bsp_sd_demo。out
2。-image
3。——memwidth 16
4。——map mcbsp_sd_demo。map
5。——order=LS
6。-b
7。-fill FFFFh
8。ROMS
9。{
10。TEXT: org = 0x00600000, len = 0x2800, romwidth = 8
11。files = {mcbsp。bin}
12。}
上一篇:天帷禁地的怪是什麼屬性的攻擊