基于閃爍存儲器的DSP并行引導裝載方法
上電復位后,TMS320VC5409檢測其MP/MC引腳,如果MP/MC=0,DSP從0xFF80h處開(kāi)始執行片內引導裝載程序。進(jìn)入引導程序后,如有INT2請求中斷,則進(jìn)入HPI 引導方式;如有INT3請求中斷,則進(jìn)入EEPROM串行口引導方式;否則就進(jìn)入并行引導方式。其詳細引導過(guò)程如圖3所示。
片內并行引導方式前半部件是I/O空間并行引導方式,我們不采用此方式,程序繼續運行直到從數據空間0xFFFFh地址讀入一個(gè)地址數據,此數據為用戶(hù)自舉表的入口地址。這時(shí)片內引導程序就開(kāi)始執行FLASH中的用戶(hù)自舉表,若自舉表的第一個(gè)字是0x10AA,則表示是16位并行引導模式。
4 FLASH中自舉表(Boottable)的存儲格式
為了實(shí)現DSP加電自舉,FLASH的數據必須按照自舉表的格式“燒寫(xiě)”。自舉表的作用是:DSP運行此表時(shí),首先根據自舉表中前部分用戶(hù)起始地址把后面的用戶(hù)程序代碼加載到DSP片內程序空間中相應的用戶(hù)地址區域(由于FLASH與DSP時(shí)間不匹配,要設置好SWWR和BSCR寄存器),然后根據自舉表中的程序入口址,在程序空間相應的地址開(kāi)始運行程序。表2為16位并行自舉的代碼結構(自舉表在空間允許的情況下可以放幾個(gè)程序代碼段,為便于說(shuō)明,在此只說(shuō)明一個(gè)程序代碼段的情況)。
表2 并行自舉表的代碼結構
下面結合一個(gè)實(shí)例,說(shuō)明利用hex500命令生成二進(jìn)制數據自舉表的方法。
?。?)所編寫(xiě)的一個(gè)用戶(hù)程序名為myblink.C,在編譯鏈接成功后生成的輸出文件名為myblink.out;程序空間的開(kāi)始地址為0x1400h,程序執行的入口地址為0x144Fh。利用hex500工具,生成文件名為myblink.hex的二進(jìn)制數據,hex500命令后添加如下條件:
mybilink.out ;要轉換的.out文件
評論