TMS320C5410燒寫Flash實現并行自舉引導
發布時間:2007/8/20 0:00:00 訪問次數:453
來源:單片機及嵌入式系統應用 作者:唐 冰
摘要:介紹在TMS320C5410環境下對Am29LV200B Flash存儲器進行程序燒寫,并且實現了TMS320C5410上電后用戶程序并行自舉引導。
關鍵詞:Am29LV200B Flash DSP 并行自舉引導 自舉表
Flash是一種可在線進行電擦寫,掉電后信息不丟失的存儲器。它具有低功耗、大容量、擦寫速度快等特點,并且內部嵌入算法完成對芯片的操作,因而在數字信號處理系統中得到了廣泛的應用。本文通過一個完整的實例,介紹Am29LV200B Flash存儲器的燒寫方法,實現TMS320C5410(以下簡稱C5410)上電后用戶程序的并行自舉引導。
1 Am29LV200B Flash存儲器
1.1 Flash存儲器簡介Am29LV200B是AMD公司生產的Flash存儲器,其主要特點有:3 V單電源供電,可使內部產生高電壓進行編程和擦除操作;支持JEDEC單電源Flash存儲器標準;只需向其命令寄存器寫入標準的微處理器指令,具體編程、擦除操作由內部嵌入的算法實現,并且可以通過查詢特定的引腳或數據線監控操作是否完成;可以對任一扇區進行讀、寫或擦除操作,而不影響其它部分的數據。本文中128K×16位Am29LV200B Flash 映射為C5410的片外數據存儲空間,地址為:0x8000~0xFFFF,數據總線16位,用于16位方式的并行引導裝載。128K的Flash ROM用32K地址分四頁進行訪問,上電加載程序時使用Flash ROM的第3頁。
1.2 Flash存儲器的操作命令向Flash存儲器的特定寄存器寫入地址和數據命令,就可對Flash存儲器編程,但要按一定的順序操作,否則就會導致Flash存儲器復位。由于編程指令不能使"0"寫為"1",只能使"1"變為"0",而擦除命令可使"0"變為"1",所以正確順序是先擦除,后編程。下面就介紹幾個常用的操作命令:編程命令、擦除命令、讀數據命令、復位命令。
① 編程命令。該命令向Flash的指定地址中寫入數據,需要四個總線周期,前兩個是解鎖周期,第三個是建立編程命令,最后一個周期完成向編程地址中寫入編程數據,如表1所列。
表1 編程命令
周期 | 1(解鎖) | 2(解鎖) | 3(建立) | 4(編程) |
地址 | 0x555 | 0x2AA | 0x555 | pa(編程地址) |
數據 | 0xAA | 0x55 | 0xA0 | pa(編程數據) |
周期 | 1(解鎖) | 2(解鎖) | 3(建立) | 4(編程) |
地址 | 0x555 | 0x2AA | 0x555 | pa(編程地址) |
數據 | 0xAA | 0x55 | 0xA0 | pa(編程數據) |