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

TMS320VC5402 DSP并行8bit EPROM引導(dǎo)裝載方法研究

發(fā)布時(shí)間:2010-9-16 16:03    發(fā)布者:techshare
關(guān)鍵詞: dsp , EPROM , TMS320VC5402 , 引導(dǎo) , 裝載
TMS320VC5402(以下簡(jiǎn)稱C5402)是德州儀器公司(TI)推出的性價(jià)比極高的16bit定點(diǎn)數(shù)字信號(hào)處理器(DSP),操作速率可達(dá)100MIPS,它的內(nèi)部資源配置為用戶構(gòu)造系統(tǒng)提供了很大便利。

C5402芯片配置有4K×16bit片內(nèi)屏蔽式的ROM(F000h-FFFFh)。在4K ROM資源里,包含了Bootloader程序。這個(gè)Bootloader程序在系統(tǒng)通電后能自動(dòng)將存放在外部載體的用戶代碼引導(dǎo)到程序存儲(chǔ)器的任何空間或片內(nèi)RAM。如果芯片的MP/MC腳在復(fù)位時(shí)為低電位,指令從片內(nèi)ROM的FF80h地址開(kāi)始執(zhí)行,在FF80h地址后有一個(gè)跳轉(zhuǎn)指令自動(dòng)轉(zhuǎn)入到Bootloader程序,由Bootloader程序進(jìn)行引導(dǎo)裝載用戶程序。

C5402芯片內(nèi)包含有16K×16bit雙存取的RAM(DARAM)。DARAM分成兩個(gè)塊,每個(gè)塊為8K,每個(gè)塊在一個(gè)機(jī)器周期內(nèi)支持兩次讀或一次讀和一次寫(xiě)。片內(nèi)DARAM位于數(shù)據(jù)空間0080h-3FFFh地址,通過(guò)設(shè)置C5402寄存器PMST的OVLY位為1,可以把片內(nèi)RAM映射成程序/數(shù)據(jù)存儲(chǔ)空間。用戶在設(shè)計(jì)自己的系統(tǒng)時(shí),如程序容量不超過(guò)16K,則可考慮充分利用芯片的內(nèi)部資源,采用引導(dǎo)裝載的方式,以降低系統(tǒng)的設(shè)計(jì)難度和設(shè)計(jì)成本、縮短產(chǎn)品研制周期。

1 8bit EPROM引導(dǎo)裝載的特點(diǎn)和初始化

TMS320VC5402 Bootloader用于在芯片通電時(shí)將存儲(chǔ)于外部的用戶代碼傳輸?shù)絻?nèi)部或外部程序存儲(chǔ)器,用戶代碼可存儲(chǔ)在外部速度較慢的非失憶性的存儲(chǔ)器內(nèi),使C5402能外擴(kuò)普通低速的EPROM。經(jīng)引導(dǎo)后,用戶代碼可裝載到高速的片內(nèi)或片外RAM中執(zhí)行,以充分發(fā)揮C5402指令高速運(yùn)行的特點(diǎn)。

Bootloader能提供許多種引導(dǎo)方式以適配不同的系統(tǒng)設(shè)備,包括兩種并行總線方式、串口方式以及主機(jī)口方式(HPI),具有很強(qiáng)的系統(tǒng)靈活性。同時(shí)支持8位字節(jié)和16位字的模式。8bit EPROM并行引導(dǎo)是設(shè)計(jì)C5402 DSP系統(tǒng)最常用、最經(jīng)濟(jì)、最簡(jiǎn)便的引導(dǎo)方式,用戶代碼可存儲(chǔ)在低速的EPROM外設(shè)中,其地址位于外部數(shù)據(jù)空間的4000h~FFFFh段,共48K。要實(shí)現(xiàn)EPROM并行引導(dǎo)至片內(nèi)RAM,C5402首先要進(jìn)行如下初始化設(shè)置:

(1)將芯片的MP/MC腳接地,使C5402工作在微計(jì)算機(jī)方式;

(2)設(shè)置寄存器PMST中OVLY=1,使片內(nèi)RAM0080h~3FFFh既映射在程序區(qū),又映射在數(shù)據(jù)區(qū);

(3)設(shè)置寄存器PMST中DROM=0,使F000h~FFFFh映射在外部數(shù)據(jù)區(qū);

(4)程序和數(shù)據(jù)空間設(shè)置成7個(gè)等待狀態(tài)。

(2)、(3)、(4)項(xiàng)用C5402芯片掩摸ROM中的引導(dǎo)程序?qū)崿F(xiàn)。在C5402上電復(fù)位后,指令總是從FF80h處執(zhí)行,然后自動(dòng)跳轉(zhuǎn)到內(nèi)部引導(dǎo)程序入口地址F800h,判斷芯片MP/MC位,若為邏輯0,則執(zhí)行引導(dǎo)程序。

2 8bit EPROM引導(dǎo)裝載的實(shí)現(xiàn)

2.1 EPROM并行引導(dǎo)過(guò)程

為使C5402能有效地把外擴(kuò)EPROM中的程序引導(dǎo)到芯片內(nèi)RAM,需要編制一個(gè)引導(dǎo)表。引導(dǎo)表定位于數(shù)據(jù)空間的4000h~FFFFh段,引導(dǎo)表的內(nèi)容包含如下幾個(gè)方面:(1)引導(dǎo)方式的標(biāo)識(shí);(2)程序存放的目標(biāo)首地址;(3)程序執(zhí)行的入口址址;(4)用戶程序代碼;(5)用戶程序塊長(zhǎng)度。

引導(dǎo)表數(shù)據(jù)結(jié)構(gòu)是通過(guò)執(zhí)行鏈接命令程序和Hex轉(zhuǎn)換公用命令程序形成的。在鏈接命令程序中分配了程序和數(shù)據(jù)結(jié)構(gòu),在Hex轉(zhuǎn)換公用命令程序中定義了引導(dǎo)方式、程序執(zhí)行的入口地址和外部EPROM的首地址。

片內(nèi)ROM的引導(dǎo)程序首先讀取I/O空間的FFFFh地址內(nèi)容(指定為4000h)作為引導(dǎo)表的起始地址,通過(guò)判別引導(dǎo)表起始地址內(nèi)的引導(dǎo)標(biāo)識(shí)來(lái)確定是8位并行還是16位并行引導(dǎo)方式。若引導(dǎo)標(biāo)識(shí)是10AAh,則是16位的并行引導(dǎo)方式;若引導(dǎo)標(biāo)識(shí)是08AAh,則是8位的并行引導(dǎo)方式。

當(dāng)從I/O空間FFFFh地址讀取不到有效的引導(dǎo)標(biāo)識(shí)時(shí),片內(nèi)ROM的引導(dǎo)程序即讀取數(shù)據(jù)空間FFFFh的內(nèi)容作為引導(dǎo)表的起始地址。同樣通過(guò)判別引導(dǎo)表起始地址內(nèi)的引導(dǎo)標(biāo)識(shí)來(lái)確定是8位并行還是16位并行引導(dǎo)方式。當(dāng)EPROM數(shù)據(jù)位寬是8bit時(shí),則要讀取數(shù)據(jù)空間FFFFh地址的內(nèi)容(低字節(jié))和FFFEh地址的內(nèi)容(高字節(jié))作為引導(dǎo)表的起始地址。

2.2 硬件實(shí)現(xiàn)電路

8bit EPROM引導(dǎo)裝載的實(shí)現(xiàn)電路如圖1所示。



圖中D3、D4器件為74AHC373,提供了C5402采集I/O端口地址FFFFh的數(shù)據(jù),這里設(shè)置為4000h。EPROM選用27C512-60(64k),緩沖器74AHC244作電平變換用,EPROM的片選端和緩沖器的選通端同時(shí)接C5402的數(shù)據(jù)選通信號(hào)MSTRB。當(dāng)程序引導(dǎo)完后,MSTRB為高,緩沖器74AHC244輸出為高阻,可以并掛在數(shù)據(jù)總線上。

當(dāng)C5402讀取I/O端口地址FFFFh時(shí),IOSTRB為低有效,同時(shí)地址線A15為高,經(jīng)反相與IOSTRB信號(hào)相“或”,以選通D3、D4器件,C5402即采集到引導(dǎo)表起始地址4000h。當(dāng)用戶不采用從I/O端口讀取引導(dǎo)表起始地址時(shí),C5402將讀取數(shù)據(jù)文憑間FFFFh地址的內(nèi)容和FFFEh地址的內(nèi)容作為引導(dǎo)表的起始地址。在將程序代碼用編程器寫(xiě)入到EPROM時(shí),將EPROM的FFFFh地址和FFFEh內(nèi)容寫(xiě)定為00和40即可。若使用低于64k的EPROM時(shí),只要在EPROM的最高兩個(gè)地址寫(xiě)入00和40即可。例如,使用8K EPROM,而C5402的地址線只用到A0~A12,那么在EPROM的1FFFh和1FFEh地址寫(xiě)入00和40即可,并將Hex制轉(zhuǎn)換命令程序中的-bootorg 0x4000句修改為-bootorg 0x0000。

2.3 編制命令文件程序

(1)鏈接命令文件程序(文件名設(shè)為DSP5402lj.cmd):

;dsp5402lj.cmd program

dsp5402.obj ;輸入?yún)R編后的文件名

-o dsp5402.out -m dsp5402.map ;設(shè)定輸出文件名

MEMORY ;內(nèi)部存儲(chǔ)器分配

{

PAGE 0:ROM:origin=0080h length="1000h"

;程序引導(dǎo)后首地址和塊長(zhǎng)度

PAGE 1:RAM:origin=200h length="500h"

;定義數(shù)據(jù)塊首地址和塊長(zhǎng)度

}

SECTIONS

{

.text:>ROM ;將text段定義的程序放入程序頁(yè)

.bss:>RAM ;將bss段定義的數(shù)據(jù)塊放入數(shù)據(jù)頁(yè)

}

(2)Hex制轉(zhuǎn)換命令程序(文件名設(shè)dsp5402h.cmd):

;dsp5402h.cmd program

dsp5402.out ;輸入鏈接后的文件名

-o dsp5402.m1 ;定義輸出文件名和格式

-m1 ;輸入文件格式為Motrola-s1

-memwidth 8 ;定義8位EPROM

-romwidth 8 ;輸出文件是字節(jié)

-bbtorg 0x4000 ;外擴(kuò)EPROM存放代碼的首地址

-e 0x0080 ;定義引導(dǎo)后程序執(zhí)行的入口地址

SCTIONS {.text:BOOT}

2.4 創(chuàng)建并行引導(dǎo)表

為充分發(fā)揮C5402的引導(dǎo)特點(diǎn),必須建立一個(gè)包含完整數(shù)據(jù)流的引導(dǎo)表。引導(dǎo)表通過(guò)Hex轉(zhuǎn)換應(yīng)用工具來(lái)實(shí)現(xiàn)。當(dāng)執(zhí)行Hex轉(zhuǎn)換命令程序時(shí),不同的引導(dǎo)方式和引導(dǎo)選項(xiàng),建立的引導(dǎo)表內(nèi)容將所不同。引導(dǎo)表的建立包括如下三個(gè)步驟:

(1)匯編文件

用C5402匯編語(yǔ)言在文本形式下編程,執(zhí)行如下命令:

asm500.exe -1 -v548

程序?qū)⒈粎R編成后綴名為obj的目標(biāo)文件,命令中如文件名缺省,目標(biāo)文件名與匯編程序源文件名相同。

(2)鏈接文件

執(zhí)行命令:lnk500.exe dsp5402lj.cmd

dsp5402lj.cmd為鏈接命令文件名,由用戶編程確定用戶代碼裝載引導(dǎo)的入口地址、程序塊長(zhǎng)度以及程序段和數(shù)據(jù)段的分配。引導(dǎo)表內(nèi)數(shù)據(jù)的每一個(gè)塊同等于COFF文件的一個(gè)初始化段,初始化段包括:.text,.data,和.sect。未初始化段為:.bss和.usect。

(3)執(zhí)行Hex轉(zhuǎn)換公用命令程序

執(zhí)行命令:Hex500.exe dsp5402h.cmd

dsp5402h.cmd為Hex轉(zhuǎn)換命令文件名。對(duì)可執(zhí)行的COFF文件使用Hex轉(zhuǎn)換公用程序進(jìn)行轉(zhuǎn)換后得到若干種標(biāo)準(zhǔn)的十六進(jìn)制格式文件。轉(zhuǎn)換后的十六進(jìn)制格式文件即是引導(dǎo)表的內(nèi)容,引導(dǎo)表包含并行引導(dǎo)的標(biāo)識(shí)、程序執(zhí)行的入口地址、程序存放的目的地址、用戶程序及用戶程序塊長(zhǎng)度。利用編程器可以將引導(dǎo)表的內(nèi)容寫(xiě)入EPROM,然后將EPROM插入C5402用戶系統(tǒng)中運(yùn)行。
本文地址:http://www.qingdxww.cn/thread-27167-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 我們是Microchip
  • 你仿真過(guò)嗎?使用免費(fèi)的MPLAB Mindi模擬仿真器降低設(shè)計(jì)風(fēng)險(xiǎn)
  • 更佳設(shè)計(jì)的解決方案——Microchip模擬開(kāi)發(fā)生態(tài)系統(tǒng)
  • 利用模擬開(kāi)發(fā)工具生態(tài)系統(tǒng)進(jìn)行安全電路設(shè)計(jì)
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成人黄色在线观看 | 免费va在线观看 | 日本一区二区视频 | 逆天邪神第一季全集免费观看 | 国产精品日韩欧美在线第3页 | 日韩亚洲欧美一区二区三区 | 91免费在线视频 | 97在线影院 | 99精品国产福利免费一区二区 | 国产三级在线观看视频 | 天天摸夜夜添夜夜添国产 | 精品香蕉在线观看免费 | 日韩 欧美 中文字幕 不卡 | 在线观看日本www | 在线精品国产一区二区 | 永久影院 | 国产91欧美 | 大学生久久香蕉国产线观看 | 国产精品老女人精品视 | 国产欧美成人一区二区三区 | 国产麻豆麻豆 | 国产小视频在线观看免费 | 亚洲免费在线观看视频 | www.日韩在线观看 | 日本免费一区视频 | 国产精品国产自线在线观看 | 五月婷婷导航 | h视频在线免费 | 99久久国产综合精品五月天 | 在线天堂最新版资源下载 | 在线观看精品视频一区二区三区 | 国产精品亚欧美一区二区三区 | 成人黄色免费网站 | 国产成人+综合亚洲+天堂 | 国产日韩欧美视频在线观看 | 久久精品影院永久网址 | 7m视频导航在线视频 | 亚洲天堂成人 | 99pao在线视频精品免费 | 激情成人综合网 | 国内露脸自拍 |