新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 基于TMS320C6713及AM29LV800B的上電自舉設計

        基于TMS320C6713及AM29LV800B的上電自舉設計

        作者: 時間:2009-08-31 來源:網絡 收藏
        A行利用匯編偽指令“.sect”為引導程序定義了一個段,通過鏈接命令文件將該段程序準確定位在指定的地址空間。B行引用_c_int00子程序,是由系統自動生成的復位中斷服務子程序,利用該子程序使程序在執行完引導程序后跳轉到主程序入口地址執行主程序。
        4.2 對Flash的操作
        對Flash的操作有復位、數據讀、擦除、燒寫。Flash的復位操作相對簡單,只要向Flash任意地址單元寫入數據“0xF0”便可實現其復位操作。數據讀與一般的RAM存儲器相同,但Flash的擦除和燒寫操作卻有其自身特點。
        4.2.1 Flash的擦除
        由于Flash的燒寫操作只能將其內部存儲單元由“1”改寫為“0”,反之不行,所以必須先將Flash內部存儲單元擦除后才能寫操作。也就是說,擦除操作是將Flash內部存儲單元全部寫為“1”。
        由Flash擦除命令字看出,Flash的擦除分為片擦除和扇區擦除,采用片擦除,需要向2個地址寫入不同數,從而擦除整個器件。其擦除子程序代碼如下:

        本文引用地址:http://www.104case.com/article/188692.htm


        擦除操作完成后,可通過CCS查看0x90000000開始的單元,如均改寫成“0xFFFFFFFFF”則表明擦除成功。
        4.2.2 Flash的燒寫
        通常燒寫有兩種方式,一種是在燒寫器上對器件燒寫后再插到PCB板上,待調試完成再將其焊接固定。但目前多采用貼片式元器件,所以方案采用第二種燒寫方法,即在線燒寫法。利用仿真器通過JTAG仿真口按照一定的時序和要求對Flash燒寫。燒寫部分程序代碼如下:


        在A行中,0x555左移1位后加到Flash的起始地址,這是因為寫Flash要求向0x555地址寫入數據“Oxaa”,該地址為Hash的地址,即要求Flash地址線AO~A18上出現0x555數據,由于DSP的第l位地址線EA2與Flash的AO相連,32位DSP對指向“short”型數據的指針操作時會自動將地址左移1位,以滿足對偶地址操作的要求,所以應像A、B行中手動將0x555,0x2aa地址左移l位,再加上DSP自動左移1位,就使地址0x555的第1位出現在EA2上,即AO~A18得到數據0x555,而DSP實際輸出地址為Ox90000AAA。D行的操作是將32位DSP內部RAM中的n個16位二進制數搬移到16位Flash中,指針變量“flash_addr,source”均為指向“short”型數據的指針變量(16位),所以Flash會使用全部的16位數據線,而DSP只使用32位數據線的低16位用于傳輸數據。
        4.3 鏈接命令文件(*.cmd文件)
        鏈接命令文件是DSP開發過程中生成可執行文件(.out)必不可少的一個文件。其作用是對DSP固有段和由用戶自定義的段在使用仿真器load程序時定位,將各段程序分配到存儲器的指定地址。這樣用戶就可以知道引導程序、中斷向量表和主程序在DSP內存空間的準確地址。
        由于待燒寫的引導程序、中斷向量表和主程序需定位在DSP內存Ox00000000~0x00003FFF的地址空間中。燒寫程序需定位在Ox00004000~0x000141FF的地址空間。鏈接命令文件部分程序代碼如下:


        5 結語
        為例,介紹了DSP的上電自舉過程及實現方法,詳細說明了其中關鍵問題及技術難點,并應用程序實例和框圖加深讀者的理解。對于讀者開發TI公司的其他產品也有一定的借鑒作用,特別對于從事DSP設計的入門級人員會有很大的幫助。所涉及的內容均經過實踐證明,運行穩定可靠。


        上一頁 1 2 下一頁

        關鍵詞: C6713 320C 6713 800B

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 辛集市| 大兴区| 永春县| 寿宁县| 宾川县| 灵台县| 八宿县| 镇雄县| 莎车县| 怀化市| 依安县| 贵德县| 兴安县| 如东县| 曲麻莱县| 合阳县| 保康县| 买车| 得荣县| 桐城市| 巴东县| 大厂| 瑞昌市| 昭平县| 合作市| 津南区| 北辰区| 贵溪市| 桐乡市| 和平县| 贺州市| 德江县| 北流市| 比如县| 大方县| 合肥市| 大兴区| 泸定县| 霞浦县| 游戏| 雅安市|