第1篇 FMS320C6000优化编译器手册
第1章 介绍
1.1软件开发工具概述
1.2 C/C++编译器概述
1.3 CCS(Code Composer Studio)和编译器
第2章 使用C/C++编译器
2.1关于编译器
2.2执行C/C++编译器
2.3设置选项改变编译器的行为
2.4设置默认的编译选项(C—OPTION和C—C6X—OPTION)
2.5控制预处理器
2.6理解诊断信息(diagnostic messages)
2.7其他信息
2.8生成交叉引用(crOSS—reference)列表信息(.px选项)
2.9生成未加工的(raw)列表文件(一pl选项)
2.10使用内联(inline)函数扩展
2.11中断门限选项(Interrupt Flexibi。lity Options)(-mi选项)
2.12把C6400的代码和C6200/6700/IN的C6400的目标代码一起连接
2.13使用交叠工具(interlist feature)
第3章 优化代码
3.1执行优化
3.2优化软件流水(software pipelining)
3.3冗余循环(Redundant Loops)
3.4减小代码尺寸(一ms选项)
3.5执行文件级(file-level)优化(一03选项)
3.6执行程序级(program-level)优化(一pm和一03选项)
3.7指明是否使用别名技术(aliasing techniques)
3.8阻止相关浮点操作的重新排序(reodering 0f associative
floating—point operation)
3.9优化代码中谨慎使用asm语句
3.10自动内联扩展(inline expasion)(一0i选项)
3.11优化时使用交叠工具
3.12调试和剖析(profiling)优化代码
3.13正在执行哪种优化
第4章 使用汇编优化器
4.1增强性能的代码开发流程
4.2关于汇编优化器
4.3写线性汇编需要知道什么
4.4汇编优化器伪指令
4.5使用汇编优化器避免存储体(bank)冲突
4.6存储器别名模糊消除(memorv alias disambiguation)
第5章 连接C/C++代码
5.1通过编译器执行连接器(一z选项)
5.2连接器选项
5.3控制连接过程
第6章 使用独立(stand-alone)软件仿真器
6.1运行独立软件仿真器
6.2独立软件仿真器的选项
6.3通过加载器把参数传递给程序
6.4使用独立软件仿真器的剖析功能
6.5选择仿真的硅版本(sil:icon revision)(一rev选项)
6.6独立软件仿真器的例子
第7章 TMS320C6000 C/C++语言实现
7.1 TMS320C6000 C语言的特征
7.2 TMS320C6000 C++语言的特点
7.3数据类型
7.4关键字
7.5寄存器变量和参数
7.6 asm语句
7.7 pragma伪指令
7.8连接名(linkname)的生成
7.9静态变量和全局变量的初始化
7.10改变ISO C语言的模式
第8章 运行时(run-time)环境
8.1存储器模型(memory model)
8.2对象的表示
8.3寄存器使用规范(register conventions)
8.4函数结构和调用约定
8.5 C/C++与汇编语言的接口
8.6中断处理
8.7运行时支持的算术程序(mn.time—support£Lrithmetic routines)
8.8系统初始化
第9章 运行时支持函数
9.1库
9.2 C的I/O函数
9.3头文件
9.4运行时支持函数和宏总结
9.5运行时支持函数和宏的描述
第10章 建库工具和C++名还原工具
10.1建库工具(1ibrary-build utility)
10.2 C++名还原工具(Name Demangler)
第2篇 TMS320C6000程序员手册
第11章 简介
11.1 TMS320C6000体系结构
11.2 TMS320C6000流水线
11.3提高性能的代码开发流程
第12章 C/C++代码优化
12.1编写C/C++代码
12.2编译C/C++代码
12.3代码剖析
12.4.优化C/C++代码
第13章 编译器优化指南
13.1引言:简单的c代码调整
13.2第1课:从存储器指针得到循环传递路径
13.3第2课:利用双数据通道平衡资源
13.4第3课:存储器带宽的打包数据优化
13.5第4课:程序级优化
13.6第5课:写线性汇编
第14章 反馈解决方案
14.1理解反馈
14.2循环的错误信息
14.3流水失败信息
14.4研究反馈信息
第15章 通过线性汇编优化汇编代码
15.1线性汇编代码
15
1