第3章C程序编写基础.pdf

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章C程序编写基础

第3章 C/C++程序编写基础 3.1 C/C++编辑器概述 TMS320X28xx的C编译器是一个功能齐全的优化 编译器,可以利用该编译器将标准的ANSI C/C++ 程序直接转换成TMS320X28xx处理器的汇编代码。 ANSI: American National Standards Institute 美国国家标准学会 3.1.1 C/C++语言的主要特征 1.标准的ANSI C/C++语言 2. ANSI标准实时运行支持 TMS320X28xx编译器工具为各种处理器提供完整的实时 运行库,库中包括标准输入/输出函数、字符串操作函数、动 态分配存储空间函数、数据格式转换函数、时间记录函数、 三角运算函数、指数运算函数和双曲线运算函数等。在实时 运行库中不提供信号处理函数,因为这些函数是与目标系统 有关的。扩展的实时运行库还包含rts函数,可以利用这些函 数访问大范围(far)的存储空间。 3.1.2 输出文件 TMS320X28xx编译器输出下列代码: (1) 汇编源代码输出 TMS320X28xx编译器可以产生汇编语言源码文件, 方便用户查看由C/C++产生的汇编源代码。 (2) COFF 目标文件 通过 目标文件格式(COFF)允许用户在连接时定义系 统的存储器映射 (Memory Map)。这样能够把C/C++的代 码和数据对象连接到指定的存储器区域,最大限度地提 高代码的效率。COFF文件还支持源文件级调试。 (3) ROM数据格式转换。 对于独立 (Stand-alone)的嵌入式应用系统,编译 器能够把所有代码和初始化数据写入ROM中,使C/C++代 码能够在系统复位完成后运行。 3.1.3 编译器接口 l.编译器shell程序 编译器包含一个shell程序(c12000-v28) ,可以 用来单步完成程序的编译、汇编和链接。 C编译器(C Compiler):产生汇编语言源代码。 汇编器(Assembler):把汇编语言源文件翻译成机器语 言目标文件,机器语言格式为公用目标格式(COFF)。 链接器(Linker):把多个目标文件组合成单个可运行目 标模块。它一边创建可运行模块,一边完成重定位以 及决定外部参考。链接器输入的是可重定位的目标文 件和目标库文件。 2.灵活的汇编语言接口 编译器为用户提供了灵活方便的函数调用接口,可以 非常方便地实现C/C++函数和汇编语言的相互调用。通常 情况下,程序的主架构采用C/C++编写,对于代码的效率 要求较高的程字段采用汇编语言。在C/C++程序中调用汇 编主要有以下3种实现方法。 (1) 使用独立的汇编语言模块或文件,在目标代 码链接过程中将汇编代码链接到C/C++程序模块中,这 种方法也是最通用的方法。 (2) 直接在C/C++程序中嵌入汇编程序。 (3) 直接在C/C++程序中调用汇编函数。 3.1.4 编译器操作 1. 集成的预处理器(Integrated Preprocessor) TMS320X28xx的C/C + +编译器包含标准的预 处理功能,这些功能主要完成下列预处理任务: 宏定义和扩展; #include文件处理; 条件编译处理; 其他预处理标识 。 2.代码优化 编译器采用先进的优化技术对C/C++源代码进行优化, 如下图所示,从而减小代码的尺寸,提高代码的效率和 运行速度。C28x优化器充分利用C28x的结构特点对其代 码进行优化,生成更高效率的代码。优化器是位于分析 器和代码产生器中间的优化工具,最简单的方法就是使 用c12000- v28 shell程序,并通过-O选项确定优化级别。 3.1.5 编译器工具 源代码交叠工具(Source Interlist Feature)。编译器 工具中包含一个源代码交叠工具,它把C/C++语句和编译 后的汇编语句对应交叠在一起,用户可以使用这个工具观 察与C/C++语句相关的汇编代码。 创建库工具

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档