新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > DSP上電自舉調(diào)試實驗

DSP上電自舉調(diào)試實驗

作者: 時間:2011-10-06 來源:網(wǎng)絡(luò) 收藏

  以下調(diào)試經(jīng)驗的前提:
  采用的是MP/MC=0的模式,采用ROM中固化的bootloader,flash映射在數(shù)據(jù)空間,曾經(jīng)燒寫過兩類flash:Am29DL400B和SST39LF/VF200A/400A/800A。
  1、燒寫flash:
  關(guān)于flash的燒寫程序,很容易出錯的是兩點:無法正常擦寫,不知道是否正確寫入。
  燒寫flash要嚴(yán)格按照flash芯片的命令順序:以Am29DL400B的寫單元為例:555(地址) AA(發(fā)數(shù)據(jù))——2AA 55—— 555 A0——PA PD
  其實555 AA都是命令,并不是真的在flash芯片的555地址寫入數(shù)據(jù)AA,只是flash的命令,只有到PA PD時候,才是真在PA的地址寫數(shù)據(jù)PD。而且對于這款flash,命令的最高位是忽略的。
  如果flash無法擦除和寫入,可以考慮:降低工作頻率,使得讀寫時序滿足flash的 datasheet的要求;檢查是否按照datasheet的發(fā)命令順序,一般是先reset再Chip Erase再Program;再就是用示波器測試一下,看看寫信號和片選信號和數(shù)據(jù)是否都到達Flash芯片,測試時,可以用一個循環(huán)一直寫flash,如果這些都正常,就是你的寫時序出問題了。
  看看寫時序是否滿足Flash的寫周期時間要求,等待周期是多少,寫周期后的等待時間是多少,也要看讀寫該芯片應(yīng)該插入多少等待(SWWSR寄存器)。實在不成的話,寫Flash時把時鐘降下來。
  不知道是否正確寫入flash,可以直接用仿真器,上電后先不打開project,添加GEL文件后就可以在ccs中看到data空間的數(shù)據(jù)了。如果是亂七八糟的數(shù)據(jù),有可能是GEL文件中寄存器的設(shè)置不對,但是建議不要修改GEL文件中寄存器的默認(rèn)值。此時可以打開燒寫flash的project,運行到reset flash命令后就可以看到
  data空間的數(shù)據(jù)了。
  2、
  程序正確燒寫進flash后一般上電是能夠正常自舉的,如果有問題的話首先應(yīng)該查詢寫入的自舉表是否正確。10AA ,SWWSR(推薦值7FFFH), BSCR(推薦值F800H)這三個標(biāo)志寫對了的話就繼續(xù)檢查程序入口XPC,程序入口地址,程序塊長度、存放目標(biāo)XPC、存放目標(biāo)地址,這5個值任何一個有問題都無法正常自舉。還有就是數(shù)據(jù)空間FFFFH地址的8000(自舉表存放首地址)是否正確寫入。
  建議燒寫一個小的程序,比如說讓XF腳產(chǎn)生方波的程序,在XF腳上加一個LED燈閃爍則表示自舉成功。



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

評論


相關(guān)推薦

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

關(guān)閉