freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

dsp技術(shù)與應(yīng)用實(shí)驗(yàn)指導(dǎo)書(shū)(編輯修改稿)

2024-07-04 08:19 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 設(shè)備、原理及過(guò)程。了解觀察或理解記錄的重點(diǎn)。3.預(yù)做好課堂作業(yè),寫(xiě)好預(yù)習(xí)報(bào)告。一.實(shí)驗(yàn)?zāi)康?.理解鏈接命令文件(后綴CMD)和映射文件(后綴MAP)的用法。2.掌握Code Composer Studio 。3.鞏固數(shù)據(jù)復(fù)制指令MVPD等,程序控制指令等RPT、RPTB、B等匯編指令用法。4.、.mmregs、.data、.word、.set.、bss、.usect、.end等用法。5.鞏固絕對(duì)尋址、間接尋址、映射寄存器尋址等尋址方式。二.實(shí)驗(yàn)設(shè)備1.。2.ICETEKVC5416USBEDU實(shí)驗(yàn)箱一臺(tái)(Emulator硬件仿真)。3.USB連接電纜一條。三.實(shí)驗(yàn)原理1.VC5416的存儲(chǔ)器資源及配置(1)片內(nèi)總線及功能C54x DSP片內(nèi)有8條16位總線:1條程序總線,3條數(shù)據(jù)總線和4條地址總線,功能如下:① 程序總線(PB)傳送取自程序存儲(chǔ)器的指令代碼和立即操作數(shù)。② 3條數(shù)據(jù)總線(CB、DB、EB)將內(nèi)部各單元連接在一起,其中CB和DB為讀操作數(shù)總線,EB為寫(xiě)總線。因此,DSP在片內(nèi)可同時(shí)讀2個(gè)16位的數(shù)據(jù)或一個(gè)32位的數(shù)據(jù)。③ 4個(gè)地址總線(PAB、CAB、DAB、EAB)傳送執(zhí)行指令所需的地址。在程序空間沒(méi)有擴(kuò)展的情況下,C54x的總存儲(chǔ)空間為192K字,分成3個(gè)可獨(dú)立的空間:程序存儲(chǔ)空間(64K字),據(jù)存儲(chǔ)空間(64K字),輸入/輸出(I/O)空間(64K字)。在程序空間在片外擴(kuò)展時(shí),地址總線可擴(kuò)展時(shí)為23位,可訪問(wèn)8M字的程序空間。存儲(chǔ)器的配置受PMST中3個(gè)比特位OVLY、DROM控制。由于C54x DSP不同的型號(hào),內(nèi)部存儲(chǔ)器的資源有所不同,下面以VC5416芯片作存儲(chǔ)器的配置介紹。(2)PMST的比特位OVLY控制程序存儲(chǔ)器地址在0x0080~7FFF之間的映射。如表221所示。表221 程序存儲(chǔ)器地址在0x0080~7FFF之間的映射程序存儲(chǔ)器地址范圍OVLY=1OVLY=00x0000~007F保留片外擴(kuò)展程序存儲(chǔ)器0x0080~7FFF片內(nèi)DARAM03(3)PMST的比特位控制程序存儲(chǔ)器地址在0x8000~FFFF之間的映射。如表222所示。表222 程序存儲(chǔ)器地址在0x8000~FFFF之間的映射程序存儲(chǔ)器地址范圍0x8000~BFFF片外擴(kuò)展程序存儲(chǔ)器片外擴(kuò)展程序存儲(chǔ)器0xC000~FEFF片內(nèi)ROM(4K字)0xFF00~F7FF保留(用戶不能使用)0xFF80~FFFF片外中斷向量表片內(nèi)中斷向量表附:片內(nèi)ROM的內(nèi)容,如表223所示。表223 程序存儲(chǔ)器片內(nèi)ROM的內(nèi)容程序存儲(chǔ)器地址范圍0xC000~D4FFGSM EFR語(yǔ)音編解碼ROM表0xD500~F7FF保留0xF800~FBFF外部程序裝載引導(dǎo)程序0xFC00~FCFF率擴(kuò)展表0xFD00~FDFFA率擴(kuò)展表0xFE00~FEFF正弦表(4)程序存儲(chǔ)器的擴(kuò)展程序存儲(chǔ)器可擴(kuò)展到8M字的存儲(chǔ)空間,此時(shí),程序地址總線為23位,程序計(jì)數(shù)器PC保存低16位的地址,擴(kuò)展程序計(jì)數(shù)器XPC保存高7位的地址。在擴(kuò)展情況下,凡是高7位相同的程序存儲(chǔ)單元看作在同一頁(yè)。因此,在擴(kuò)展情況下,程序存儲(chǔ)器一頁(yè)為64K字,共128頁(yè)。在擴(kuò)展情況下,低16位地址在0x0080~7FFF之間的映射與表221相同,即OVLY=1時(shí),片上DARAM03映射到程序存儲(chǔ)器的每一頁(yè),這對(duì)訪問(wèn)公共數(shù)據(jù)是很方便的。低16位地址在0x8000~FFFF之間的映射如表224所示。表224 程序存儲(chǔ)器擴(kuò)展時(shí)低地址在0x8000~FFFF之間的映射程序存儲(chǔ)器地址范圍0x18000~1FFFF片外擴(kuò)展程序存儲(chǔ)器片內(nèi)DARAM470x28000~2FFFF片內(nèi)SARAM030x38000~3FFFF片內(nèi)SARAM470xm8000~mFFFF (m=4,5,…,127)片外擴(kuò)展程序存儲(chǔ)器(5)PMST的比特位DROM控制地址在0x8000~FFFF之間的映射的數(shù)據(jù)存儲(chǔ)器映射,如表225所示。表225 數(shù)據(jù)存儲(chǔ)器地址在0x8000~FFFF之間的映射程序存儲(chǔ)器地址范圍DROM=1DROM=00x8000~7FFF片內(nèi)DARAM47片外擴(kuò)展程序存儲(chǔ)器(6)I/O空間I/O空間地址在0x0000~FFFF之間,全部在片外,一般將A/D、D/A等芯片上一些零散的存儲(chǔ)單元或控制信號(hào)映射到I/O空間地址上,較大的連續(xù)數(shù)據(jù)單元映射到片外數(shù)據(jù)存儲(chǔ)器。在DSP板和控制板上的I/O端口見(jiàn)實(shí)驗(yàn)指導(dǎo)書(shū)的附錄2。2.鏈接命令文件的使用鏈接命令文件(后綴為CMD)用MEMORY命令和SECTIONS命令定義目標(biāo)系統(tǒng)的存儲(chǔ)器配置及段的映射(存儲(chǔ)分配)。(1)偽指令MEMORY用來(lái)定義目標(biāo)系統(tǒng)的存儲(chǔ)器空間。示例如下:MEMORY{/*PAGE 0表示程序存儲(chǔ)器,PRAM為存儲(chǔ)區(qū)間名稱,字母o表示起始地址,字母l表示存儲(chǔ)器長(zhǎng)度*/ PAGE 0: PRAM : o=100h,l=1f00h/*PAGE 1表示數(shù)據(jù)存儲(chǔ)器,DRAM為存儲(chǔ)區(qū)間名稱,字母o和字母l的含義同上*/ PAGE 1: DRAM : o=2000h,l=1000h }MEMORY定義的目標(biāo)系統(tǒng)存儲(chǔ)器空間必須是實(shí)際存在的存儲(chǔ)器,如果不存在,實(shí)際系統(tǒng)將不能正確存儲(chǔ)和執(zhí)行。在本實(shí)驗(yàn)箱中,沒(méi)有擴(kuò)展外部程序存儲(chǔ)器,在不能訪問(wèn)片外程序存儲(chǔ)器,為此本實(shí)驗(yàn)箱設(shè)置OVLY=1,這是片內(nèi)雙訪問(wèn)的地址在0x80~0x7FFF之間的數(shù)據(jù)存儲(chǔ)器(DARAM03)被映射到程序存儲(chǔ)器,即在這些地址之間的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器共用存儲(chǔ)單元,既可用程序總線訪問(wèn),又可用數(shù)據(jù)總線訪問(wèn)。因此,在MEMORY中,PAGE 0和PAGE 1是不能重疊的,否則有可能相互矛盾,程序在執(zhí)行過(guò)程中修改程序代碼。(2)偽指令SECTIONS為程序段分配存放位置,如果一個(gè)存儲(chǔ)區(qū)間內(nèi)分配多個(gè)段,一般按SECTIONS定義的先后順序存儲(chǔ),如果一個(gè)項(xiàng)目有多個(gè)程序文件,其中共有多個(gè)同名段,則依文件順序存放在一起。(3)程序段的存儲(chǔ)要求不同的程序段有不同的存儲(chǔ)要求,如表221所示,部分段名將在以后的實(shí)驗(yàn)見(jiàn)到。表221 程序段的存儲(chǔ)規(guī)律段類型初始化狀態(tài)存儲(chǔ)器類型映射空間說(shuō) 明.text已初始化段ROM或RAMPAGE 0編譯器默認(rèn)產(chǎn)生這3個(gè)段.data已初始化段ROM或RAMPAGE 0.bss未初始化段RAMPAGE 1.cinit/pinit已初始化段ROM或RAMPAGE 0C程序編譯后,產(chǎn)生這些段,.stack為堆棧段,.switch為switch語(yǔ)句段,.sysmem為動(dòng)態(tài)分配的段。.const已初始化段ROM或RAMPAGE 1.stack未初始化段ROM或RAMPAGE 1.switch已初始化段ROM或RAMPAGE 0.sysmem未初始化段RAMPAGE 1.sect已初始化段ROM或RAMPAGE 0程序員自定義的段.usect未初始化段RAMPAGE 1SECTIONS使用示例如下:SECTIONS{/*text段存儲(chǔ)在程序存儲(chǔ)器PAGE 0的PRAM存儲(chǔ)器里,其它依次類推*/ .text : {} PRAM PAGE 0 .data : {} PRAM PAGE 0 .bss : {} DRAM PAGE 1 .mystack : {} DRAM PAGE 1;自定義的未初始化段,映射在PAGE 1中}偽指令MEMORY和SECTIONS只能大寫(xiě)。一些鏈接命令選項(xiàng)可以放在偽指令MEMORY的前面,參看后繼實(shí)驗(yàn)的命令文件。3.映射文件(map)的使用map文件反映DSP代碼的確切存儲(chǔ)信息。人為估計(jì)的存儲(chǔ)器分配難免不合適,為了更精確地使用ROM空間,我們就需要知道程序的大小和位置,通過(guò)建立目標(biāo)程序的map文件可以了解DSP代碼的確切信息。當(dāng)需要更改程序和數(shù)據(jù)的大小和位置時(shí),就要適當(dāng)修改命令(cmd)文件和源程序,再重新生成map文件來(lái)觀察結(jié)果。生成map文件的方法是:在點(diǎn)擊菜單“Project”→Build Option→Linke,在Map Filename中輸入“.\Debug\”,如圖221所示,再重新編譯鏈接一次(點(diǎn)擊快捷圖標(biāo))即可。圖221 生成map文件的設(shè)置打開(kāi)map文件。點(diǎn)擊菜單“File”→Open→選擇map文件所在文件夾(當(dāng)前項(xiàng)目的Debug文件中),注意將文件類型改為“Memory Map Files (*.map)”或“所有文件(*.*)”才能顯示本實(shí)驗(yàn)的map文件“”。本實(shí)驗(yàn)的map文件示例如下,部分內(nèi)容省略了,有些變量或地址是編譯器自動(dòng)生成的。****************************************************************************** TMS320C54x COFF Linker PC Version ****************************************************************************** Linked Sun Jan 20 22:03:38 2008OUTPUT FILE NAME: ./Debug/ENTRY POINT SYMBOL: start address: 00000100MEMORY CONFIGURATION name origin length used attrPAGE 0: PRAM 00000100 00001f00 00000031 RWIXPAGE 1: DRAM 00002000 00001000 0000003b RWIXSECTION ALLOCATION MAPsection page origin length input sections.text 0 00000100 00000021 (.text).data 0 00000121 00000010 (.data).bss 1 00002000 00000030 UNINITIALIZED.mystack 1 00002030 0000000b UNINITIALIZEDGLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name address name00002000 .bss00000121 .data00000100 .text00002000 ___bss__00000121 ___data__00002030 end00000100 startGLOBAL SYMBOLS: SORTED BY Symbol Address address name00000100 start00000100 .text00000100 ___text__00000121 ___etext__00000121 .data00000121 ___data__00002000 .bss00002000 ___bss__00002030 ___end__00002030 end4.文件輸入/輸出(File I/O)的使用為了測(cè)試算法的正確性,通常用PC機(jī)上已知的數(shù)據(jù)文件中的數(shù)據(jù)注入到內(nèi)存變量中以代替A/D采樣,或者將內(nèi)存變量的數(shù)據(jù)輸出到數(shù)據(jù)文件中,這需要設(shè)置斷點(diǎn)(Breakpoint)和探針(Probe)。CCS中的Probe允許用戶在指定位置提取/注入數(shù)據(jù)。Probe可以設(shè)置在程序的任何位置,.當(dāng)程序運(yùn)行到Probe處時(shí),與Probe相關(guān)的事件將會(huì)被觸發(fā),當(dāng)事件結(jié)束后,程序會(huì)繼續(xù)執(zhí)行。在本實(shí)驗(yàn)里,Probe斷點(diǎn)觸發(fā)的事件是:從PC機(jī)的數(shù)據(jù)文件加載數(shù)據(jù)到目標(biāo)系統(tǒng)的內(nèi)存變量Y_COS寄存器中。具體方法在實(shí)驗(yàn)步驟中介紹。四.源程序分析1.程序思路(1)定義全局標(biāo)號(hào)和映射寄存器。(2)定義數(shù)據(jù)段和未初始化變量段。(3)定義未初始化段(堆棧段)。(4)主程序(可執(zhí)行代碼段)。① 初始化堆棧指針和壓棧保護(hù)有關(guān)變量,設(shè)置DSP有關(guān)運(yùn)算狀態(tài)。② 程序存儲(chǔ)器SIN的數(shù)據(jù)復(fù)制到數(shù)據(jù)存儲(chǔ)器X_SIN的單元中。③ 用斷點(diǎn)和探針(Probe)。④ 用塊重復(fù)循環(huán)指令RPTB完成X_SIN和Y_COS的16個(gè)數(shù)據(jù)混合(相加),并用圖形顯示出來(lái)。⑤ 恢復(fù)初始狀態(tài),以便重復(fù)觀察執(zhí)行。(5)匯編文件結(jié)束。2.命令(cmd)文件/*命令文件定義存儲(chǔ)器的模型和分配各個(gè)程序段的存儲(chǔ)空間*//*偽指令MEMORY定義存儲(chǔ)器的模型或可用的存儲(chǔ)器和起始地址*/MEMORY{/*PAGE 0表示程序存儲(chǔ)器,PRAM為存儲(chǔ)器命名,字母o表示起始地址,字母l表示存儲(chǔ)器長(zhǎng)度*/ PAGE 0: PRAM : o=100h,l=1f00h /*P
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1