第5章TMS320C55x汇编语言编程 ■5.1TMS320C55x软件开发流程 ■5.2TMS320C55x目标文件格式 ■5.3TMS320C55x汇编器 5.4TMS320C55x汇编伪指令 ■5.5TMS320C55x汇编语言源文件书写格式 ■5.6TMS320C55x链接器 5.7一个完整的TMS320C55x汇编程序 3
第5章TMS320C55x汇编语言编程 ◼5.1 TMS320C55x软件开发流程 ◼5.2 TMS320C55x目标文件格式 ◼5.3 TMS320C55x汇编器 ◼5.4 TMS320C55x汇编伪指令 ◼5.5 TMS320C55x汇编语言源文件书写格式 ◼5.6 TMS320C55x链接器 ◼5.7 一个完整的TMS320C55x汇编程序 3
第5章TMS320C55x汇编语言编程 ■5.1TMS320C55x软件开发流程 >~5.1.1软件开发流程 >~5.1.2软件开发工具 4
第5章TMS320C55x汇编语言编程 ◼5.1 TMS320C55x软件开发流程 ➢ 5.1.1软件开发流程 ➢ 5.1.2软件开发工具 4
5.1TMS320C55x软件开发流程 5.1.1软件开发流程 ●编程语言 ◆汇编语言 编程过程复杂,但程序执行效率高 ◆C/C++语言 编程容易,但程序执行效率不如汇编语言 软件开发环境 ◆集成开发环境CCS(Code Composer Studio)(第3章) ◆非集成开发环境(本章介绍) (:\ti\ccsv51 tools1 compiler\c55004.4.1bim中可执行文件) 5
5.1 TMS320C55x软件开发流程 5.1.1 软件开发流程 ⚫编程语言 ◆汇编语言 编程过程复杂,但程序执行效率高 ◆C/C++语言 编程容易,但程序执行效率不如汇编语言 ⚫软件开发环境 ◆集成开发环境CCS(Code Composer Studio)(第3章) ◆非集成开发环境(本章介绍) (:\ti\ccsv5\tools\compiler\c5500_4.4.1\bin中可执行文件) 5
5.1.1软件开发流程 ●非集成开发环境下,C55x的软件开发流程和所 用工具与CCS下是一样的。因此本章有关内容也 是学习CCS的基础。 ●两个环境的不同在于: ◆CCS把有关开发工具集成在一个Window界 面下使用,使用更方便 ◆CCS增加了一些新的开发工具,功能更强大 6
5.1.1 软件开发流程 ⚫非集成开发环境下,C55x的软件开发流程和所 用工具与CCS下是一样的。因此本章有关内容也 是学习CCS的基础。 ⚫两个环境的不同在于: ◆ CCS把有关开发工具集成在一个Window界 面下使用,使用更方便 ◆ CCS增加了一些新的开发工具,功能更强大 6
源程序 图5-1非集成开发 C/C+源 文件 (.C或.CPP) 环境下C55x软件 宏源文 C/C+编 译器 源程序 开发流程图 (asm) 存档器 汇编源 文件 反汇编 宏库 汇编器 府 目标文件 库文件 没界 建库 (.obj) 存档器 (.ib) z 可执行输出 目标文 件库 链接器 实时运行 支持库 文件(out) 又举 可脱机运行 HEX代码 转换工身 哥雯髀 。《 的执行程序 EPROM 编程器 绝对地 (.hex) 交翠弘用 C55x 列表器 列表器 调试工具 Z
存 档 器 链 接 器 存 档 器 建 库 工 具 H E X 代 码 转 换 工 具绝 对 地 址 列 表 器 交 叉 引 用 列 表 器 E P R O M 编 程 器 C 5 5 x i M a c 调 试 工 具 反 汇 编 器 C / C + + 编 译 器 汇 编 器 宏 源 文 件宏库 目标文 件库 实 时 运 行 支 持 库 C O F F 目 标 文 件 C / C + + 源 文 件 汇 编 源 文 件 可 执 行 的 C O F F 文 件 源程序 (.C 或.CPP) 源程序 (.asm) 目标文件 库文件 (.obj) (.lib) 可执行输出 文件(.out) 可脱机运行 的执行程序 (.hex) 7 图 5 -1 非集成开发 环境下C55x软件 开发流程图 :\ti\ccsv5 \tools \compiler \c5500_4.4.1 \bin (并列有
:ti\ccsv:5 tools\compiler\c55004.4.1bin(并列有 include和lib文件夹)中可执行文件(*.exe) (D:)>ti ccsv5 tools compiler c5500 4.4.1 bin 搜索"bin abs55.exe acp55.exe ar55.exe asm55.exe asm55p.exe cg55.exe cg55p.exe ci55.exe cl55.exe clist55.exe dem55.exe dis55.exe embed55.exe hex55.exe ilk55.exe libinfo55.exe Ink55.exe masm55.exe mk55.exe nm55.exe ofd55.exe opt55.exe strip55.exe xref55.exe
:\ti\ccsv5\tools\compiler\c5500_4.4.1\bin (并列有 include和lib文件夹)中可执行文件(*.exe)
第5章TMS320C55x汇编语言编程 ■5.1TMS320C55x软件开发流程 >~5.1.1软件开发流程 ~5.1.2软件开发工具 10
第5章TMS320C55x汇编语言编程 ◼5.1 TMS320C55x软件开发流程 ➢ 5.1.1软件开发流程 ➢ 5.1.2软件开发工具 10
5.1.2软件开发工具 。代码生成工具 ◆源代码编辑器 采用汇编语言或C/C++语言编写的源程序均为 文本文件,可以在任何一种文本编辑器中进行。如 WORD、EDIT、TC、Windows操作系统自带的 笔记本等 ◆C/C++编译器 用来将C/C++语言源程序(.C或.CPP)自动编译 为C55x的汇编语言源程序(.asm)。 11
5.1.2 软件开发工具 ⚫代码生成工具 ◆源代码编辑器 采用汇编语言或C/C++语言编写的源程序均为 文本文件,可以在任何一种文本编辑器中进行。如 WORD、EDIT、TC、Windows操作系统自带的 笔记本等 ◆ C/C++编译器 用来将C/C++语言源程序(.C或.CPP)自动编译 为C55x的汇编语言源程序(.asm)。 11
5.1.2软件开发工具 ◆汇编器 用来将汇编语言源文件(.asm)汇编成机器语言COFF 目标文件(.obj)。 ◆链接器 将汇编生成的、可重新定位的COFF目标模块(.obj) 组合成一个可执行的COFF目标模块(.out)。 文档管理器 允许用户将一组文件(源文件或目标文件)集中为一个 文档文件库。 12
5.1.2 软件开发工具 ◆ 汇编器 用来将汇编语言源文件(.asm)汇编成机器语言COFF 目标文件(.obj)。 ◆ 链接器 将汇编生成的、可重新定位的COFF目标模块(.obj) 组合成一个可执行的COFF目标模块(.out)。 ◆ 文档管理器 允许用户将一组文件(源文件或目标文件)集中为一个 文档文件库 。 12
5.1.2软件开发工具 建库实用程序 用来建立用户自己使用的、并用C/C++语言编写的 支持运行的库函数。 ◆十六进制转换程序(Hex代码转换工具) 可以很方便地将COFF目标文件(.out)转换成TI、 Intel、Motorola等公司的目标文件格式(.hex)。 绝对制表程序(绝对地址列表器) 将链接后的目标文件作为输入,生成.abs输出文件,再 汇编成具有绝对地址的目标代码列表文件(.st)。 ◆交叉引用制表程序(交叉引用列表器) 利用目标文件生成一个交叉引用清单,列出链接 的源文件中的符号以及它们的定义和引用情况。 13
5.1.2 软件开发工具 ◆建库实用程序 用来建立用户自己使用的、并用C/C++语言编写的 支持运行的库函数。 ◆十六进制转换程序(Hex代码转换工具) 可以很方便地将COFF目标文件(.out)转换成TI、 Intel、Motorola等公司的目标文件格式(.hex) 。 ◆绝对制表程序(绝对地址列表器) 将链接后的目标文件作为输入, 生成.abs输出文件,再 汇编成具有绝对地址的目标代码列表文件(.lst) 。 ◆交叉引用制表程序(交叉引用列表器) 利用目标文件生成一个交叉引用清单,列出链接 的源文件中的符号以及它们的定义和引用情况。 13