使用TI原廠的 Delfino C28346 DIM168 Experimenter's Kit 帶有XDS100仿真器,並按照下列步驟進行 I2C Boot (不過網路上相關資料實在太少了)
1.利用C:\CCStudio_v3.3\C2000\cgtools\bin目錄下的hex2000.exe將 *.out 檔轉成 *.a00檔
用以下指令
hex2000 project.out -boot -o project.a00 -i2c8 -i2cpsc 29 -i2cclkh 5 -i2cclkl 10 -a
(project.out 於連接XDS100仿真器時有成功運行過)
2.修改TI原廠的 i2c_eeprom 範例,將上述 project.a00 的數據從 0x0000 位址開始寫入板上外擴的EEPROM中,總共 5152 bytes,每寫入8 bytes,隨後都有讀取是否正確
(其實是將*.a00內的值宣告成陣列的方式寫入
Uint16 fp[]={
0xAA,0x08,0x1D,0x00,0x05,0x00,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0xD4,0xA6,........};
)
3.寫入完畢後斷電,將SW1的Jump扳為
I2C EEPROM Boot
GPIO-87: 1
GPIO-86: 1
GPIO-85: 0
GPIO-84: 0
4.上電
不過結果卻無法運行
請問有哪位大大有成功進行I2C Boot的,若要由I2C啟動運行程序的話,是直接將*.a00的資料由0x0000地址逐一寫入,還是須要進行其他配置? |