- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作步骤 在工程管理窗口中的“VOLUME.prj”图标上单击鼠标右键,选择“Scan All Dependencies”,则头文件“VOLUME.H”自动添加到工程中。 文件全部添加完毕之后,可在工程视图中双击所有的“+”号,即可看到整个工程的结构。 4、编译并运行程序 5、程序运行控制 6、使用断点以及变量观察窗口 7、为文件I/O添加探针 8、图形窗口分析显示数据 9、使用观察窗口观察structure变量 使用观察窗口观察structure变量 10、评估代码性能 用户完成一个算法设计和编程后,一般需要测试程序效率以便进一步优化代码。 CCS 提供了“代码性能评估”工具来帮助用户评估代码性能。其基本方法是在适当的语句位置设置断点(软件断点或性能断点),当程序执行通过断点时,有关代码执行的信息被收集并统计,通过统计信息评估代码性能。 试验一: Code Composer Studio(CCS)入门 试验二: 编写一个以C语言为基础的DSP程序 C编译器 语法分析器 C优化器 代码产生器 汇编优化器 汇编器 连接器 其它工具及C运行库 文档管理器 建库工具 十六进制转换工具 交叉引用列表工具 C运行支持库 3 代码产生工具 (1) C编译器 产生可重新分配地址的机器语言目标文件 输入汇编文件 C编译器产生的汇编文件 汇编优化器输出的汇编文件 文档管理器管理的宏库内的宏 输出目标代码是TI的COFF格式 (2) 汇编器 输入是可重新分配地址的目标文件(.obj) 输出是可执行的目标文件(.out) 根据用户说明的程序和数据存放地址,把汇编器产生的浮动地址代码和数据映射到用户系统的实际地址空间 (3) 链接器 文档管理器,可执行文件为ar6x.exe 建库工具,可执行文件为mk6x.exe 十六进制转换工具,可执行文件为hex6x.exe 交叉引用列表工具,可执行文件为xref6x.exe C运行支持库,有C头文件和库文件组成 包含符合ANSI标准的运行支持功能 支持浮点函数、C6000汇编指令函数以及能够访问主机操作系统的C I/O函数 头文件和库文件分别位于CCS安装目录下的\c6000\cgtools\include和\c6000\cgtools\lib (5) 其它工具及C运行库 C6000程序结构 主程序 main.c,这个文件必须包含一个main()函数作为C程序的入口点 连接命令文件.cmd,包含了DSP和目标板的存储空间定义以及存储空间分配 C运行库文件rts6400.lib,提供了标准C函数,还提供了C环境下的初始化函数c_int00() Vectors.asm,这个文件代码作为IST(中断服务表),并且被连接命令文件分配到0地址 DSP复位后首先跳到0地址 位于0地址的复位向量代码转到C运行环境入口点:_c_int00 在_c_int00中完成初始化,最后调用main()函数,执行用户的功能 1 C6000程序基本结构 了解C6000的4G存储器地址映射 合理安排程序和数据地址 程序和数据的存放不是随意的 COFF文件格式 段:(编译器生成的可重定位的代码和数据块) 已初始化段:包含数据和可执行代码 未初始化段:存储器(一般指RAM)中的保留空间, 程序在运行时用它来创建或存储变量 连接器的使用 输入可重新分配地址的目标文件(.obj) 输出可执行的目标文件(.out)和连接过程说明文件(.map) 2 编写.cmd文件需要的基础知识 3 存储器空间映射 DM642的内部存储器位于地址0处,并且可以同时当成程序或数据存储器使用。 DM642通过EMIF扩展外部存储器,外部存储器空间地址从0x8000000开始, 表2-5为DM642的寄存器和存储器空间分配方式。 3 存储器空间映射 3 存储器空间映射 3 C编译器产生的代码段和数据段 段类型 段名 说明 初始化段 .text 代码 .cinit 变量初值表 .const 常量和字符串 .switch 用于大型switch语句的跳转表 非初始化段 .bss 全局变量和静态变量 .sysmem 全局堆(用于存储器分配函数) .stack 堆栈 .far 以far声明的全局/静态变量 .cio 用于stdio函数 4 链接命令文件 4 使用-m选项,连接器输出存储器映象文件(.map) 记录了段的各种信息,详细说明了存储器的使用情况,主要包括三个部分: 存储器配置 段分配图 全局符号(全局变量、函数和段名)绝对地址 观察.map文件可以知道段的地址分配是否正确 从.map文件可以分析大部分和地址有关的程序错误 5 MAP文件 interrupt void example(void) {
文档评论(0)