DSP原理及应用.ppt_第1页
DSP原理及应用.ppt_第2页
DSP原理及应用.ppt_第3页
DSP原理及应用.ppt_第4页
DSP原理及应用.ppt_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Dspsl TMS320C54x DSP 结构、原理及应用 孔莹莹 yayako_ 第三章 汇编语言程序开发工具 主要内容: v TMS320C54x DSP 软件开发过程 v 汇编语言程序的编写方法 v 编辑、汇编和链接过程 v 公共目标文件格式(COFF-Common Object File Format) v 汇编命令 v 链接命令和链接命令文件 v 映象文件 上机软件在网上下载 Ftp地址: ftp:DSPSL.NUAA.EDU.CN 用户名:空 密码:空 1、上机所用实验内容和软件在以下子目录下: TMS320C54xDSP结构、原理与应用实验(周建 江老师)TI公司 (附录1下为仿真软件) 2、上课用DSP讲稿: DSP讲稿_pdf 3、ADI公司的实验软件和例子在 ADI公司 下 4、做完作业上传子目录: 2012级本科生DSP作业 上交目录 上机软件在网上下载 Ftp地址: ftp: DSPSL.NUAA.EDU.CN 用户名:空 密码:空 上机所用实验内容和软件在以下子目录下: DSP综合实验课程实验软件TI公司 软件 开发 过程 TMS320 C54 开发过程说明 vC编译器(C Compiler) v汇编器(Assembler) v链接器(Linker) v助记符到代数式指令翻译器(Mnemonic-to- algebraic translator utility) v建库实用程序(Library-build utility) v十六进制转换程序(Hex conversion utility) v绝对制表程序(Absolute lister) v交叉引用制表程序(Cross-reference lister ) 调试工具 v软件仿真器(Simulator/CCS) v可扩展的开发系统仿真器(XDS510 /XDS560) v评价模块(EVM) 汇编语言程序的编写过程 1、汇编语言源程序以.asm为其扩展名。 2、汇编语言源程序的每一行都可以由四个部分组成,句 法如下: 汇编语言源程序编写方法 举例: * * example.asm y= a1*x1+a2*x2+a3*x3+a4*x4 * * .title “example.asm“ STACK .usect “STACK“, 10h ;allocate space for stack .bss x, 4 ;allocate 9 word for variables .bss a, 4 .bss y, 1 .def start(_c_int00) .data table: .word 1, 2, 3, 4 ;data follows . .word 8, 6, 4, 2 汇编命令 举例(续) .text ;code follows . start: STM #STACK+10h, SP ;set stack pointer ; STM #0, SWWSR ;set SWWSR 0; STM #a, AR1 RPT #7 MVPD table,*AR1+ ;move 8 values CALL SUM ;call SUM subroutine end: B end SUM: STM #a, AR3 ;The subroutine Implement STM #x, AR4 ;multiply-accumulate RPTZ A, #3 MAC *AR3+, *AR4+, A STL A, y RET .end 举例(续) 标号 标号:供本程序的其它部分或其它程序调用或跳转。 标号是任选项; 标号后面可以加也可以不加冒号“:”; 标号必须从第1列写起,但第1个字母不能以数字开 头; 标号最多可达32个字符(AZ,az,09,_, 以及$); 引用标号时,标号的大小写必须一致; 标号的值就是SPC(段程序计数器)的值; 如果不用标号,则第一个字母必须为空格、分号或 星号(*)。 助记符 助记符:用于助记符指令、汇编指令、宏指令和宏调用 。 作为助记符指令,一般用大写; 汇编命令和宏命令,以句号“.”开始,且为小写; 汇编命令可以形成常数和变量,当用它控制汇编和 链接过程时,可以不占存储空间; 指令和汇编命令都不能写在第1列。 操作数 注解 操作数:指令中的操作数或汇编命令中定义的内容。 操作数之间必须用逗号 “,” 分开; 有的指令无操作数,如NOP,RESET。 注解:注释是任选项。 注释从分号“;”开始,可以放在指令或汇编命令的后面 ,也可以放在单独的一行或多行; 如果注释从第1列开始,也可以用“*”号。 表31 常用的汇编命令(1) 表31 常用的汇编命令(2) 表32 COFF数据型式 v汇编语言程序中会涉及到各种数据 汇编语言程序的编辑汇编和链接过程 Debug: v 软件仿真器 Sim54xw/CCS v C54x EVM v XDS510/XDS560 源文件 目标文件 链接命令文件 输出文件 MMR文件 编辑 v利用EDIT.COM、NOTEPAD .EXE等文本 编辑器/CCS v编辑*.asm汇编语言源程序 汇编 v 利用汇编器 ASM500 对 .asm文件进行汇编生成.list列表和 .obj目标文件。 常用的汇编器命令: asm5001 -s -l -x 其中: %1 用源文件名代入; -s 将所有定义的符号放在目标文件的符号表中; -l 产生一个列表文件; -x 产生一个交叉汇编表,并把它附加到列表文 件的最后。 链接 v 利用链接器 LNK500 对汇编生成的一个或多个目标 文件(.obj)进行链接,生成.map文件和.out文件 常用的链接命令: lnk500 %1 .cmd 其中,%1.cmd 为链接命令文件名 .map文件给出存储器配置,程序文本段、数据段、 堆栈、向量、在存储器定位表及全局符号在存储器 中位置 .out文件可执行文件,加载到仿真系统或实际应用 系统运行 COMMAND文件 链接命令文件 v作用: 指明输入文件(要链接的目标文件) 指明输出文件(要生成的可执行输出 文件,映像文件) 指明入口地址 说明存储器配置情况 程序段、数据段、堆栈段以及复位和 中断向量在存储器中的安排 链接命令举例 example.obj -o example.out -m example.map -e start MEMORY PAGE 0: EPROM:org=0E000h, len=100h PAGE 1: SPRAM:org=0060h, len=20h DARAM:org=0080h , len=100h 全局符号, 对应程序存储器地址 目标存储器配置命令 链接命令举例(续) SECTIONS .text : EPROM PAGE 0 .bss : SPRAM PAGE 1 .data : DARAM PAGE 1 STACK : DARAM PAGE 1 段定位命令 映象文件(.map) v.map文件给出了存储器的配置情况 程序文本段、数据段、堆栈段以及向量 段在存储器中的定位表 全局符号在存储器中的位置 映象文件举例 * * TMS320C54x COFF Linker Version 1.10 * * Tue May 20 11:13:05 2002 OUTPUT FILE NAME: ENTRY POINT SYMBOL:“start“ address: 0000e000 映象文件举例(续) MEMORY CONFIGURATION name origin length attributes fill - - PAGE 0:EPROM 0000e000 000000100 RWIX PAGE 1:SPRAM 00000060 000000020 RWIX DARAM 00000080 000000100 RWIX 映象文件举例(续) SECTION ALLOCATION MAP output attributes/ section page origin length input sections - - .text 0 0000e000 0000001a 0000e000 0000001a example.obj (.text) .bss 1 00000060 00000009 UNINITIALIZED 00000060 00000009 example.obj (.bss) .data 1 00000080 00000008 00000080 00000008 example.obj (.data) 映象文件举例(续) output attributes/ section page origin length input sections - STACK 1 00000088 00000010 UNINITIALIZED 00000088 00000010 example.obj (STACK) .xref 0 00000000 00000082 COPY SECTION 00000000 00000082 example.obj (.xref) 映象文件举例(续) GLOBAL SYMBOLS address name address name - - - - 00000060 .bss 00000060 .bss 00000080 .data 00000069 end 0000e000 .text 00000080 .data 00000088 edata 00000088 edata 00000069 end 0000e000 .text 0000e01a etext 0000e000 start 0000e000 start 0000e01a etext 7 symbols .out文件 v.out文件是一个可执行文件 v不能查看 DSK (DSP Starter Kit) Block Diagram UART/UART/ RS-232RS-232 TLC320TLC320 AD50AD50 AICAIC 64Kx1664Kx16 1ws SRAM1ws SRAM 256Kx16256Kx16 7ws Flash7ws Flash ParallelParallel Port Port TLC320TLC320 AD50AD50 AICAIC CPLDCPLD D D A A A A TerminalTerminal XDS-510XDS-510 EmulatorEmulator JTAGJTAG PCPC EMIFEMIF CCSCCS DSK includes: DSK board, power supply, DSK-specific CCS, parallel cable, docsDSK includes: DSK board, power supply, DSK-specific CCS, parallel cable, docs Daughter-boardDaughter-board ExpansionExpansion BusBus 调试工具 54x54x C6211-DSP Starter Kit (DSK) vHardware 150 MHz C6211 DSP based board AD535- 16-bit A/D Converter 4 Mbytes SDRAM 128 Kbytes Flash ROM Power Supply Universal (CE Compliant) Parallel Port Cable vSoftware Code Generation Tools C Compiler, Assembler 产生一个需重新 ;定位的入口 0001 0004 4 0002 F020 LD #X, A ;产生一个需重新 ;定位的入口 0003 0000! 5 0004 F7E0 Y: RESET X和Y需重新定位。 假设链接时 X重新定位在地址7100h, .text 段重新定位到从地址7200h开始,那么 Y的重新定位值为7204h。 f073 B Y 变成 f073 0004 7204 f020 LD #X, A 变成 f020 0000! 7100! 汇 编 v汇编器任务:汇编语言源程序目标文件 v目标文件都是COFF文件 v汇编语言程序中包括: 汇编命令 汇编语言指令 宏命令 汇编器的功能 1、将汇编语言源程序编成一个可重定位的目标 文件(.obj文件); 2、如果需要的话,可以生成一个列表文件 (.lst文件); 3、将程序代码分成若干个段,每个段的目标代 码都由一个SPC(段程序计数器)管理; 4、定义(.def)和引用(.ref)全局符号,需要的话还可以 在列表文件后面附加一张交叉引用表; 5、对条件程序块进行汇编; 6、支持宏功能,允许定义宏命令。 运行汇编程序 vC54x的汇编程序(汇编器)名为 asm500.exe v 要进行汇编程序,可键入如下命令: vasm500 input file object file listing file -options 表3-3 汇编asm500的选项(1) 表3-3 汇编asm500的选项(2) 对选项说明 v选项对大小写不敏感 v选项前一定要有一短划(连字符) v选项可以出现在命令行上命令后的任何位置 典型汇编命令 asm500 %1 -l -s -x 表3-3 列表文件举例(1) 表3-3列表文件举例(2)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论