文档详情

3-3-汇编伪指令.ppt

发布:2018-05-08约3.07万字共95页下载文档
文本预览下载声明
* 代码生成器(code generator):分析器产生的文件(.if)或由优化产生的文件(.opt)作为输入,通过代码生成器将产生一个汇编语言源文件。 内部列表公用程序(interlist utitity):编译器产生的汇编文件和C源文件作为输入,公用程序产生扩展的汇编源文件,包含C文件中的语句和汇编语言注解。 汇编器(assembler):代码生成器产生的汇编语言文件作为输入,汇编器产生一个COFF目标文件。 链接器(linker):汇编器产生的COFF目标文件作为输入,连接器产生一个可执行的目标文件。 * * * __lflags 0000e000 _c_int00 ffffffff cinit 0000e01e edata end 0000e016 etext ffffffff pinit GLOBAL SYMBOLS: SORTED BY Symbol Address address name __lflags ___bss__ .bss ___end__ end 0000e000 ___text__ 0000e000 .text 0000e000 _c_int00 0000e016 etext 0000e016 .data 0000e016 ___data__ 0000e016 ___etext__ 0000e01e edata 0000e01e ___edata__ ffffffff pinit ffffffff ___cinit__ ffffffff ___pinit__ ffffffff cinit [18 symbols] * 第五节 C语言开发方法 设计C54x 软件途径 利 用 C 语 言 进 行 编 程 T1公司提供的CCS平台有一个优化ANSI C编译器,可以在C源程序级进行开发调试。 优点 大大提高了软件的开发速度和可读性,方便了软件的修改和移植。 缺点 效率比汇编代码低,无法在所有的情况下都能合理地利用DSP芯片所提供的各种资源。某些硬件控制也不如汇编程序方便,有些甚至无法用C语言实现。 * 程序比较繁杂的;不同公司的芯片汇编语言是不同,兼容性差。用汇编语言开发基于某种芯片的产品周期较长,并且软件的修改和升级较困难,此外,汇编语言的可读性和可移植性较差。 利 用 纯 汇 编 语 言 进 行 编 程 利用T1公司提供的CCS平台用TMS320C54x汇编语言进行开发调试。 优点 可以更充分合理地利用芯片提供的硬件资源,其代码效率高,程序执行速度快。 缺点 * 采用C和汇编语言混合编程必须遵循有关的规则,否则会遇到一些意想不到的问题,给开发设计带来许多麻烦。 利 用 C 和 汇 编 语 言 混 合 编 程 利用T1公司提供的CCS平台进行C和汇编语言混合开发调试。 优点 缺点 既充分利用DSP芯片的资源,又充分发挥了C语言的优点,使两者有机结合起来。 * 与外围设备通信 C语言开发主要涉及 将DSP的C语言程序转化为汇编程序 存储器模式、目标表征、寄存器规则、函数结构与调用规则、C与汇编的接口、中断处理、运行支持算术函数、系统初始化。 将常用函数和程序放入库中供其它程序调用。 调试程序 ANSI C编译器 运行环境 I/O口编程 C语言编程的各种工具的使用 运行支持库的使用与建立 试器的使用 * 一、 C语言开发中的运行环境 1.存储器模式 由C程序生成的每一块程序或数据存放于存储空间的一个连续块中。 编译器既不考虑所提供的存储器的类型,也不考虑哪些空间不能为代码段或数据段使用,或哪些空间是为I/O或控制而保留的。 编译器只是产生程序代码,但它们都是可重定位的,由链接器将它们放到合适的存储器空间。如将全局变量放到片内RAM,将可执行代码放至ROM中。 * C语言进行编译时产生的段 主要用于数据或可执行代码。 已初始化段 .text .cinct .const .switch 包含所有可执行代码以及浮点常数 包含用于对变量与常数进行初始化的数值表 包含字符串常量和以const关键字定义的变量 为.const语句建立的表格 。 * 未初始化段 .bss .stack .system 为系统保留全局、静态变量空间和常数表 为系统堆栈分配存储器 为动态存储器函数malloc、calloc、realloc分配存储器空间 为系统保留存储器空间,通常是RAM,程序运行时,利用这些空间创建和存储变量 通常,text,.cinit,.swi
显示全部
相似文档