DSP4系统与实验教程_2812CMD文件.pptVIP

  • 69
  • 0
  • 约5.22千字
  • 约 34页
  • 2016-12-25 发布于重庆
  • 举报
一个完整的TMS320汇编程序 这是一个完整的汇编程序,其功能计算:y = x0 + x3 + x1 + x2。通过该例程可以加深对汇编程序的了解,熟悉寻址方式和开发调试方法。 (1)汇编源程序(test.asm) * Step 1: 定义有关代码段和数据段 .def x,y,init x .usect ”vars”,4 ; 为变量x保留4个未初始化16位存储单元 y .usect ”vars”,1 ; 为变量y保留4个未初始化16位存储单元 .sect ”table” ; 创建初始化段”table”,存储x的初始化值 init .int 1,2,3,4 .text ; 创建代码段(.text) .global start ; 定义代码段的起始标号 start * Step 2: 处理器模式初始化 BCLR C54CM ; 设置处理器为55x模式 BCLR AR0LC ;设置AR0为线性模式 BCLR AR6LC ;设置AR6为线性模式 * Step 3a: 采用间接寻址方法复制x的初始化值到x copy AMOV #x,XAR0 ; XAR0 指向变量x AMOV #init,AR6 ; XAR6指向初始化表table MOV *AR6+,*AR0+ ; 复制开始 MOV *AR6+,*AR0+ MOV *AR6+,*AR0+ MOV AR6+,AR0+ * Step 3b: 采用直接寻址方法将x的值相加 add AMOV #x,XDP ; XDP 指向变量x .dp x MOV @x,AC0 ADD @x+3,AC0 ADD @x+1,AC0 ADD @x+2,AC0 * Step 3c: 用绝对寻址方法把运算结果写到变量y中 MOV AC0,*(#y) end nop B end (2)链接器命令文件 (test.cmd) test.obj /* 输入文件 */ –o test.out /* 输出文件 */ –m test.map /* map文件*/ MEMORY { DARAM: org= 000100h, len = 8000h SARAM: org= 010000h, len = 8000h } SECTIONS { vars : DARAM table: SARAM .text: SARAM } * 图4-4显示了链接器如何连接两个文件。已经汇编过的两个文件filel.obj和file2.obj作为链接器输入。每个文件包含.text、.data和.bss段和自定义段。链接器把两个文件里的.text段组合成一个.text段,再是.data、.bss 段,最后是自定义段。存储器映射显示了段如何映射到存储器。默认状态下,链接器在地址080h开始,然后把段一个接一个地放到存储器里。 第4章 TMS320汇编语言编程 内容提要: TMS320软件开发流程 TMS320目标文件格式 TMS320汇编器 TMS320汇编伪指令 TMS320C链接器 4.1 TMS320软件开发流程 软件开发流程 软件开发工具 编程语言 汇编语言 编程过程复杂,但程序执行效率高 C/C++语言 编程容易,但程序执行效率不如汇编语言 软件开发环境 集成开发环境CCS(Code Composer Studio) 非集成开发环境 4.1.1 软件开发流程 非集成开发环境下软件开发的流程图 用户采用C/C++语言或汇编语言编写源文件(.c或.asm),经C/C++编译器、汇编器生成COFF格式的目标文件(.obj),再用链接器进行链接,生成在C55x上可执行的目标代码(.out),然后利用调试工具(软件仿真器simulator或硬件仿真器emulator)对可执行的目标代码进行仿真和调试。 当调试完成后,通过Hex代码转换工具,将调试后的可执行目标代码(.out)转换成EPROM编程器能接受的代码(.hex),并将该代码固化到EPROM中或加载到用户的应用系统中,以便DSP目标系统脱离计算机单独运行。 非集成开发环境下软件开发的流程图 4.1.2 软件开发工具 代码生成工具 源代码编辑器 采用汇编语言或C/C++语言编写的源程序均为文本文件,可以在任何一种文本编辑器中进行。如WORD、EDIT、TC、Windows操作系统自带的笔记本等 C/C++编译器 用来将C/C++语言源程序(.C或.CPP)自动编译为C55x的汇编语言源程序(.asm) 汇编器 用来将汇编语言源文件(.asm)汇编成机器语言COFF目标文件(.obj) 链接器

文档评论(0)

1亿VIP精品文档

相关文档