汇编语言程序的开发工具课件

上传人:我*** 文档编号:143505903 上传时间:2020-08-31 格式:PPT 页数:36 大小:149KB
返回 下载 相关 举报
汇编语言程序的开发工具课件_第1页
第1页 / 共36页
汇编语言程序的开发工具课件_第2页
第2页 / 共36页
汇编语言程序的开发工具课件_第3页
第3页 / 共36页
汇编语言程序的开发工具课件_第4页
第4页 / 共36页
汇编语言程序的开发工具课件_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《汇编语言程序的开发工具课件》由会员分享,可在线阅读,更多相关《汇编语言程序的开发工具课件(36页珍藏版)》请在金锄头文库上搜索。

1、第四章,汇编语言程序的开发工具,DSP应用系统的设计过程,根据需求写出任务说明书,根据任务书确定技术指标,DSP芯片及外围芯片,总体设计确定软硬件分工,软件设计说明书,硬件设计说明书,软件编程与调试,硬件(.sch / .pcb ),系统集成,硬件调试,系统测试、样机完成、中试、产品测试与生产,硬件系统设计框图,确定硬件方案,器件选型,原理图设计,PCB图设计,硬件调试,系统分析,系统综合,软件设计框图,DSP软件设计步骤,C54x两种编程语言: 汇编语言( *.asm ) C/C+语言(*.c ) 编写C或汇编源程序 经c编译器和汇编器,.c .asm .obj COFF目标文件 经汇编器,

2、.asm .obj COFF目标文件,经链接器,根据链接命令文件(.cmd),将多个.obj文件或库文件链接起来,分配各段地址,生成可执行文件(.out) 用模拟器/仿真器,分析验证.out文件 用格式转换工具,.out .hex文件,并写入EPROM/FLASH中 注:c编译器三个功能:编译,汇编,链接,DSP芯片的开发工具,代码生成工具:将DSP源文件编译汇编并链接成可执行的DSP程序 代码调试工具:对DSP程序及系统进行调试,以达到设计目标 汇编语言程序的编辑、汇编和链接过程(代码生成): 图4.2.1,DSP芯片的开发工具,DSP开发系统(代码调试) 集成开发环境CCS,Simulat

3、or软件仿真器,完成用户程序的非实时调试; 可扩展的开发系统,Emulator硬件仿真器,将PC中用户程序下载到目标系统的存储器中,完成用户程序的实时调试; 硬件开发模块(EVM) 固化用户程序:,说明,TI各类DSP芯片:指令集不同,但编程方式一致 链接命令文件写法一致 语言规则,伪指令,宏用法一致 汇编器,链接器,编译器用法和参数设置一致 硬件仿真器通用,4.3 COFF的一般概念,COFF:公共目标文件格式 编写汇编程序时,采用段sections(代码段,数据段等)的形式,模块化编程方便,程序可移植性大 汇编器和链接器提供一些伪指令来建立和管理各种段,段,段(sections) :指在存

4、储器中占据相邻空间的代码或数据块 每个COFF文件都被分成若干个段 每行汇编语句都从属一个段 一般,COFF文件都包含3种形式的段: .text段:代码段 .data段:已初始化数据段 .bss段:未初始化变量段,两种基本类型的段,三个已初始化段 .text段:存放程序代码 .data段:存放已初始化数据 .sect段:自定义段,存放初始化数据或程序代码 两个未初始化段 .bss段:为未初始化变量保留存储空间 .usect段:自定义段,保留存储空间,汇编器对段的处理,通过段伪指令区别各个段,并将段名相同的语句汇编在一起. 通过5条段定义伪指令:,段定义伪指令格式,P103,P104 格式 .t

5、ext .data .sect “段名” .bss 符号,字数 符号 .usect “段名”,字数 符号:该段起始地址的变量名称,段定义举例:,.bss buffer1,10H inbuf .usect “var1”,8 .sect “vector1” LD #123H,A .,段伪指令使用举例,段程序计数器:SPC .data coeff .word 044h, 055h, 066h .bss buffer,8 prt .word 0456h .text start: LD #0DH,A,段伪指令使用举例,aloop: SUB #1,A BC aloop,AGEQ .data ivals .

6、word 0CCh,0DDh,0EEh var2 .usect newvars,2 inbuf .usect newvars,8,段伪指令使用举例,.text LD #0AH,B mloop:MPY #02H,B BC mloop,BNOV .sect vectors .word 0044h,0088h,思考:,共定义了几个段?各自的段名是什么? 5个段 每个段的长度分别是多少?已初始化段中内容是什么? 例4.3.1:,链接器对段的处理,链接器两个主要功能: P106 链接器有2条伪指令: MEMORY伪指令 SECTIONS伪指令 两个目标文件(*.obj)的链接过程: 图4.3.3,程序装

7、入: 为了运行程序,可执行文件必须传输或装入目标系统存储器中 CCS中LOAD命令 COFF文件中的几个常用符号: .def、.ref、.global 例4.3.3 C54x汇编器的汇编伪指令: P114,4.5 链接器的使用,链接器的输入、输出文件: 图4.5.1 常用链接器选项 -m /-o 文件名、-e 全局符号等 例: -o example.out -m example.map -e start,链接命令文件的编写与使用,链接命令文件的内容:P126 输入文件名 链接器选项 MEMORY和SECTIONS链接伪指令 例: a.obj b.obj -m prog.map -o prog.

8、out,MEMORY链接伪指令,定义存储器配置 存储器各部分命名 规定起始地址和长度 该命令的一般句法: PAGE 0: 程序存储器 PAGE 1: 数据存储器 例4.5.2,SECTIONS链接伪指令,将各输出段定位到所定义的存储器。 SECTIONS命令的任务: 该命令一般句法: Load allocation .text: PRAM PAGE 0 .text: PRAM PAGE 0 .text: load=PRAM PAGE 0 .bss: align=0 x80 PAGE 1 例4.5.1,链接器命令文件举例,vectors.obj example.obj -o example.ou

9、t -m example.map -e start,o,MEMORY PAGE 0: PROG: origin=8000h length=0100h VECS: org=0ff80h len=0040h PAGE 1: DATA1: origin=0060h length=0020h DATA2: origin=0080h length=0100h ,SECTIONS .text: PROG PAGE 0 .data: PROG PAGE 0 .vectors: VECS PAGE 0 .bss:DATA1 PAGE 1 .stack:DATA2 PAGE 1 .heap:DATA2 PAGE

10、 1 ,说明,PAGE 0: .text,.data和.sect定义的段 PAGE 1: .bss和.usect定义的段; 以及.stack和.heap段; 或.data段,说明,存储器分配的原则 该DSP芯片的存储器结构组织 用户编写的汇编(或C)源程序:自定义的段,各段的大小 对同一DSP芯片,该命令文件的内容变化不大,其他常用伪指令,.mmregs:定义MMR的符号名 .word 数1,数2 .float 数1,数2 .def 符号名:当前文件中定义,可被其他文件使用,其他常用伪指令,.ref 符号名:其他文件中定义,在本文件中使用 .global 符号名(.def和.ref之和) .s

11、et 符号名:定义常量符号 .title “源程序名” .end:程序段结束,4.5.6 多个文件的链接实例,两个源文件 example和vectors 伪指令: 段定义: .usect, .bss, .data, .text, .sect 其他:.title, .mmregs, .def, .ref, .end 共定义了几个段?各自段名?是已初始化段或未初始化段?各段应定位在程序存储器还是数据存储器?,链接命令文件的编写: 例4.5.4 堆栈的使用方法:,堆栈的用法,支持软件堆栈:用户指定存储区作为堆栈存储器,由SP指向。 用法: size .set 64H stk .usect “.stack”, size STM #stk+size,SP ; SP指向栈底,本章重点,软件设计步骤 段伪指令的使用 链接命令文件的编写 堆栈的用法 本章作业: 2,3,5,8 将4.5.6节的例子在电脑上调试,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号