當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于閃爍存儲器的TMS320VC5409 DSP并行引導(dǎo)裝載方法

TMS320VC5409 是TI公司推出的第一代的高性能、低價位、低功耗數(shù)字信號處理器(DSP)。與現(xiàn)在流行的TMS320C5409相比,性能提高了60%,功耗效率提高了 50%。它的應(yīng)用對象大多是要求能脫機(jī)運(yùn)行的內(nèi)嵌式系統(tǒng),如機(jī)頂盒(STB)、個人數(shù)字助理(PDA)和數(shù)字無線通信等。閃爍存儲器FLASH MEMORY)是可以在線電擦寫、掉電后信息不丟失的存儲器。FLASH與EPROM相比,具有更高的性能價格比,而且體積小、功耗低、擦寫速度快、使用比較方便。因此,采用FLASH存儲程序和固定數(shù)據(jù)是一種比較好的選擇。AMD公司的Am29LV400B FLASH可以直接與DSP相接。
600)this.style.width=‘600px‘;" border="0" />
1 Am29LV400B的主要特點及編程方法

Am29AL400B是AMD公司新推出的256K×16位產(chǎn)品,具有以下主要特點:

(1)支持單電源操作,可分為滿負(fù)荷電壓供電(2.7V~3.6V)和電壓范圍可調(diào)節(jié)(3.0V~3.6V)和電壓范圍可調(diào)節(jié)(3.0V~3.6V)供電兩種方式。滿幅度電壓供電壓供電方式主要用于電池供電的應(yīng)用中,而電壓范圍可調(diào)節(jié)供電方式直接與3.3V的高性能DSP接口,簡化了系統(tǒng)的電源要求。

(2)最快的存取速度高達(dá)55ns,CMOS工藝,具有100000次寫入/擦寫壽命。

(3)低功耗(200nA的自動休眠電流,200nA的待命電流,7mA的讀電流,15mA的編程/擦除電流)。

(4)靈活的塊結(jié)構(gòu)支持整片擦除、塊擦除。整片分為11個塊(1塊8K字、2塊4K字、1塊16K字、7塊32K字)。

(5)塊保護(hù)功能,具有防止對任何區(qū)段進(jìn)行編程或擦除的硬件保護(hù)機(jī)制。

(6)與JEDEC標(biāo)準(zhǔn)兼容,引腳分布和命令集與單電源FLASH相兼容,具有優(yōu)越的防止意外編程的保護(hù)功能。

(7)數(shù)據(jù)查詢位和數(shù)據(jù)切換位,可以通過軟件方法檢測編程/擦除操作的狀態(tài)。

(8)Ready/Busy#管腳,可以通過硬件方法檢測編程/擦除操作的狀態(tài)。

(9)具有擦除暫停/擦除恢復(fù)功能。在暫停擦除操作過程中,支持讀寫不處于擦除狀態(tài)的塊。

(10)內(nèi)嵌的擦除/編程算法能自動對整個芯片或某幾個塊進(jìn)行擦除編程操作。

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

表1 Am29LV400B命令定義

操作命令序列周期

總    線    周    期

123456
地址數(shù)據(jù)地址數(shù)據(jù)地址數(shù)據(jù)地址數(shù)據(jù)地址數(shù)據(jù)地址數(shù)據(jù)

復(fù)位
片擦除
段擦除
字編程
1
1
6
6
4
RA
XXX
555
555
555
RD
F0
AA
AA
AA


2AA
2AA
2AA


55
55
55


555
555
555


80
80
A0


555
555
PA


AA
AA
PD

2AA
2AA

55
55

555
SA

10
30

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

2 硬件電路組成

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

FLASH分為8頁,每頁32K,通過CPLD中的FLASH頁選控制模塊(Page0~Paeg2)實現(xiàn)FLASH翻頁功能。為實現(xiàn)FLASH引導(dǎo)裝載,F(xiàn)LASH物理空間的前32K映射到TMS320VC5409的數(shù)據(jù)空間0x8000h~0xFFFFh上,即TMS320VC5409的數(shù)據(jù)空間 0x8000h~0xFFFFh為FLASH的前32K空間。為了重點說明FLASH的引導(dǎo)裝載過程,本文只談及DSP片內(nèi)程序存儲空間以及FLASH前 32K字的使用情況。
600)this.style.width=‘600px‘;" border="0" />
3 TMS320VC5409 DSP的引導(dǎo)裝載方式

TMS320VC5409芯片具有兩種引導(dǎo)方式:片內(nèi)引導(dǎo)方式和片外執(zhí)行方式。片內(nèi)引導(dǎo)方式就是利用片內(nèi)ROM中的引導(dǎo)程序?qū)⒊绦驈耐獠考虞d到程序存儲器中運(yùn)行。由于FLASH的速度較低,難以與DSP相匹配,因此,本文采用片內(nèi)引導(dǎo)方式。

TMS320VC5409 片內(nèi)掩模ROM中固化的引導(dǎo)裝載(Bootloader)程序用于在上電復(fù)位時把用戶程序從外部引導(dǎo)到高速RAM中,以保證其全速運(yùn)行。 TMS320VC4509提供的片內(nèi)引導(dǎo)方法有:有機(jī)口HPI方法、8位或16位并行EPROM方法、8位或16位并行I/O方法和8位或16位串行口方法等。TMS320VC5409片內(nèi)引導(dǎo)裝載源程序可以在TI網(wǎng)絡(luò)下載得到,讀者可以自行分析。下面通過圖2所示的引導(dǎo)過程框圖,闡述一下本文選用的并行引導(dǎo)方式過程。[!--empirenews.page--]

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

片內(nèi)并行引導(dǎo)方式前半部件是I/O空間并行引導(dǎo)方式,我們不采用此方式,程序繼續(xù)運(yùn)行直到從數(shù)據(jù)空間0xFFFFh地址讀入一個地址數(shù)據(jù),此數(shù)據(jù)為用戶自舉表的入口地址。這時片內(nèi)引導(dǎo)程序就開始執(zhí)行FLASH中的用戶自舉表,若自舉表的第一個字是0x10AA,則表示是16位并行引導(dǎo)模式。
600)this.style.width=‘600px‘;" border="0" />
4 FLASH中自舉表(Boottable)的存儲格式

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

表2 并行自舉表的代碼結(jié)構(gòu)

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

下面結(jié)合一個實例,說明利用hex500命令生成二進(jìn)制數(shù)據(jù)自舉表的方法。

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

mybilink.out ;要轉(zhuǎn)換的.out文件

-a ;生成ASCII碼的形式

-e 0x144Fh ;程序空間中程序運(yùn)行的開始

地址

-boot ;轉(zhuǎn)換成自舉表的形式

-bootorg PARALLEL ;并行格式

-byte ;按字節(jié)分配地址

-memwidth 16 ;系統(tǒng)存儲器字寬度為16位

-romwidth 16 ;ROM物理寬度為16位

-swwsr 0x7FFFh ;SWWSR設(shè)置軟件等待周期

-bscr 0xF800h ;BSCR設(shè)置段開關(guān)控制寄存器值0xF800

-o myblink.hex ;輸出的二進(jìn)制數(shù)據(jù)文件名

(2)生成的進(jìn)制數(shù)據(jù)文件myblink.hex的數(shù)據(jù)為:

0x10AA 0x7FFF 0xF800 0x0000 0x144F 0x00D1 0x0000 0x1400 …(用戶程序代碼)… 0x0000;

前8個數(shù)據(jù)解釋分別為:

0x10AAh:16位并行尋址格式;

0x7FFFh:SWWSR初始值為0x7FFFh,因為FLASH的運(yùn)行速度比DSP慢,等待7個周期;

0xF8000h:BSCR初始值為0xF800h;

0x0000h:自舉表程序入口的XPC=0;

0x144Fh:自舉表程序入口的地址=0x144Fh;

0x00D1h:自舉表程序的長度=0xD1h;

0x0000h:自舉表起始地址XPC=0;

0x1400h:自舉表的起始地址=0x1400h。

(3)編寫一個數(shù)據(jù)轉(zhuǎn)換程序,把二進(jìn)制數(shù)據(jù)文件myblink.hex轉(zhuǎn)換為數(shù)組頭文件myblink.h。在CCS環(huán)境下,F(xiàn)LASH的“燒寫”主程序包含此頭文件,編譯鏈接后通過仿真器下載到DSP中,運(yùn)行DSP,用戶程序就被“燒入”FLASH中了。

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

DSP 運(yùn)行情況是:依據(jù)第3節(jié)所述的引導(dǎo)裝載過程,經(jīng)過一系列的設(shè)置,使DSP尋址到數(shù)據(jù)空間地址0xFFFFh,得到自舉表的起始地址0x9000h,PC指針指向0x9000h,執(zhí)行自舉表的數(shù)據(jù),根據(jù)自舉表寫入信息,把后面的程序裝載入程序空間起始地址0x1400h(XPC=0)(這時通過仿真器查看程序空間0x1400h開始的數(shù)據(jù),與仿真器下載的myblink.out文件數(shù)據(jù)是一致的)。然后,DSP的PC指針指向程序入口地址0x144Fh (XPC=0)開始執(zhí)行用戶程序,從而完成了DSP利用FLASH實現(xiàn)16位并行引導(dǎo)裝載的過程。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉