新聞中心

EEPW首頁 > 汽車電子 > DSP上電自舉調(diào)試經(jīng)驗(yàn)

DSP上電自舉調(diào)試經(jīng)驗(yàn)

——
作者: 時(shí)間:2007-03-07 來源: 收藏

以下經(jīng)驗(yàn)的前提:采用的是MP/MC=0的模式,采用ROM中固化的bootloader,flash映射在數(shù)據(jù)空間,曾經(jīng)燒寫過兩類flash:Am29DL400B和SST39LF/VF200A/400A/800A。
1、燒寫flash:
  關(guān)于flash的燒寫程序,很容易出錯(cuò)的是兩點(diǎn):無法正常擦寫,不知道是否正確寫入。
  燒寫flash要嚴(yán)格按照flash芯片的命令順序:以Am29DL400B的寫單元為例:555(地址) AA(發(fā)數(shù)據(jù))——2AA 55—— 555 A0——PA PD
  其實(shí)555 AA都是命令,并不是真的在flash芯片的555地址寫入數(shù)據(jù)AA,只是flash的命令,只有到PA PD時(shí)候,才是真在PA的地址寫數(shù)據(jù)PD。而且對(duì)于這款flash,命令的最高位是忽略的。
  如果flash無法擦除和寫入,可以考慮:降低工作頻率,使得讀寫時(shí)序滿足flash的datasheet的要求;檢查是否按照datasheet的發(fā)命令順序,一般是先reset再Chip Erase再Program;再就是用示波器測試一下,看看寫信號(hào)和片選信號(hào)和數(shù)據(jù)是否都到達(dá)Flash芯片,測試時(shí),可以用一個(gè)循環(huán)一直寫flash,如果這些都正常,就是你的寫時(shí)序出問題了。

  看看寫時(shí)序是否滿足Flash的寫周期時(shí)間要求,等待周期是多少,寫周期后的等待時(shí)間是多少,也要看讀寫該芯片應(yīng)該插入多少等待(SWWSR寄存器)。實(shí)在不成的話,寫Flash時(shí)把時(shí)鐘降下來。

  不知道是否正確寫入flash,可以直接用仿真器,后先不打開project,添加GEL文件后就可以在ccs中看到data空間的數(shù)據(jù)了。如果是亂七八糟的數(shù)據(jù),有可能是GEL文件中寄存器的設(shè)置不對(duì),但是建議不要修改GEL文件中寄存器的默認(rèn)值。此時(shí)可以打開燒寫flash的project,運(yùn)行到reset flash命令后就可以看到

 data空間的數(shù)據(jù)了。
2、自舉:

  程序正確燒寫進(jìn)flash后一般是能夠正常自舉的,如果有問題的話首先應(yīng)該查詢寫入的自舉表是否正確。10AA ,SWWSR(推薦值7FFFH), BSCR(推薦值F800H)這三個(gè)標(biāo)志寫對(duì)了的話就繼續(xù)檢查程序入口XPC,程序入口地址,程序塊長度、存放目標(biāo)XPC、存放目標(biāo)地址,這5個(gè)值任何一個(gè)有問題都無法正常自舉。還有就是數(shù)據(jù)空間FFFFH地址的8000(自舉表存放首地址)是否正確寫入。
  建議燒寫一個(gè)小的程序,比如說讓XF腳產(chǎn)生方波的程序,在XF腳上加一個(gè)LED燈閃爍則表示自舉成功。
PS:調(diào)試的bootloader聰燒寫flash到上電自舉,確實(shí)會(huì)發(fā)生不少問題,需要仔細(xì)檢查,最好閱讀TI的開發(fā)手冊(cè)中相關(guān)文檔:比如TMS320VC5416 Bootloader (Rev. D).pdf



關(guān)鍵詞: DSP 上電

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉