新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 鐵電存儲器FM18L08在DSP系統中的應用

        鐵電存儲器FM18L08在DSP系統中的應用

        作者: 時間:2011-08-11 來源:網絡 收藏
        3 C5402并行引導裝載模式設計

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

          3.1 C5402的程序引導裝載模式類型:

          C5402提供以下幾種引導裝載模式類型: ① HPI(主機接口)引導裝載模式欲執行的程序代碼通過主機接口總線由外部處理器加載至片內中。當外部處理器將被加載代碼的起始地址(C5402片內地址007FH)的內容改變,便開始執行引導裝載程序。 ② 8位/16位并行引導裝載模式引導裝載程序通過外部并行接口總線讀取存放在外部數據存儲單元中的數據。外部數據單元中的數據是按照一定格式存儲的,其信息包括:欲加載的各段程序代碼、各段程序代碼長度、各段程序代碼存放的目標地址、程序代碼的入口地址以及其他配置信息。 ③ 8位/16位標準串行口引導裝載模式引導裝載程序通過被設置為標準模式的多通道緩沖串口(McBSP)讀取存放在外部數據存儲單元中的數據。多通道緩沖串口1(McBSP1)支持8位串行接收方式,多通道緩沖串口0(McBSP0)支持16位串行接收方式。 ④ 8位串行EEPROM引導裝載模式引導裝載程序通過一串聯的EEPROM讀取存放在外部數據存儲單元中的數據。在此種方式中,EEPROM與設置為SPI工作模式的McBSP1相連接。 ⑤I/O引導裝載模式引導裝載程序通過外部并行接口總線地址為00H的I/O口讀取數據。該外部并口接口總線使用異步握手協議(使用C5402的XF和BIO引腳),使數據傳輸速度可按外部設備的要求執行。

          3.2 C5402并行引導裝載模式設計

          當C5402工作在微計算機模式(MP/MC=0)時,上電后自動運行Bootloader程序,按照HPI引導裝載模式串行EEPROM引導裝載模式 并行引導裝載模式 標準串行口引導裝載模式 I/O口引導裝載模式的順序循環檢測,以決定執行哪種啟動模式。對于以C5402為核心的數字信號處理來說,并行引導裝載模式被認為是最適用的。因為HPI引導裝載模式、標準串行口引導裝載模式和I/O口引導裝載模式只適用于由其它處理器為C5402提供運行代碼的多處理器中,串行EEPROM引導裝載模式只支持價格偏高的SPI端口EEPROM,而并行引導裝載模式可采用的并行EEPROM和Flash種類很多,有的價格比較低,操作起來比較簡單,因而并行引導加載方案是最佳選擇。

          為使C5402能有效地把外擴FRAM中的程序引導到芯片內RAM,需要編制一個引導表。引導表定位于數據空間的4000h~FFFFh段,引導表的內容包含如下幾個方面:(1)引導方式的標識;(2)程序存放的目標首地址;(3)程序執行的入口址址;(4)用戶程序代碼;(5)用戶程序塊長度。引導表結構如表1所示。數據區地址(H) 內容(H) 含義 8000,8001 8002,8003 8004,8005 8006,8007 8008,8009 800A,800B 800C,800D 800E,800F 8010,8011 8012,8013 …… 8030,8053 8054,8055 …… FFFE,FFFF 08,AA 7F,FF 88,06 00,00 00,80 00,44 00,00 00,80 F6,BD F0,70 …… F4,95 00,00 …… 80,00 8位引導標志 SWWSR寄存器初值BSCR寄存器初值 程序入口XPC 程序入口地址 程序段長度 程序存放目標XPC 程序存放目標地址 程序代碼1 程序代碼2 …… 程序代碼N 程序塊結束標志 …… 程序存儲首地址 表1并行引導裝載模式引導表片內ROM的引導程序首先讀取I/O空間的FFFFh地址內容(指定為8000h)作為引導表的起始地址,通過判別引導表起始地址內的引導標識來確定是8位并行還是16位并行引導方式。若引導標識是10AAh,則是16位的并行引導方式;若引導標識是08AAh,則是8位的并行引導方式。當從I/O空間FFFFh地址讀取不到有效的引導標識時,片內ROM的引導程序即讀取數據空間FFFFh的內容作為引導表的起始地址。同樣通過判別引導表起始地址內的引導標識來確定是8位并行還是16位并行引導方式。當EPROM數據位寬是8bit時,則要讀取數據空間FFFFh地址的內容(低字節)和FFFEh地址的內容(高字節)作為引導表的起始地址。 8bit 并行引導裝載的實現電路如圖1所示。其中A15經過非門與/MSTRB相或是為了防止C5402的內部16K DARAM(0000H-3FFFH)與外部FRAM沖突,同時,對應上并行引導裝載模式的引導表設置相對應。

          

          圖1 硬件系統原理圖

          4系統軟件設計

          這個系統中,軟件編程的核心在于按照特定的格式將數據寫到 FRAM中,下面具體介紹軟件系統的設計方法。在TI公司的軟件開發工具CCS(Code Composer Studio)中,匯編器和連接器創建的目標文件采用COFF(Common Object File Format)格式,代碼和數據都按段(Section)來組織設計。先通過CCS將程序下載到硬件系統的C5402的片內DARAM中,再運行程序將所需數據及程序按照表1的格式寫到 FRAM(對應于數據尋址的08000h—0FFFFh)中,斷開硬件系統與CCS環境的聯系,重新上電或復位C5402,將看到燈在閃爍,此時硬件系統已經可以脫機獨立運行了。 .mmregs .data table:.word 08aah ;16位引導標志 .word 7fffh,8806h ;SWWSR寄存器初值和BSCR寄存器初值 .word 0000h,080h,00044h ;程序入口XPC、程序入口地址和程序段長度 .word 0000h,080h ;存放目標XPC和存放目標地址 .global main .text main: stm #07fh,sp stm #0fffeh,ar1 ;向FRAM的07FFEh單元寫入80h st #080h,*ar1+ nop st #00h,*ar1 ;向FRAM的07FFFh單元寫入00h nop stm #table,ar1 ;向FRAM的0000h開始單元依次寫入引導表要求的內容 stm #07h,brc stm #8000h,ar2 rptb loopa ld *ar1+,a nop stl a,*ar2+ ld a,-8,a stl a,*ar2+ loopa: nop nop stm #start,ar1 ;向FRAM中寫入運行程序代碼 stm #21h,brc nop ld *ar1+,a stl a,*ar2+ ld a,-8,a stl a,*ar2+ loopb: nop nop ld #00h,a nop stl a,*ar2+ stl a,*ar2 b $ .sect chengxu ;脫機獨立運行系統程序 start: rsbx xf ;燈亮 …… ssbx xf ;燈滅 …… b start ret .end 主程序中,data段為上電引導程序提供了需要加載的各代碼段的長度、源地址和目的地址這幾個參數。其中,代碼段長度既可以根據載入系統后在CCS反匯編窗口算得,也可以從連接生成的映像文件(后綴為.map)中得到。

          5 結束語

          本文介紹的基于鐵電的DSP 并行引導裝載方案,可以在無需專用燒寫器的情況下,實現DSP脫機獨立運行系統的設計,并且該方案已成功的到一種語音門鎖系統中。實驗結果表明,該方法具有簡化接口電路、節省系統資源、性價比高的優點。但是,如果脫機獨立運行系統程序超過了64K字節,只能采用另外的替代方法,這是在一些電路設計方案論證時需要考慮的問題。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 榆林市| 甘谷县| 丹江口市| 巴塘县| 永兴县| 视频| 唐海县| 上饶县| 博白县| 沅江市| 永昌县| 南木林县| 崇文区| 凤庆县| 周口市| 宣城市| 霍州市| 贵南县| 汝城县| 徐州市| 勐海县| 辽阳市| 中江县| 崇明县| 广汉市| 冀州市| 大英县| 航空| 六安市| 平安县| 东乌珠穆沁旗| 诸城市| 大英县| 阿图什市| 通州市| 永丰县| 隆回县| 贺州市| 饶平县| 长武县| 桑植县|