国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于閃存TMS320VC5409DSP并行引導裝載方法

發布時間:2010-6-28 16:53    發布者:我芯依舊
TMS320VC5409是TI公司推出的新一代的高性能、低價位、低功耗數字信號處理器(DSP)。與現在流行的TMS320C5409相比,性能提高了60%,功耗效率提高了50%。它的應用對象大多是要求能脫機運行的內嵌式系統,如機頂盒(STB)、個人數字助理(PDA)和數字無線通信等。閃爍存儲器(FLASH MEMORY)是可以在線電擦寫、掉電后信息不丟失的存儲器。FLASH與EPROM相比,具有更高的性能價格比,而且體積小、功耗低、擦寫速度快、使用比較方便。因此,采用FLASH存儲程序和固定數據是一種比較好的選擇。AMD公司的AM29LV400B FLASH可以直接與DSP相接。

1 Am29LV400B的主要特點及編程方法

Am29LV400B是AMD公司新推出的256K×16位產品,具有以下主要特點:

(1)支持單電源操作,可分為滿負荷電壓供電(2.7V~3.6V)和電壓范圍可調節(3.0V~3.6V)供電兩種方式。滿幅度電壓供電方式主要用于電池供電的應用中,而電壓范圍可調節供電方式直接與3.3V的高性能DSP接口,簡化了系統的電源要求。
(2)最快的存取速度高達55ns,CMOS工藝,具有100000次寫入/擦寫壽命。
(3)低功耗(200nA的自動休眠電流,200nA的待命電流,7mA的讀電流,15mA的編程/擦除電流)。
(4)靈活的塊結構支持整片擦除、塊擦除。整片分為11個塊(1塊8K字、2塊4K字、1塊16K字、7塊32K字)。
(5)塊保護功能,具有防止對任何區段進行編程或擦除的硬件保護機制。
(6)與JEDEC標準兼容,引腳分布和命令集與單電源FLASH相兼容,具有優越的防止意外編程的保護功能。
(7)數據查詢位和數據切換位,可以通過軟件方法檢測編程/擦除操作的狀態。
(8)Ready/Busy#管腳,可以通過硬件方法檢測編程/擦除操作的狀態。
(9)具有擦除暫停/擦除恢復功能。在暫停擦除操作過程中,支持讀寫不處于擦除狀態的塊。
(10)內嵌的擦除/編程算法能自動對整個芯片或某幾個塊進行擦除編程操作。

Am29LV400B編程和擦除算法的命令定義如表1所示。

表1 Am29LV400B命令定義
操作命令序列周期
總線周期
123456
地址數據地址數據地址數據地址數據地址數據地址數據
1RARD
復位1XXXF0
片擦除6555AA2AA5555580555AA2AA5555510
段擦除6555AA2AA5555580555AA2AA55SA30
字編程4555AA2AA55555A0PAPD

表中,RA為要讀的存儲器地址;RD為從存儲器地址RA處讀出的數據;SA為要擦除的段地址;PA為要寫入數據的存儲器地址;PD為要在地址PA處寫入的數據。根據表中的命令定義可編制FLASH的"燒寫"和"擦除"程序(用C語言和匯編語言混合編程實現)。根據需要,我們編制了 "燒寫"單字和"燒寫"多字的程序。

2 硬件電路組成

DSP存儲區硬件接口電路如圖1所示。主要由5部分組成:DSP處理器-TMS320VC5409、系統邏輯控制電路(采用CPLD-EPM7128實現)、閃存FLASH-Am29LV400B (256K字的FLASH用來存儲應用程序和初始化數據)、程序存儲器SRAM1-IDT71V416S12PH(容量為256K字)、數據存儲器SRAM2-IDT71V016S12PH(容量為64K字)。邏輯控制電路主要由3個模塊組成:FLASH頁選控制模塊、讀/寫控制模塊、程序空間/數據空間/FLASH切換控制模塊。圖中,CPLD的輸出FMSEL為FLASH的片選腳;PMSEL為程序空間的片選腳;DMSEL為數據空間的片選腳。


FLASH分為8頁,每頁32K,通過CPLD中的FLASH頁選控制模塊(Page0~Page2)實現FLASH翻頁功能。為實現FLASH引導裝載,FLASH物理空間的前32K映射到TMS320VC5409的數據空間0x8000h~0xFFFFh上,即TMS320VC5409的數據空間0x8000h~0xFFFFh為FLASH的前32K空間。為了重點說明FLASH的引導裝載過程,本文只談及DSP片內程序存儲空間以及FLASH前32K字的使用情況。

3 TMS320VC5409 DSP的引導裝載方式

TMS320VC5409芯片具有兩種引導方式:片內引導方式和片外執行方式。片內引導方式就是利用片內ROM中的引導程序將程序從外部加載到程序存儲器中運行。由于FLASH的速度較低,難以與DSP相匹配,因此?本文采用片內引導方式。

TMS320VC5409片內掩模ROM中固化的引導裝載(Bootloader)程序用于在上電復位時把用戶程序從外部引導到高速RAM中,以保證其全速運行。TMS320VC5409提供的片內引導方法有:主機口HPI方法、8位或16位并行EPROM方法、8位或16位并行I/O方法和8位或16位串行口方法等。TMS320VC5409片內引導裝載源程序可以在TI網站下載得到,讀者可以自行分析。下面通過圖2所示的引導過程框圖,闡述一下本文選用的并行引導方式過程。


上電復位后,TMS320VC5409檢測其MP/MC引腳,如果MP/MC="0",DSP從0xFF80h處開始執行片內引導裝載程序。進入引導程序后,如有INT2請求中斷,則進入HPI引導方式;如有INT3請求中斷,則進入EEPROM串行口引導方式;否則就進入并行引導方式。其詳細引導過程如圖3所示。


片內并行引導方式前半部分是I/O空間并行引導方式,我們不采用此方式,程序繼續運行直到從數據空間0xFFFFh地址讀入一個地址數據,此數據為用戶自舉表的入口地址。這時片內引導程序就開始執行FLASH中的用戶自舉表?若自舉表的第一個字是0x10AAh,則表示是16位并行引導模式。

4 FLASH中自舉表(Boottable)的存儲格式

為了實現DSP加電自舉,FLASH中的數據必須按照自舉表的格式"燒寫"。自舉表的作用是:DSP運行此表時,首先根據自舉表中前部分用戶起始地址把后面的用戶程序代碼加載到DSP片內程序空間中相應的用戶地址區域(由于FLASH與DSP時間不匹配,要設置好SWWR和BSCR寄存器),然后根據自舉表中的程序入口地址,在程序空間相應的地址開始運行程序。表2為16位并行自舉的代碼結構(自舉表在空間允許的情況下可以放幾個程序代碼段,為便于說明,在此只說明一個程序代碼段的情況)。

表2 并行自舉表的代碼結構
10AA(并行尋址格式)
SWWSR寄存器的初始值
BSCR寄存器的初始值
用戶程序入口的XPC
用戶程序入口的地址PC
用戶程序的長度
用戶程序起始地址XPC
用戶程序起邕地址PC
用戶程序代碼...
0000(表示自舉表結束)

下面結合一個實例,說明利用hex500命令生成二進制數據自舉表的方法。

(1)所編寫的一個用戶程序名為myblink.C,在編譯鏈接成功后生成的輸出文件名為myblink.out;程序空間的開始地址為0x1400h,程序執行的入口地址為0x144Fh。利用hex500工具,生成文件名為myblink.hex的二進制數據,hex500命令后添加如下條件:

myblink.out ;要轉換的.out文件
-a ;生成ASCII碼的形式
-a 0x144Fh ;程序空間中程序運行的開始
地址
-boot ;轉換成自舉表的形式
-bootorg PARALLEL ;并行格式
-byte ;按字節分配地址
-memwidth 16 ;系統存儲器字寬度為16位
-romwidth 16 ;ROM物理寬度為16位
-swwsr 0x7FFFh ;SWWSR設置軟件等待周期
-bscr 0xF800h ;BSCR設置段開關控制寄存器
值0xF800
-o myblink.hex ;輸出的二進制數據文件名

(2)生成的二進制數據文件myblink.hex的數據為:

0x10AA 0x7FFF 0Xf800 0x0000 0x144F 0x00D1 0x0000 0x1400 ...?用戶程序代碼? ... 0x0000;
前8個數據解釋分別為:
0x10AAh:16位并行尋址格式;
0x7FFFh:SWWSR初始值為0x7FFFh,因為FLASH的運行速度比DSP慢,等待7個周期;
0xF800h:BSCR初始值為0xF800H;
0x8000h:自舉表程序入口的XPC=0;
0x144Fh:自舉表程序入口的地址=0x144Fh;
0x00D1h:自舉表程序的長度=0xD1h;
0x0000h:自舉表起始地址XPC=0;
0x1400h:自舉表的起始地址=0x1400h。

(3)編寫一個數據轉換程序,把二進制數據文件myblink.hex 轉換為數組頭文件myblink.h。在CCS環境下,FLASH的"燒寫"主程序包含此頭文件,編譯鏈接后通過仿真器下載到DSP中,運行DSP,用戶程序就被"燒入"FLASH中了。

實際應用是:在數據空間地址0xFFFFh(也就是FLASH的空間0xFFFFh )中"燒寫"數據0x9000h(FLASH中存放的自舉表起始地址),在FLASH的地址0x9000h開始"燒入" 用戶自舉表數據即myblink.h中的數組數據。

DSP運行情況是:依據第3節所述的引導裝載過程,經過一系列的設置,使DSP尋址到數據空間地址0xFFFFh,得到自舉表的起始地址0x9000h,PC指針指向0x9000h,執行自舉表的數據,根據自舉表寫入信息,把后面的程序裝載入程序空間起始地址0x1400h(XPC=0)(這時通過仿真器查看程序空間0x1400h開始的數據,與仿真器下載的myblink.out文件數據是一致的)。然后,DSP的PC指針指向程序入口地址0x144Fh(XPC=0)開始執行用戶程序,從而完成了DSP利用FLASH實現16位并行引導裝載的過程。
本文地址:http://m.qingdxww.cn/thread-13874-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 自拍偷拍网址 | 性欧美一级 | 国产在线欧美日韩一区二区 | 欧美有码在线 | 国产免费一区不卡在线 | 亚洲一区二区视频在线观看 | 欧美性动态视频 | 日韩欧美在线观看视频一区二区 | 青青青青久久久久国产的 | 久久天天躁夜夜躁狠狠躁2020 | 五月婷婷婷婷 | 国产欧美在线观看精品一区二区 | 200款禁用软件免费下载安卓 | 兔女郎穿着丝袜被啪啪 | 欧美亚洲尤物久久精品 | 一级成人黄色片 | 欧美成a| 成免费视频 | 国产手机精品一区二区 | 欧美午夜精品一区二区三区 | 久久国产免费一区二区三区 | 国产香蕉免费精品视频 | 精品视频在线免费播放 | 在线观看精品视频一区二区三区 | 国产精品视频一区二区三区 | 日本欧美中文字幕 | 欧美黑粗硬大 | 久久久国产精品免费看 | 78m成年视频免费观看 | 亚洲天堂91 | 国产精品毛片久久久久久久 | 国产精品免费视频网站 | 四虎影院免费观看 | 人九九精品| 国产精品免费久久久免费 | 国产99视频在线观看 | 欧美va在线| 成年网站在线观看 | 日韩成人免费一级毛片 | 91精品免费高清在线 | 国产一级aa大片毛片 |