新聞中心

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

        DSP上電自舉調(diào)試實(shí)驗(yàn)

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

          以下調(diào)試經(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的燒寫程序,很容易出錯的是兩點(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時候,才是真在PA的地址寫數(shù)據(jù)PD。而且對于這款flash,命令的最高位是忽略的。
          如果flash無法擦除和寫入,可以考慮:降低工作頻率,使得讀寫時序滿足flash的 datasheet的要求;檢查是否按照datasheet的發(fā)命令順序,一般是先reset再Chip Erase再Program;再就是用示波器測試一下,看看寫信號和片選信號和數(shù)據(jù)是否都到達(dá)Flash芯片,測試時,可以用一個循環(huán)一直寫flash,如果這些都正常,就是你的寫時序出問題了。
          看看寫時序是否滿足Flash的寫周期時間要求,等待周期是多少,寫周期后的等待時間是多少,也要看讀寫該芯片應(yīng)該插入多少等待(SWWSR寄存器)。實(shí)在不成的話,寫Flash時把時鐘降下來。
          不知道是否正確寫入flash,可以直接用仿真器,上電后先不打開project,添加GEL文件后就可以在ccs中看到data空間的數(shù)據(jù)了。如果是亂七八糟的數(shù)據(jù),有可能是GEL文件中寄存器的設(shè)置不對,但是建議不要修改GEL文件中寄存器的默認(rèn)值。此時可以打開燒寫flash的project,運(yùn)行到reset flash命令后就可以看到
          data空間的數(shù)據(jù)了。
          2、
          程序正確燒寫進(jìn)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)閉
        主站蜘蛛池模板: 枣阳市| 高平市| 柳江县| 伊春市| 那曲县| 苍南县| 东阿县| 福清市| 三河市| 冷水江市| 旌德县| 读书| 龙江县| 嵩明县| 江安县| 黄平县| 宝坻区| 徐水县| 内丘县| 永平县| 贵南县| 鹤庆县| 保靖县| 黄浦区| 新疆| 洛宁县| 新野县| 伊春市| 库尔勒市| 防城港市| 张掖市| 郧西县| 新昌县| 曲松县| 青浦区| 连江县| 绥江县| 新绛县| 鄂州市| 黔西县| 额济纳旗|