新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > TMS320C672x系列浮點(diǎn)DSP的EMIF研究與應(yīng)用

TMS320C672x系列浮點(diǎn)DSP的EMIF研究與應(yīng)用

作者: 時(shí)間:2011-03-16 來(lái)源:網(wǎng)絡(luò) 收藏


Flash在讀操作中類(lèi)似于普通的ROM,在寫(xiě)操作中需要使用一些特殊命令字,按一定的順序編程,且可隨時(shí)編程,編程命令根據(jù)器件參考資料。對(duì)Flash的讀/寫(xiě)流程如圖7所示。


由表1知,對(duì)Flash進(jìn)行16位數(shù)據(jù)寫(xiě)操作時(shí)每次偏移地址需要左移1位,即:*(short int*)(0x90000000+i*2)=shortint i://對(duì)Flash的i地址寫(xiě)入16位數(shù)據(jù)i由于此Flash高位地址線為擴(kuò)展的地址線,必然導(dǎo)致訪問(wèn)Flash時(shí)地址不連續(xù)。每次只能連續(xù)訪問(wèn)Flash內(nèi)部4 Kx16 Bit空間,即0x9000_0000~0x9000_1FFE。需要訪問(wèn)高地址空間時(shí),首先通過(guò)設(shè)置相應(yīng)的GPIO引腳或者通過(guò)數(shù)據(jù)線利用CPLD設(shè)置Flash的相應(yīng)高地址線;然后再分別操作低位地址線進(jìn)行讀寫(xiě),便可完成對(duì)高地址空間的讀寫(xiě)。

4 并行Flash自啟動(dòng)
4.1 Flash自啟動(dòng)過(guò)程

在實(shí)際中通常把代碼和數(shù)據(jù)表存放在外部的非易失性存儲(chǔ)器Flash中。TMS320C672X片上的Bootloader工具只能將1KB的代碼搬移到內(nèi)部RAM。但是在通常情況下,用戶程序的大小都會(huì)超過(guò)1 KB,所以需要在外部Flash的前1 KB范圍內(nèi)預(yù)先存放一小段程序,待片上Bootloader工具把此段代碼搬移入內(nèi)部并開(kāi)始執(zhí)行后,由此段代碼將Flash中剩余的用戶程序搬移入內(nèi)部RAM中。Flash中前1 KB代碼為二級(jí)Bootloader。系統(tǒng)上電或復(fù)位時(shí),內(nèi)部固化的啟動(dòng)代碼會(huì)自動(dòng)將位于Flash地址空間(0x90000000~0x9FFFFFFF)開(kāi)頭的1 KB代碼傳輸?shù)絉AM存儲(chǔ)空間,這就是一次引導(dǎo)。很明顯,一次引導(dǎo)的代碼并不能滿足絕大多數(shù)編程者對(duì)代碼長(zhǎng)度的要求,因此就需要二次引導(dǎo)過(guò)程。二次引導(dǎo)是將一次引導(dǎo)的1 KB代碼編寫(xiě)成一個(gè)搬移程序,搬移程序?qū)⒂脩舻闹鞒绦虬嵋频礁咚賀AM中,并且搬移完成后自動(dòng)跳轉(zhuǎn)至主程序入口處運(yùn)行主程序。由于硬件設(shè)計(jì)中Flash的地址不連續(xù),因此對(duì)高位地址線的控制需要在搬移程序中實(shí)現(xiàn)。圖8為使用二級(jí)Bootloader的流程圖。


二級(jí)Bootloader代碼的編寫(xiě)必須使用匯編語(yǔ)言,因?yàn)樵趫?zhí)行二級(jí)Bootloader時(shí)C的運(yùn)行環(huán)境還未建立起來(lái)。
4.2 Flash的燒寫(xiě)方法
應(yīng)用程序和二次Boot編寫(xiě)和編譯完成之后,便可使用TI公司提供的FlashBurn工具完成Flash燒寫(xiě),燒寫(xiě)完成后需要重新上電或復(fù)位,便可實(shí)現(xiàn)自啟動(dòng)。此FlashBurn工具雖然燒寫(xiě)方法較為直觀,但是過(guò)程復(fù)雜,首先需要下載一個(gè).out文件(FBTC)至DSP系統(tǒng)中,實(shí)現(xiàn)對(duì)Flash的操作;其次FlashBurn工具不能識(shí)別.out文件,只能接收.hex的十六進(jìn)制文件,必須將.out文件轉(zhuǎn)換為.hex文件。
因此,用戶可以自己根據(jù)Flash器件的操作方法編寫(xiě)燒寫(xiě)程序,避免文件格式轉(zhuǎn)換的繁瑣。首先把用戶應(yīng)用程序(包括二級(jí)Bootloader)編譯生成的.out文件轉(zhuǎn)載到DSP的RAM中,然后根據(jù)要求編寫(xiě)Flash燒寫(xiě)程序,把燒寫(xiě)程序的.out文件裝載到DSP的另一塊區(qū)域(注意修改cmd文件中地址范圍,避免兩次裝載可能產(chǎn)生的地址覆蓋),執(zhí)行程序完成Flash的燒寫(xiě)。注意:燒寫(xiě)到Flash中的應(yīng)用程序前面12個(gè)字節(jié)用于存放_(tái)c _int00地址、應(yīng)用程序字節(jié)數(shù)、應(yīng)用程序在RAM中的起始地址,這12個(gè)字節(jié)需要在燒寫(xiě)過(guò)程中添加。

5 結(jié)束語(yǔ)
本文主要DSP 接口的功能和使用方法,并針對(duì)SDRAM和Flash器件討論了的具體硬件接口設(shè)計(jì)和軟件配置;同時(shí)分析了的自啟動(dòng)過(guò)程,提出了兩種燒寫(xiě)Flash的方法。該應(yīng)用方法經(jīng)實(shí)驗(yàn)驗(yàn)證,確實(shí)可行并易于實(shí)現(xiàn)。

存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理



上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉