第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章) ◆非集成开发环境(本章介绍) (:\tilccsv51 tools\compiler\c55004.4.1bin中可执行文件) 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) 可执行输出 目标文 件库 链接器 实时运行 支持库 文件(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 (还包括
第5章TMS320C55x汇编语言编程 ■5.1TMS320C55x软件开发流程 >~5.1.1软件开发流程 ~5.1.2软件开发工具 9
第5章TMS320C55x汇编语言编程 ◼5.1 TMS320C55x软件开发流程 ➢ 5.1.1软件开发流程 ➢ 5.1.2软件开发工具 9
5.1.2软件开发工具 。代码生成工具 ◆源代码编辑器 采用汇编语言或C/C++语言编写的源程序均为 文本文件,可以在任何一种文本编辑器中进行。如 WORD、EDIT、TC、Windows操作系统自带的 笔记本等 ◆C/C++编译器 用来将C/C++语言源程序(.C或.CPP)自动编译 为C55x的汇编语言源程序(.asm)。 10
5.1.2 软件开发工具 ⚫代码生成工具 ◆源代码编辑器 采用汇编语言或C/C++语言编写的源程序均为 文本文件,可以在任何一种文本编辑器中进行。如 WORD、EDIT、TC、Windows操作系统自带的 笔记本等 ◆ C/C++编译器 用来将C/C++语言源程序(.C或.CPP)自动编译 为C55x的汇编语言源程序(.asm)。 10
5.1.2软件开发工具 ◆汇编器 用来将汇编语言源文件(.asm)汇编成机器语言COFF 目标文件(.obj)。 ◆链接器 将汇编生成的、可重新定位的COFF目标模块(.obj) 组合成一个可执行的COFF目标模块(.out)。 文档管理器 允许用户将一组文件(源文件或目标文件)集中为一个 0 文档文件库 11
5.1.2 软件开发工具 ◆ 汇编器 用来将汇编语言源文件(.asm)汇编成机器语言COFF 目标文件(.obj)。 ◆ 链接器 将汇编生成的、可重新定位的COFF目标模块(.obj) 组合成一个可执行的COFF目标模块(.out)。 ◆ 文档管理器 允许用户将一组文件(源文件或目标文件)集中为一个 文档文件库 。 11
5.1.2软件开发工具 建库实用程序 用来建立用户自己使用的、并用C/C++语言编写的 支持运行的库函数。 ◆十六进制转换程序(Hex代码转换工具) 可以很方便地将COFF目标文件(.out)转换成TI、 Intel、Motorola等公司的目标文件格式(.hex)。 绝对制表程序(绝对地址列表器) 将链接后的目标文件作为输入,生成.abs输出文件,再 汇编成具有绝对地址的目标代码列表文件(.st)。 ◆交叉引用制表程序(交叉引用列表器) 利用目标文件生成一个交叉引用清单,列出链接 的源文件中的符号以及它们的定义和引用情况。 12
5.1.2 软件开发工具 ◆建库实用程序 用来建立用户自己使用的、并用C/C++语言编写的 支持运行的库函数。 ◆十六进制转换程序(Hex代码转换工具) 可以很方便地将COFF目标文件(.out)转换成TI、 Intel、Motorola等公司的目标文件格式(.hex) 。 ◆绝对制表程序(绝对地址列表器) 将链接后的目标文件作为输入, 生成.abs输出文件,再 汇编成具有绝对地址的目标代码列表文件(.lst) 。 ◆交叉引用制表程序(交叉引用列表器) 利用目标文件生成一个交叉引用清单,列出链接 的源文件中的符号以及它们的定义和引用情况。 12
5.1.2软件开发工具 代码调试工具 ◆ 软件仿真器(Simulator) 是一种模拟DSP芯片各种功能并在非实时条 件下进行软件调试的调试工具,它不需目标硬件 支持,只需在计算机上运行 ◆硬件仿真器(XDS100,XDS510,XDS560) 可用来进行系统级的集成调试,是进行DSP 芯片软硬件开发的最佳工具 13
5.1.2 软件开发工具 ⚫ 代码调试工具 ◆ 软件仿真器(Simulator) 是一种模拟DSP芯片各种功能并在非实时条 件下进行软件调试的调试工具,它不需目标硬件 支持,只需在计算机上运行 ◆ 硬件仿真器( XDS100,XDS510, XDS560 ) 可用来进行系统级的集成调试,是进行DSP 芯片软硬件开发的最佳工具 13