基于DSP的FFT实现课程设计 -

更新时间:2024-05-16 00:17:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课程设计(论文)

题 目 名 称 基于DSP的FFT的实现 课 程 名 称 专业课程设计Ⅱ 学 生 姓 名 学 号 系 、专 业 信息工程系通信工程 指 导 教 师

2014 年 4 月 27 日

摘 要

随着计算机和微电子技术的飞速发展,基于数字信号处理的频谱分析已经应用到各个领域并且发挥着重要作用。信号处理方法是当前机械设备故障诊断中重要的技术基础之一,分析结果的精确程度是诊断成功与否的关键因素。研究频谱分析是当前主要的发展方向之一。数字信号处理基本上从两个方面来解决信号的处理问题:一个是时域方法,即数字滤波;另一个是频域方法,即频谱分析. 矚慫润厲钐瘗睞枥庑赖。 本文主要介绍了离散傅里叶变换以及快速傅里叶变换,通过对DFT以及

FFT算法进行研究,从基础深入研究和学习,掌握FFT算法的关键。通过对DSP芯片工作原理以及开发环境的学习,掌握CCS的简单调试和软件仿真,

在DSP芯片上实现对信号的实时频谱分析。聞創沟燴鐺險爱氇谴净。 关键字:DSP;CCS仿真软件;FFT

目 录

第1章 绪论.................................................................... 0残骛楼諍锩瀨濟溆塹籟。 1.1 DSP简介 ............................... 0酽锕极額閉镇桧猪訣锥。 1.2设计目的 ............................... 0彈贸摄尔霁毙攬砖卤庑。 1.3设计内容 ............................... 0謀荞抟箧飆鐸怼类蒋薔。 1.4设计原理 ............................... 0厦礴恳蹒骈時盡继價骚。 1.5 FFT算法的DSP实现过程 ................. 1茕桢广鳓鯡选块网羈泪。 第2章 硬件实现 ........................................................... 3鹅娅尽損鹌惨歷茏鴛賴。 2.1系统的硬件设计 ......................... 3籟丛妈羥为贍偾蛏练淨。 2.2原理图的设计 ........................... 4預頌圣鉉儐歲龈讶骅籴。 第3章 软件设计 ........................................................... 6渗釤呛俨匀谔鱉调硯錦。 3.1 FFT运算及存储分配 ...................... 6铙誅卧泻噦圣骋贶頂廡。 3.2设计流程图 ............................. 7擁締凤袜备訊顎轮烂蔷。 第4章 系统仿真 ........................................................... 8贓熱俣阃歲匱阊邺镓騷。 4.1 FFT实现的方法 .......................... 8坛摶乡囂忏蒌鍥铃氈淚。 4.2程序运行结果 ........................... 9蜡變黲癟報伥铉锚鈰赘。 第5章 总结.................................................................. 11買鲷鴯譖昙膚遙闫撷凄。 致 谢 ............................................................................ 12綾镝鯛駕櫬鹕踪韦辚糴。 参考文献 ........................................................................ 13驅踬髏彦浃绥譎饴憂锦。 附录 源程序.................................................................. 14猫虿驢绘燈鮒诛髅貺庑。

第1章 绪论

1.1 DSP简介

数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。数字信号处理是利用计算机或专用处理设备,以数字的形式对信号进行分析、采集、合成、变换、滤波、估算、压缩、识别等加工处理,以便提取有用的信息并进行有效的传输与应用。数字信号处理是以众多学科为理论基础,它所涉及的范围极其广泛。如数学领域中的微积分、概率统计、随机过程、数字分析等都是数字信号处理的基础工具。它与网络理论、信号与系统、控制理论、通信理论、故障诊断等密切相关。锹籁饗迳琐筆襖鸥娅薔。 1.2设计目的

(1)加深对DFT算法原理和基本性质的理解;

(2)熟悉FFT的算法原理和FFT子程序的算法流程和应用; (3)学习用FFT对连续信号和时域信号进行频谱分析的方法; (4)学习DSP中FFT的设计和编程思想;

(5)学习使用CCS的波形观察器观察波形和频谱情况; (6)简要画出硬件设计电路图。 1.3设计内容

用DSP汇编语言进行编程,实现FFT运算,对输入信号进行频谱分析。

1.4设计原理

快速傅氏变换(FFT)是一种高效实现离散傅氏变换的快速算法,是数字信号处理中最为重要的工具之一,它在声学、语音、电信、和信号处理等领域有着广泛的应用。 構氽頑黉碩饨荠龈话骛。 对于有限长离散数字信号{x[n]},0 n N-1,其离散谱{x[k]}可以由离散付氏变换(DFT)求得。可以方便的把它改写为如下形式:輒峄陽檉簖疖網儂號泶。

0

nkX?k???x[n]WNn?0N?1k?0,1,...,N?1不难看出,WN是周期性的,且周期为N,即

X?k??N?1?0x[n]e?n?j(2?N)nkk?0,1,...,N?1N的周期性是DFT的关键性质之一。为了强调起见,常用表达式WN取

(n?mN)(k?lN)nkWN?WNm,l?0,?1,?2...代W以便明确其周期是N。

FFT算法可以分为按时间抽取FFT和按频率抽取FFT两大类,输入也有

和复数之分,一般情况下,都假定输入序列为复数。FFT算法利用旋转因子的对称性和周期性,加快了运算速度。用定点DSP芯片实现FFT程序时,一个比较重要的问题是防止中间结果的溢出,防止中间结果的溢出的方法是对中间数值归一化。为了避免对每级都进行归一化会降低运算速度,最好的方法是只对可能溢出的进行归一化,而不可能溢出的则不进行归一化。尧侧閆繭絳闕绚勵蜆贅。 由DFT的定义可以看出,在x[n]为复数序列的情况下,完全直接运算N点DFT需要(N-1)2次复数乘法和N(N-1)次加法。因此,对于一些相当大的N值(如1024)来说,直接计算它的DFT所作的计算量是很大的。FFT的基本思想在于,将原有的N点序列序列分成两个较短的序列,这些序列的DFT可以很简单的组合起来得到原序列的DFT。例如,若N为偶数,将原有的N点序列分成两个(N/2)点序列,那么计算N点DFT将只需要约

[(N/2)2 ·2]=N2/2次复数乘法。即比直接计算少作一半乘法。因子(N/2)2

表示直接计算(N/2)点DFT所需要的乘法次数,而乘数2代表必须完成两个

DFT。上述处理方法可以反复使用,即(N/2)点的DFT计算也可以化成两个(N/4)点的DFT(假定N/2为偶数),从而又少作一半的乘法。这样一级一

级的划分下去一直到最后就划分成两点的FFT运算的情况。识饒鎂錕缢灩筧嚌俨淒。 1.5 FFT算法的DSP实现过程

DSP芯片的出现使FFT的实现方法变得更为方便。由于大多数DSP芯片

都具有在单指令周期内完成乘法—累加操作,并且提供了专门的FFT指令,使得FFT算法在DSP芯片实现的速度更快。FFT算法可以分为按时间抽取FFT和按频率抽取FFT两大类,输入也有实数和复数之分,一般情况下,都假定输

1

入序列为复数。凍鈹鋨劳臘锴痫婦胫籴。 1.5.1FFT运算序列的存储分配

FFT运算时间是衡量DSP芯片性能的一个重要指标,因此提高FFT的运

算速度是非常重要的。在用DSP芯片实现FFT算法时,应允许利用DSP芯片所提供的各种软、硬件资源。如何利用DSP芯片的有限资源,合理地安排好所使用的存储空间是十分重要的。恥諤銪灭萦欢煬鞏鹜錦。 1.5.2 FFT运算的实现

用TMS320C54x的汇编程序实现FFT算法主要分为四步:

(1)实现输入数据的比特反转

输入数据的比特反转实际上就是将输入数据进行码位倒置,以便在整个运算后的输出序列是一个自然序列。在用汇编指令进行码位倒置时,使用码位倒置可以大大提高程序执行速度和使用存储器的效率。在这种寻址方式下,AR0存放的整数N是FFT点的一半,一个辅助寄存器指向一个数据存放的单元。当使用位码倒置寻址将AR0加到辅助寄存器时,地址将以位码倒置的方式产生。鯊腎鑰诎褳鉀沩懼統庫。 (2)实现N点复数FFT

N点复数FFT算法的实现可分为三个功能块,即第一级蝶形运算、第二级

蝶形运算、第三级至

级蝶形运算。对于任何一个2的整数幂

,总

可以通过M次分解最后成为2点的DFT计算。通过这样的M次分解,可构成

M(即)级迭代计算,每级由N/2个蝶形运算组成。硕癘鄴颃诌攆檸攜驤蔹。 (3)功率谱的计算

用FFT计算想x(n)的频谱,即计算

X(k)=X(k)一般是由实部X(k)=

(k)+j(k)

(k)和虚部

(k)组成的复数,即

(k)和虚

因此,计算功率谱时只需将FFT变换好的数据,按照实部实部

部(k)求它们的平方和,然后对平方和进行开平方运算。但是考虑到编程的难度,对于求FFT变换后数据的最大值,不开平方也可以找到最大值,并对功率谱的结果没有影响,所以在实际的DSP编程中省去了开方运算。阌擻輳嬪諫迁择楨秘騖。

2

第2章 硬件实现

2.1系统的硬件设计

基于DSP的系统设计过程中,最小系统的设计是整个系统设计的第一步,

系统设计总是从最小系统开始,逐步向系统应用范围扩展,最终以DSP为核心的大系统的设计。因此最小系统设计DSP设计的关键。DSP最小系统的设计包括DSP电源和地线的设计,JTAG仿真口的设计、复位和时钟电路的设计、上拉和下拉引脚的设计等。氬嚕躑竄贸恳彈瀘颔澩。 锁相环电路、指示灯、 滤波电路 时钟复位电路 TPS7333Q电源模块 TMS320C54X JTAG仿真电路 RAM存储模块 釷鹆資贏車贖孙滅獅赘。 图2.1.1 最小系统的设计

芯片介绍

(1)该模块上的资源有32千字FLASH;

(2)千字SARAM,544字DARAM,外扩64千字的程序ROM,64

千字的数据RAM;

3

(3)两个事件管理器EVA和EVB;

(4)可扩展外部存储器总共192K字空间:64K程序存储器,64K字数

据存储器空间,64K字I/O寻址空间;怂阐譜鯪迳導嘯畫長凉。 (5)看门狗定时模块; (6)19位A/D转换器;

(7)控制局域网络CAN模块,串行通信接口SCI模块; (8)16位串行外设SPI接口模块; (9)基于锁相环的时钟发生器;

(10)高达40个可单独编程或复用的通用输入/输出引脚GPIO; (11)5个外部中断;

(12)电源管理包括3种低功耗模式,能独立地将外设器件转入低功耗工

作模式;

2.2原理图的设计

DSP最小系统的设计包括DSP电源设计,JTAG仿真口的设计、复位和时钟电路的设计、上拉和下拉引脚的设计等谚辞調担鈧谄动禪泻類。 2.2.1电源电路的设计

电源电路的选择是系统设计的一个重要的部分,设计好坏对系统的影响最大。首先需要注意的是,为了减少电源噪声和互相干扰,数字电路和模拟电路一般要独立供电,数字地和模拟地也要分开,并最终通过一个磁珠在一点连在一起,用TPS7333Q进行3.3V电压的转换对最小系统供电嘰觐詿缧铴嗫偽純铪锩。

4

图2.2.1 电源电路

2.2.2复位电路设计

TMS320C54X内部带有复位电路,因此可以直接RS复位引脚外面接一

个上拉电阻即可,这对于简化外围电路,减少电路板尺寸很有用处,但是为了调试方便经常采用手动复位电路。熒绐譏钲鏌觶鷹緇機库。 2.2.3锁相环电路设计

5

图2.2.3 锁相环电路

2.2.4 JTAG口

JTAG是Joint Test Action Group的简称,又称JTAG口,它是一符合IEEE Std 1149.1边界扫描逻辑标准的标准接口。它主要用于在硬件上对DSP

进行实时在线仿真测试和DSP程序的下载,它提供对所连接设备的边界扫描,同时也可以用来测试引脚到引脚的连续性,以及进一步进行DSP芯片的外围器件的操作测试。鶼渍螻偉阅劍鲰腎邏蘞。

第3章 软件设计

3.1 FFT运算及存储分配

(1)DSP芯片的出现使FFT的实现方法变得更为方便,由于大多数DSP芯片都具有在单指令周期内完成乘法——累加的操作,并提供了专门的FFT指令,使得FFT算法在DSP的实现速度更快。一般,FFT的算法可分为按时间抽取FFT和按频率抽取FFT,输入也有实数和复数之分,一般情况下都假定输入是复数序列。纣忧蔣氳頑莶驅藥悯骛。 (2)FFT运算序列的存储分配

FFT运算时间是衡量DSP芯片性能的一个重要指标,因此提高FFT的运算速度是非常重要的。在用DSP芯片实现FFT算法时,应允许利用DSP芯片所提供的各种软、硬件资源。如何合理的利用DSP芯片的有限资源,合理的安排DSP芯片所提供的存储空间相当关键。本设计采用如下所示的存储分配:颖刍莖蛺饽亿顿裊赔泷。

6

0000007F.bss2060206120622063stack21FF2200sine23FF2400cosine25FF2800d_input287Ffft_data28802C7F2C80fft_out307F存储映射寄存器暂存单元堆栈正弦系数表余弦系数表输入数据FFT结果(实部、虚部)FFT结果(功率谱)

图3.1数据空间分配图

3.2设计流程图

DSP初始化 串口设置 AD设置 设置信号源类型、频率幅 值、和采样点数 串口接收,AD采样

7

位码倒置 FFT 运算 功率谱计算 串口发送转换结果 观看转换结果,保存数 据

图3.2 程序流程图

第4章 系统仿真

4.1 FFT实现的方法

(1)根据N值,修改rfft_task.asm中的两个常数,如N=64. K_FFT_SIZE .set 64 K_LOGN .set 6

(2)准备输入数据文件in.dat。输入数据按实部、虚部,实部、虚部,……顺序存放。

(3)汇编、链接、仿真执行,得到输出数据文件out.dat。 (4)根据out.dat作图,就可以得到输入信号的功率谱图。

当N超过1024时,除了修改K_FFT_SIZE和K_LOGN两个常数外,还要增加系数并且修改rfft_task.cmd命令文件。濫驂膽閉驟羥闈詔寢賻。 8

通过data.pjt完成一个64点FFT程序,输入信号为一正弦波。 操作步骤如下: (1)进入CCS环境。

(2)打开CCS选择File—New—Source File。 (3)编写源程序代码。 (4)创建工程文件。

(5)点击Project选择Build Options。

(6)在弹出的对话框在设置相应的编译参数,一般情况下,按默认值就可以。

(7)在弹出的对话框中选择连接的参数设置,设置传输文件、堆栈的大小以及初始化的方式。

(8)点击Project—Build all,对工程进行编译。

(9)点击File—load program,弹出的对话框中载入debug文件夹下的.out可执行文件。銚銻縵哜鳗鸿锓謎諏涼。 (10)点击debug—Go M ain回到C程序的入口。 (11)运行程序,观察结果。

4.2程序运行结果

验证输入数据波形,设置参数:Start Address=0x2800,Page=Data,

Acquisition Buffer Size=64,Display Data Size=64,DSP Data Type=32-bit signed integer挤貼綬电麥结鈺贖哓类。

9

点击OK,就可以看到输入数据波形:

图4.2.1输入数据波形

全速运行程序,看输出结果,设置波形对话框参数:Start Address=0x2c80,

Page=Data,Acquisition Buffer Size=64,Display Data Size=64,DSP Data Type=16-bit signed integer赔荊紳谘侖驟辽輩袜錈。

10

点击OK,就可以看到FFT输出结果:

图4.2.2 FFT输出结果

第5章 总结

在本次课程设计中,我、XXX、XXX三人一组。XXX负责硬件设计部分,XXX负责软件设计部分,我负责系统仿真及论文的编写。在系统仿真时我们需

11

要在实验箱上设置信号源,信号源的幅度应该设在1000左右,信号的频率设在300左右,电压偏移设为1,通道设为0。在论文编写的过程中,我首先对本次课程设计进行了总体设计,然后根据XXX、XXX和我各自负责的内容进行汇总编排。塤礙籟馐决穩賽釙冊庫。 通过本次课程设计我发现DSP应用型很强,许多的原理,程序看似简单,真正去做才知道知识并没有自己想象的那样扎实。从而懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。裊樣祕廬廂颤谚鍘羋蔺。 本次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。仓嫗盤紲嘱珑詁鍬齊驁。

致 谢

在此次设计中,XX老师作为我的指导老师,至始至终都给予我了不少帮助,从下任务书开始,就帮我制定规划,提醒我应注意的问题,借给我资料和实验器

12

材,和我一起调程序,并提出了很多的修改意见以及完善方案。此外还认真批阅了我的论文,指出其中很多瑕疵和不清晰的地方,更重要的是在我遇到困难时对我的鼓励,让我不懈怠、不退缩、也让我更有信心,可以说我的每一点进展都与黄老师的付出是分不开的。绽萬璉轆娛閬蛏鬮绾瀧。 当然还在此,我向身边关心我的老师、同学致以诚挚的谢意!有其他老师和同学都帮了我不少忙,在此不再赘述。谨祝老师们工作顺利,万事如意,桃李满天下;同学们学业有成,前程似锦!骁顾燁鶚巯瀆蕪領鲡赙。

参考文献

[1] 戴明桢等编著.TMS320C54X DSP 结构原理及应用.北京:航空航天大学出版社,第2

13

版,2007;瑣钋濺暧惲锟缟馭篩凉。 [2] 彭启琮编著.DSP技术的发展与应用.北京:高等教育出版社,2002; [3] 胡广书编著.数字信号处理理论、算法与实现.北京:清华大学出版社,2005; [4] 黄席椿、高顺良编著.滤波器综合法设计原理.北京:人民邮电出版社,1978; [5] 沈永欢 梁在中等编著.实用数学手册.北京:科学出版社,2001;

[6] 程佩青编著.数字滤波与快速傅里叶变换.北京:清华大学出版社,1990;鎦诗涇艳损楼紲鯗餳類。 [7] 北京合众达电子技术有限公司编著.SEED-DTK系列实验手册.北京合众达电子技术有限公司出版,2007。栉缏歐锄棗鈕种鵑瑶锬。

附录 源程序

14

#include \#include \main() { int i; float f[256]; FILE *fp;

if((fp=fopen(\\辔烨棟剛殓攬瑤丽阄应。 { printf(\ exit(0); }

for(i=0;i<=255;i++) {

f[i]=sin(2*3.1415926*i/256.0);

fprintf(fp, \} fclose(fp); }

将生成的数据文件复制到目标系统存储器的语句为 d_input .copy sindata 汇编语言程序:

.title \ .mmregs

.include \ .include \ .def start sine: .usect \

15

cosine: .usect \fft_data: .usect \

fft_out: .usect \ STACK .usect \K_DATA_IDX_1 .set 2 K_DATA_IDX_2 .set 4 K_DATA_IDX_3 .set 8 K_TWID_TBL_SIZE .set 512 K_TWID_IDX_3 .set 128 K_FLY_COUNT_3 .set 4

K_FFT_SIZE .set 64 K_LOGN .set 6 PA0 .set 0

.bss .bss .bss .sect .asg .asg .asg

start: SSBX STM STM RPT MVPD STM RPT

d_twid_idx,1 d_data_idx,1 d_grps_cnt,1 \

AR2,REORDERED AR3,ORIGINAL_INPUT AR7,DATA_PROC_BUF FRCT #STACK+10,SP #sine,AR1 #511 #sine1,*AR1+ #cosine,AR1 #511 16

MVPD cosine1,*AR1+

STM #d_input,ORIGINAL_INPUT STM #fft_data,DATA_PROC_BUF MVMM DATA_PROC_BUF,REORDERED STM #K_FFT_SIZE-1,BRC · RPTBD bit_rev_end-1 bit_rev_end:

STM #K_FFT_SIZE,AR0

MVDD *ORIGINAL_INPUT+,*REORDERED+ MVDD *ORIGINAL_INPUT-,*REORDERED+ MAR *ORIGINAL_INPUT+0B .asg AR1,GROUP_COUNTER

.asg AR2,PX .asg AR3,QX .asg AR4,WR

.asg AR5,WI .asg AR6,BUTTERFLY_COUNTER .asg AR7,STAGE_COUNTER STM #0,BK LD #-1,ASM STM #fft_data,PX

STM #fft_data+K_DATA_IDX_1,QX STM K_FFT_SIZE/2-1,BRC

LD *PX,16,A RPTBD stage1end-1 STM #K_DATA_IDX_1+1,AR0 SUB *QX,16,A,B ADD *QX,16,A 17

STH A,ASM,*PX+ ST B,*QX+ ||LD *PX,A SUB *QX,16,A,B ADD *QX,16,A STH A,ASM,*PX+0%

stage1end:

ST ||LD STM STM STM LD RPTBD STM SUB ADD STH ST ||LD SUB ADD STH STH MAR ADD SUB STH B,*QX+0% *PX,A #fft_data,PX #fft_data+K_DATA_IDX_2,QX

#K_FFT_SIZE/4-1,BRC

*PX,16,A stage2end-1

#K_DATA_IDX_2+1,AR0

*QX,16,A,B *QX,16,A

A,ASM,*PX+ B,*QX+ *PX,A *QX,16,A,B *QX,16,A A,ASM,*PX+ B,ASM,*QX+ *QX+

*PX,*QX,A *PX,*QX-,B A,ASM,*PX+ 18

SUB *PX,*QX,A ST B,*QX ||LD *QX+,B ST A,*PX ||ADD *PX+0%,A ST A,*QX+0% ||LD *PX,A stage2end:

STM #K_TWID_TBL_SIZE,BK ST #K_TWID_IDX_3,d_twid_idx STM #K_TWID_IDX_3,AR0 STM #cosine,WR STM #sine,WI STM #K_LOGN-2-1,STAGE_COUNTER ST #K_FFT_SIZE/8-1,d_grps_cnt STM

#K_FLY_COUNT_3-1,BUTTERFLY_COUNTER

ST #K_DATA_IDX_3,d_data_idx stage:

STM #fft_data,PX LD d_data_idx,A ADD *(PX),A

STLM A,QX MVDK d_grps_cnt,GROUP_COUNTER group:

MVMD BUTTERFLY_COUNTER,BRC RPTBD butterflyend-1 LD *WR,T

19

MPY *QX+,A MAC *WI+0%,*QX-,A ADD

PX,16,A,B ;B:=(QR*WR+QI*WI)+PR

滠兴渙藺。 峴扬斕滾澗辐 ST

B,*PX 烬忧毀厉鋨骜。 butterflyend:

;PR':=((QR*WR+QI*WI)+PR)/2

詩叁撻訥||SUB *PX+,B ST B,*QX ||MPY *QX+,A MAS *QX,*WR+0%,A ADD *PX,16,A,B ST B,*QX+ ||SUB *PX,B LD *WR,T ST B,*PX+ ||MPY *QX+,A PSHM AR0 MVDK d_data_idx,AR0

MAR *PX+0 MAR *QX+0 BANZD group,*GROUP_COUNTER- POPM AR0 MAR *QX- LD d_data_idx,A

SUB #1,A,B 20

STLM B,BUTTERFLY_COUNTER

STL A,1,d_data_idx

LD d_grps_cnt,A

STL A,ASM,d_grps_cnt LD d_twid_idx,A STL A,ASM,d_twid_idx BANZD stage,*STAGE_COUNTER- MVDK d_twid_idx,AR0 fft_end:

STM #fft_data,AR2 STM #fft_data,AR3 STM #fft_out,AR4

STM #K_FFT_SIZE*2-1,BRC RPTB power_end-1

SQUR *AR2+,A SQURA *AR2+,A STH A,*AR4+ power_end:

STM #fft_out,AR4 RPT #K_FFT_SIZE-1 PORTW *AR4+,PA0 NOP NOP

here: B here .end

连接命令文件:rfft_task.cmd

/* SOLUTION FILE FOR fft.cmd */ vectors.obj

21

fft.obj -o fft.out -m fft.map -estart MEMORY {

PAGE 0: }

SECTIONS {

sine1 :>PARAM PAGE 0 cosine1 :>PARAM PAGE 0 fft_prg :>PARAM PAGE 0 .bss :>SPRAM PAGE 1 sine: align(512){}>DARAM PAGE 1 cosine: align(512){}>DARAM PAGE 1 d_input :>RAM PAGE 1 fft_data :>RAM PAGE 1 fft_out :>RAM PAGE 1 STACK :>SPRAM PAGE 1 .vectors :>VECS PAGE 0 }

22

PARAM: org=100h len=1000h VECS: org=0FF80H len=0080H SPRAM: org=2060h len=0020h DARAM: org=2200h len=0600h RAM: org=2800h len=0c00h

PAGE 1:

fft.obj -o fft.out -m fft.map -estart MEMORY {

PAGE 0: }

SECTIONS {

sine1 :>PARAM PAGE 0 cosine1 :>PARAM PAGE 0 fft_prg :>PARAM PAGE 0 .bss :>SPRAM PAGE 1 sine: align(512){}>DARAM PAGE 1 cosine: align(512){}>DARAM PAGE 1 d_input :>RAM PAGE 1 fft_data :>RAM PAGE 1 fft_out :>RAM PAGE 1 STACK :>SPRAM PAGE 1 .vectors :>VECS PAGE 0 }

22

PARAM: org=100h len=1000h VECS: org=0FF80H len=0080H SPRAM: org=2060h len=0020h DARAM: org=2200h len=0600h RAM: org=2800h len=0c00h

PAGE 1:

本文来源:https://www.bwwdw.com/article/usk7.html

Top