DSP原理與應(yīng)用實驗講義1_第1頁
DSP原理與應(yīng)用實驗講義1_第2頁
DSP原理與應(yīng)用實驗講義1_第3頁
DSP原理與應(yīng)用實驗講義1_第4頁
DSP原理與應(yīng)用實驗講義1_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

st___i__

刖s

隨著數(shù)字電子技術(shù)不斷發(fā)展,人們對數(shù)字信號處理的要求也越來越高,傳統(tǒng)意

義上的微處理器已不能滿足現(xiàn)代數(shù)字電子技術(shù)發(fā)展的要求,而數(shù)字信號處理器

(DSP)在近20多年的發(fā)展與普及后,應(yīng)用領(lǐng)域幾乎涵蓋了所有的行業(yè):通信、

信息處理、自動控制、雷達(dá)、航空航天、醫(yī)療、日常消費品等。目前大多數(shù)學(xué)校都

是理論結(jié)合實驗進(jìn)行教學(xué),圍繞該課程所開的實驗課程皆為階段性理論的驗證實

驗,實驗設(shè)備也僅是為驗證某些算法和理論所使用,實驗的項目相對來說比較單一

和固定,實驗設(shè)備的利用效率低下,其實驗設(shè)備缺少研發(fā)和形成一個數(shù)字信號處理

產(chǎn)品的能力。目前,我校的通信工程專業(yè)開設(shè)了《數(shù)字信號處理》、《語音信號處

理》、《數(shù)字圖像處理》等信號處理相關(guān)課程,但尚缺乏一個動手實踐和靈活應(yīng)用

的實驗平臺。數(shù)字信號處理器由于其優(yōu)異的運算能力和獨特的硬件結(jié)構(gòu),是一個理

想的選擇。結(jié)合當(dāng)前的情況,本實驗講義從培養(yǎng)應(yīng)用型人才的角度出發(fā),并充分借

鑒各大高校的先進(jìn)試驗教學(xué)管理技術(shù),開發(fā)并設(shè)計了相應(yīng)的DSP實驗項目。

本實驗講義將實驗分為三個模塊,即基礎(chǔ)實驗、應(yīng)用實驗、擴(kuò)展實驗,以滿足

不同能力和需求的學(xué)生的需要。本實驗講義在《DSP原理及應(yīng)用實驗教學(xué)改革課

題》支持下編寫完成。不足之處,請廣大師生指正。

目錄

基礎(chǔ)實驗1CCS軟件的使用-5-基礎(chǔ)實驗2:簡單

應(yīng)用程序的調(diào)試-17-應(yīng)用實驗1:DSP數(shù)據(jù)存取實

驗-21-應(yīng)用實驗2:GPIO控制實

驗-24-應(yīng)用程序3:定時器控制實

驗-27-應(yīng)用實驗4:DMA讀寫實

驗-31-應(yīng)用實驗5:UART控制實

驗-36-應(yīng)用實驗6:A/D采樣實

驗-41-應(yīng)用實驗7:有限沖擊響應(yīng)濾波器(FIR算法實

驗-44-應(yīng)用實驗8:快速傅立葉變換(FFT算法實

驗-49-擴(kuò)展實驗1:語音回聲實驗-55

-擴(kuò)展實驗2:語音和聲實驗-57-擴(kuò)展實驗3:交通燈

實驗-60-附錄A-

64-附錄B-73-

基礎(chǔ)實驗1CCS軟件的使用

1.實驗?zāi)康模?/p>

1.熟悉CCS集成開發(fā)環(huán)境,掌握工程的生成方法;

2.熟悉SEED-DEC5502實驗環(huán)境;

3.掌握CCS集成開發(fā)環(huán)境的調(diào)試方法。

2.實驗內(nèi)容:

1.DSP源文件的建立;

2.DSP程序工程文件的建立;

3.學(xué)習(xí)使用CCS集成開發(fā)工具的調(diào)試工具。

3.實驗背景知識:

3.1CCS簡介

CCS提供了配置、建立、調(diào)試、跟蹤和分析程序的工具,它便于實時、嵌入

式信號處理程序的編制和測試,它能夠加速開發(fā)進(jìn)程,提高工作效率。CCS提供

了基本的代碼生成工具,它們具有一系列的調(diào)試、分析能力。CCS支持如下所示

的開發(fā)周期的所有階段

分析

實時調(diào)試

統(tǒng)計

跟蹤

CCS構(gòu)成及接口見下圖

菜單備?

[編輯工具條,工作區(qū)中圖

形顯示窗口

ta?|x>「(?5iFfl.l.殂b'<?:?*:?VMS

;勺;土”鎮(zhèn)澤工具條

"0

后“0OfliQSBd

?2”

??????00394:

->,:5.£H?c)ltv004f20OO52X:

?0?

,.gR.fltcOOM41oosm:MOW

-JI-jiIXJUFSUl0052”:0067

UN?/Vmc?4i?

Kr:f'.14OOS^At0H3

?Me”4ta?.

」《《"nIS017A

?u,.cu?OKJtC:

XKoo$mt0101

?j!3?—12f—?f

FF99

/r0052M):

*w|oe8mH(E)

n?oe

/pmijnaor.

n?F5

0067Q1DA

8”0414

046t04M

011SDIM

“99r?M

1111i>rwlfeiatFMTFAW

'()1'l?r?aiR1?LFAItrxM

l|;rmFDCA

OT)t|rat2>:00”02TA

octput)):0SMMCC

、)C1.SV?.OMQK07S24

工作區(qū)中c3

程序編輯窗口變量雙硒口?

CCS窗口介紹:

工作區(qū)中圖

形顯示窗口,

t*uT?”b-

03。

"OQMQBId

HSSSDHHl

「,,::MUMfOUt,_“fl34

OOSM4:0000OOM

|<2O82f1MCM430009M2A

^NUFSLIiOOUWi0M7OOM

no?^5OW214001MA:0113OIK

gem0M215aos^c:OITAQtSC

眄,1*4*4?faos^?0W1OOM

i?J0?2TlWM9fOOS7AQ;rrwFEM

KQOXl0*M?0aapA?;roc)FDM

M|2Mtrooert>M

0(l2A6.FDf$FPM

MIMtiOM?OIM

M。中0414

046*0414

0)11OIM

rt?x

rtcrFAVO

FAlt,AR

mifDEA

15tL0067om

qx,z.s5t0S?MCC

中LEOwtpt0":OMV

工作區(qū)中數(shù)變量艱烹窗口?

據(jù)顯示第口?

毋隹運行結(jié)n工作區(qū)中反匯

姆調(diào)試窗口,

3.2使用CCS常遇見文件簡介:

1.program.c:C程序源文件

2.program.asm:匯編程序源文件

3.filename.h:C程序的頭文件,包含DSP/BIOSAPI模塊的頭文件

4.filename.lib:庫文件

5.project.cmd:連接命令文件

6.program.obj:由源文件編譯或匯編而得的目標(biāo)文件

7.program.out:經(jīng)完整的編譯、匯編以及連接后生成可執(zhí)行文件

8.program.map:經(jīng)完整的編譯、匯編以及連接后生成空間分配文件

9.project.wks:存儲環(huán)境設(shè)置信息的工作區(qū)文件

保存配置文件時將產(chǎn)生下列文件:

1.programcfg.cmd:連接器命令文件

2.programcfg.h54:匯編頭文件

3.programcfg.s54:匯編源文件

(-CMD文件簡介

cmd文件用于DSP代碼的定位。由3部分組成:

1.輸入/輸出定義:

.obj文件:鏈接器要鏈接的目標(biāo)文件。

.lib文件:鏈接器要鏈接的庫文件。

m叩文件:鏈接器生成的交叉索引文件。

.out文件:鏈接器生成的可執(zhí)行代碼;鏈接器選項。

2.MEMORY命令:描述系統(tǒng)實際的硬件資源。

3.SECTIONS命令:描述"段"如何定位。

下面例子則可說明其基本格式:

-0sample.out

-msample.map

-stack100

sample.objmeminit.obj

-1rts.lib

MEMORY

PAGE0:VECT:origin=Oxff8(),length0x80

PAGE0:PROG:origin=0x2000,length0x400

PAGE1:DATA:origin=0x800,length0x400

)

SECTIONS

(

.vectors:{}>PROGPAGE0

.text:{}>PROGPAGE0

.data:{}>PROGPAGE0

.cinit:{}>PROGPAGE0

.bss:{}>DATAPAGE1

)

下面介紹一下CMD文件中常用的程序段名與含義

1..cinit存放C程序中的變量初值和常量;

2..const存放C程序中的字符常量、浮點常量和用const聲明的常量;

3..text存放C程序的代碼;

4..bss為C程序中的全局和靜態(tài)變量保留存儲空間;

5..far為C程序中用far聲明的全局和靜態(tài)變量保留空間;

6..stack為C程序系統(tǒng)堆棧保留存儲空間,用于保存返回地址、函數(shù)間的參

數(shù)傳遞、存儲局部變量和保存中間結(jié)果;

.sysmem用于C程序中malloc、calloc和realloc函數(shù)動態(tài)分配存儲空間。

(二vecs.asm文件簡介

vecs.asm是DSP的中斷向量表文件。中斷服務(wù)程序的地址(中斷向量)要裝

載到存儲器的合適區(qū)域。一般中斷向量表文件是采用匯編語言編寫;在文件中一般

匯編指令.sect來生成一個表。這個表包含中斷向量的地址和跳轉(zhuǎn)指令。因為中斷

讀物的標(biāo)志符在匯編語言模塊外部使用,所以標(biāo)志符用.ref或.global。

(三GEL文件簡介

GEL文件的功能同cmd文件的功能基本相同,用于初始化DSP。但它的功能

比cmd文件的功能有所增強(qiáng),GEL在CCS下有一個菜單,可以根據(jù)DSP的對象

不同,設(shè)置不同的初始化程序。以下面的例子介紹一下GEL文件的構(gòu)成。

例:

#defineDEC5502_CTL0x6000()〃定義DEC5502_CTL寄存器

#defineDEC5502JNT0x60001//定義DEC55()2_INT寄存器

#defineDEC5502_STA0x60002//定義DEC5502_STA寄存器

StartUp(;開始函數(shù)

GEL_MapReset(;;存儲空間復(fù)位

GEL_MapAdd(0x0000,0,0x7fff,1,1;定義程序空間()()()()-7fff可讀寫

GEL_MapAdd(()x8()00,0,0x7000,1,1;定義程序空間8000-玲()0可讀寫

GEL_MapAdd(()x()()()(),1,()x1()0(),1,1;定義數(shù)據(jù)空間0000-f()()()可讀寫

GEL_MapAdd(0xffff,2,1,1,1;定義I/O空間Oxffff可讀寫

GEL_MapOn(;存儲空間打開

GEL_MemoryFill(0xffff,2,1,0x40;在I/O空間添入數(shù)值40h

)

3.3CCS常用指令簡介

1.設(shè)置斷點。

將光標(biāo)放置在需要設(shè)置斷點的程序行前,選擇Debug-Breakpoints,即完成可

一個斷點的設(shè)置。

2.CCS提供3種方法復(fù)位目標(biāo)板

1ResetDSP:Debug-ResetD,初始化所有的寄存器內(nèi)容并暫停運行中的程

序。使用此命令后,要重新裝載out文件后,再執(zhí)行程序。

2Restart:Debug—Restart,將PC值恢復(fù)到當(dāng)前載入程序的入口地址。

3Gomain:Debug—Gomain,將程序運行到主程序的入口處暫停。

3.CCS提供4種執(zhí)行操作

1執(zhí)行執(zhí)行:Debug-Run,程序運行直到遇到斷點為止。

2暫停執(zhí)行:Debug->Halt,程序停止運行。

3動畫執(zhí)行:Debug-Animate,用戶反復(fù)運行程序,直到遇到斷點為止。

4自由執(zhí)行:Debug—RunFree,禁止所有斷點運行程序。

4.CCS提供4種單步執(zhí)行操作

1單步進(jìn)入:快捷鍵F8,Debug-stepinto,當(dāng)調(diào)試語句不是基本的匯編指

令時,此操作進(jìn)入語句內(nèi)部。

2單步執(zhí)行:Debug—stepOver,此命令將函數(shù)或子函數(shù)當(dāng)作一條語句執(zhí)

行,不進(jìn)入內(nèi)部調(diào)試。

3單步跳出:Debug—stepOut,此命令作用為從子程序中跳出

4執(zhí)行到光標(biāo)處:快捷鍵crtl+F10,Debug—RuntoCursor,此命令作用為

將程序運行到光標(biāo)處。

5.內(nèi)存、寄存器與變量的操作

1查看變量:使用view—WatchWindow命令

2查看寄存器:使用view—Registers—*CPURegisters命令

3查看內(nèi)存:使用view—memory命令

6.Graph的設(shè)置即圖形顯示

1選擇View—Graph—>Time/Frequencyo

2在彈出的GraphPropertyDialog對話窗中,將GraphTitle,StartAddress,

AcquisitionBufferSize,DisplayDataSize,DSPDataType等的屬性可改變?yōu)?/p>

如下圖所示(也可根據(jù)具體需要設(shè)置屬性)。向下滾動右側(cè)的滾動條或調(diào)整dialog

框的大小可看到所有的屬性。

示例(A將起始地址為0x2c28的數(shù)組進(jìn)行圖形顯示

3點擊OK,將出現(xiàn)所設(shè)的圖形窗口。如:在濾波實驗中,用以上方法設(shè)定的

形窗口,在運行濾波程序后,最終的顯示結(jié)果如下圖所示

4可以在圖形上單擊右鍵,選擇“FloatInMainTable",這時圖形將浮現(xiàn)在主窗

中,以便觀察。

4.實驗準(zhǔn)備:

1.將DSP仿真器與計算機(jī)連接好;

2.將DSP仿真器的JTAG插頭與SEED-DEC5502單元的J1相連接;

3.啟動計算機(jī),當(dāng)計算機(jī)啟動后,打開SEED-DTK5502的電源。觀察

SEED-DTK_MBoard單元的+5V,+3.3V,+15V,-15V的電源指示燈燈

以及SEED-DEC5502的電源指示燈D2、D4是否均亮;若有不亮的,請斷開電

源,檢查電源。

下面按照原文件、工程文件以及編譯條件的設(shè)置來分別介紹一下CCS的使

用。

5.實驗步驟:5.1創(chuàng)建源文件

1.雙擊

圖標(biāo)進(jìn)入CCS環(huán)境。

CCS2CC5000).

2.打開CCS選擇File—New-SourceFile命令

CCS2

3.編寫源代碼并保存

CCS2CC5000)

4.保存源程序名為math.c,選擇File—Save

5.創(chuàng)建其他源程序(如.cmd)可重復(fù)上述步驟。

5.2創(chuàng)建工程文件

1.打開CCS,點擊Project->New,創(chuàng)建一個新工程,其中工程名及路徑可任意

指定

彈出如下對話框:

*1CodeComposer

FileEditViewProjectDebugProfilerGELOptionToolsDSP/BIOSWindowHelp

三]|赭取喻聃Ie

矗后I起碼I裊爽

2.在Project中填入工程名,Location中輸入工程路徑;其余按照默認(rèn)選項,

點擊完

成即可完成工程創(chuàng)建;

3.點擊Project選擇addfilestoproject,添加工程所需文件;

4.在彈出的對話框中的下拉菜單中分別選擇.c點擊打開,即可添加源程序

math.c添

加到工程中;

5.同樣的方法可以添加文件math.cmd、rts.lib到工程中;在下面窗口中可以

看到

math.c、math.cmd、rts.lib文件已經(jīng)力口至ij工程文件中。

5.3設(shè)置編譯與連接選項

I.點擊Project選擇BuildOpitions;

2,在彈出的對話框中設(shè)置相應(yīng)的編譯參數(shù),一般情況下,按默認(rèn)值就可以;

....

BuildOptionsformath,pjt

[>ath.pjt

卬而a0a:

JFiles

?-JOELfile

_jProjects

-哥sath.:

Ip

De

c網(wǎng)p

nn

lGel

In

ulcb

-.J國

」r

so

因ffiuln

!it

CPUHALTED

3.在彈出的對話框中選擇連接的參數(shù)設(shè)置,設(shè)置輸出文件名(可執(zhí)行文件與空

間分配

文件),堆棧的大小以及初始化的方式。

5.4工程編譯與調(diào)試

1.點擊Project-Buildall,對工程進(jìn)行編譯,如正確則生成out文件;若是修

改程序,

可以使用Project-Build命令,進(jìn)行編譯連接,它只對修改部分做編譯連接工

作??晒?jié)省編譯與連接的時間。編譯通過,生成.out文件;

2.點擊FileToadprogram,在彈出的對話框中載入debug文件夾下的.out可

執(zhí)行

文件;

eEileEditViewErojectDebugProfilerGELOptionloolsDSP/BIOSttindow

Help-3x

謔小i點

math,pjt▼[Debug▼楞圜搓i|?

息比'(3國感國國畫d

-

?!那9Files1

#include<stdio.h>

今?)?_JGELfiles

(?-1Prolects

#defineQx4

Hv4zJ

HL2J

BuildComplete,

0Errors,0Warningsr0Remarks.

「Build/h11>1

CPUHALTEDQForHelp,pressFlLn

3.裝載完畢;

EileEditJiewErojectDebugFtofilerQELOptionToolsDgP/BIOSJindor

Help-占x

圖以。FRa%曉昌格能夠履

|math.pjt-▼IlDebug~二參四康“?包|電文

(ftf0圖寫回回回11

?!?

voidma1n()

停<>k

fixed_add(1556,40);

?>

fixedsub(334r222);

(p?fixed_mul(188,188);_,

fixed_div(188,18);

.floatAridf2..1.:二J

J±Ut2J

1112^

hBuild入Stdout/

CPUHALTEDII@ForHelp,pressFlLn

4.點擊debug—GoMain回到C程序的入口;

FileEditViewProjectDebugProfilerGELOptionToolsDSP/BIOSWindow

hJJjT1

|\Build)\Stdout[

CPUHALTEDForHein.DressFlLn

5.打開File—Workspace—>SaveWorkspace保存調(diào)試環(huán)境,以便下次調(diào)試時不

而yata1芟rttj-

重新進(jìn)行設(shè)置。只要File—>Workspace—LoadWorkspace即可恢復(fù)當(dāng)前設(shè)置。

6.思考題

1.DSP軟件開發(fā)與常規(guī)的軟件開發(fā)(如:VC++等)有何區(qū)別?

2.仿真器在DSP軟件開發(fā)中的作用是什么?

基礎(chǔ)實驗2:簡單應(yīng)用程序的調(diào)試

1.實驗?zāi)康模?/p>

1.熟悉CCS集成開發(fā)環(huán)境,掌握工程的生成方法;

2.熟悉SEED-DEC5502實驗環(huán)境;

3.掌握CCS集成開發(fā)環(huán)境的調(diào)試方法。

2.實驗內(nèi)容:

1.編譯與鏈接的設(shè)置,生成可執(zhí)行的DSP文件;

2.進(jìn)行DSP程序的調(diào)試與改錯;

3.學(xué)習(xí)使用CCS集成開發(fā)工具的調(diào)試工具;

3.實驗程序,包含文件:

本實驗中主要包括以下文件:

l.math.c這個文件中包含了實驗中關(guān)于DSP運算的主要函數(shù)。主要包含有:

fixed_add(intx,inty:定點加法運算;

fixed_sub(intx,inty:定點減法運算;

fixed_mul(intx,inty:定點乘法運算;

fixed_div(intx,inty:定點除法運算;

float_add(doublex,doubley:浮點力口法運算;

float_sub(doublex,doubley:浮點減法運算;

float_mul(doublex,doubley:浮點乘法運算;

float_div(doublex,doubley:浮點除法運算;

float_fixed(doubiex:浮點轉(zhuǎn)定點運算;

fixed_float(intx:定點轉(zhuǎn)浮點運算;

2.math.cmd這是DSP的鏈接文件。它的主要功能是將DSP的每段的程序鏈接

到相

應(yīng)的DSP的存貯區(qū)中。

3.rts55x.lib這是一個庫文件,主要包含了有關(guān)C的運行環(huán)境與相應(yīng)的函數(shù)的

代碼。

4.實驗準(zhǔn)備:

首先將光盤下()3.ExamplesofProgram\04.SEED-DTK5502實驗程序目錄下的

3.1.5Math文件夾拷貝到D:盤根目錄下。

1.將DSP仿真器與計算機(jī)連接好;

2.將DSP仿真器的JTAG插頭與SEED-DEC5502單元的J1相連接;

3.打開SEED-DTK5502的電源。觀察SEED-DTK_MBoard單元的+5V,+

3.3V,

+15V,-15V的電源指示燈以及SEED-DEC5502的電源指示燈D2、D4是

否均亮;若有不亮的,請斷開電源,檢查電源。

5.實驗步驟

4.雙擊

圖標(biāo)進(jìn)入CCS環(huán)境。

CCS2CC5000).

5.點擊Project—open命令,在彈出的對話框中添加math.pjt文件;

CCS2CC300Q)

I

..』

6.按照下圖所示的方法添加GEL文件,即右鍵點擊工程視窗中的GELfiles,

在彈出的

菜單中選擇laodgel命令。

CCS2CC300Q)

7.按照下圖所示添加.out文件,即使用File—LoadProgram菜單命令。.out文

件一

般存放在math文件下的debug文件夾中。

fileEditJ[ievErojectDebugProfilerGELOptionloolsD£P(guān)/BIOSfindovHelp

Hev

Open...Ctrl+O

LoadErograa...

ReloadProgran

LoadSymbols

ReloadSymbols

UnloadSymbols

Load£EL...

Data

lorkspace

EileI/O...

RecentSourceFiles

RecentWorkspaces

8.使用projiect-Bulid命令編譯當(dāng)前程序。使用projiect—Bulidall命令編譯整

個工程

程序。

注意:

在這個實驗中,為了加深對CCS的了解,分別在編譯與鏈接過程中設(shè)置了的

錯誤行。這些錯誤行都是在程序調(diào)試中經(jīng)常遇到的。

□源程序錯誤:

?在函數(shù)fixed.add()中的z的定義未加“;”號;

?函數(shù)float_add()的{}號缺右邊而未完整

□鏈接錯誤;

?DSP的空間分配重疊;

在進(jìn)行此實驗時,只有將上述的程序錯誤改正后才能正確的編譯與鏈接。產(chǎn)生

MATH.out。

鏈接錯誤修改方法如下:

鏈接錯誤存在于CMD文件中:

□MMR:origin=OOOOOOOh,length=OOOOOdOh

修改為:

MMR:origin=OOOOOOOh,length=OOOOOcOh

9.點擊debug—GoMain回到C程序的入口main(函數(shù)處。

囤ElleEditViewErojectDebugProfiler£ELOptionToolsDSF/BIOSJLindovHelp

X

E)6ax公fs|>,5co*1▼1Iw

|?ath.pjt|(Debug▼曲空?R

0Sa!Q]0@d

00BB4C4effAADD#-l.SPA

殳Files00BB4E6c009c97CALL

(T科?_JGELfiles00BB524e01AADD#1,SP

(?--JProjects▼J30BB544804RET

<>00BB56_abort:

00BB5620NOPV

QJdJ<>

theresultoffixed_oddwas15961一

theresultoffixed_subwas1121

theresultoffixed_mulwas22091

theresultoffixed_divwas1671

theresultoffloat_addwas3.700000e+031

theresultoffloat_subwas-1.000000e+021

theresultoffloat_mulwas6.000000e+041

theresultoffloat_divwas1.000000e+021

theresultoffloat_fixedwas15571

th?呼呼1三off[xedf1ogtwas9?721250e-01.1

|\Build人Stdout人Messages/J業(yè)對

CPUHALTED?ForHelp?pressF1[.r127,Cc

10.使用F5快捷鍵,運行程序,在Stdout觀察窗中查看程序運行結(jié)果。

回ElleEditViewBroJectDebugProfiler登LOptionToolsDgP/BIOSflndowKelp-

9X

圖mx

[math.pjt~~〔Debug~-3出.懶S酉|?之|'g

泉W(3圖3!國日回£1

00BB4C4effAADD#-l.SPA

fFiles00BB4E6c009c97CALL_unlink

華(h*JGELfiles00BB524e01AADD#1.SP

年-ProjectsR0BB544804RET

<00BB56_dbort:

100BB5620NOPV

FW一旦⑷>

th?resultfixed_addwas1596!▲

theresultfixed_subwas112!

theresultfixed_mulwas2209I

theresultfixed_divwas167I

theresultfloat_addwas3.700000e+03I

theresultfloat_subwas-1.000000e+02I

theresultfloat_mulwas6.000000G+04I

theresultfloatdivwas1.000000e+02I

theresultfloat-fixedwas1557!

resultfixedfloatwas9.731250?+01!

小Build入Stdout人Messages/

CPUHALTED

6.思考題

1.當(dāng)編譯或鏈接過程中出現(xiàn)了錯誤或告警時,如何利用編譯窗口提示的信息來

修改程序?

應(yīng)用實驗1:DSP數(shù)據(jù)存取實驗

1.實驗?zāi)康模?/p>

1.了解TMS320VC5502的內(nèi)部存儲器空間的分配及指令尋址方式;

2.學(xué)習(xí)用CodeComposerStudio修改、填充DSP內(nèi)存單元的方法;

3.學(xué)習(xí)操作TMS320VC5502內(nèi)存空間的指令。

2.實驗內(nèi)容:

1.讀寫DSP內(nèi)存單元數(shù)據(jù);

2.復(fù)制內(nèi)存單元的數(shù)據(jù)。

3.實驗背景知識:

TMS320VC55xx系列DSP基于增強(qiáng)的哈佛結(jié)構(gòu),可以通過三組并行總線訪問

多個存儲空間。它們分別是:程序地址總線(PAB)、數(shù)據(jù)讀地址總線

(DRAB)和數(shù)據(jù)寫地址總線(DWAB)。由于總線工作是獨立的,所以可以同

時訪問程序和數(shù)據(jù)空間。

4.實驗程序功能與結(jié)構(gòu)說明:

1.Memory.c:這是實驗的主程序,包含了系統(tǒng)初始化,讀寫、復(fù)制DSP內(nèi)存

單元

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論