图书介绍

TMS320C54x系列DSP指令和编程指南2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

TMS320C54x系列DSP指令和编程指南
  • 杨占昕,邓纶晖,余心乐著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302216223
  • 出版时间:2010
  • 标注页数:488页
  • 文件大小:25MB
  • 文件页数:509页
  • 主题词:数字信号-信息处理系统-指南

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

TMS320C54x系列DSP指令和编程指南PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1部分 汇编语言工具3

第1章 汇编语言工具概述3

1.1软件开发工具概述3

1.2软件开发工具介绍4

第2章 通用目标文件格式介绍5

2.1 COFF文件类型5

2.2段5

2.3汇编器对段的处理6

2.3.1未初始化段6

2.3.2已初始化段7

2.3.3已命名段8

2.3.4子段8

2.3.5段程序计数器9

2.3.6使用段伪指令的实例9

2.4连接器如何处理段11

2.4.1默认的存储器分配11

2.4.2将段放在存储器映像中12

2.5重新定位12

2.6运行时重新定位14

2.7加载一个程序14

2.8 COFF文件中的符号15

2.8.1外部符号15

2.8.2符号表15

第3章 汇编器16

3.1汇编器概述16

3.2调用汇编器16

3.3 C54x汇编器的特点20

3.3.1字节/字寻址20

3.3.2并行指令规则22

3.3.3变长指令长度的确定22

3.3.4存储器模式23

3.3.5使用MMR地址时的汇编器警告24

3.4为汇编器的输入命名备用的文件和路径25

3.4.1使用-i汇编器选项25

3.4.2使用环境变量(C54X_A_DIR和A_DIR)26

3.5源程序语句的格式27

3.5.1源程序语句的语法27

3.5.2标号字段27

3.5.3助记符指令字段28

3.5.4代数指令字段29

3.5.5注释字段29

3.6常数30

3.6.1二进制整数30

3.6.2八进制整数30

3.6.3十进制整数31

3.6.4十六进制整数31

3.6.5字符常数31

3.6.6汇编时常数31

3.6.7浮点常数32

3.7字符串32

3.8符号33

3.8.1标号33

3.8.2符号常数33

3.8.3用-d选项定义符号常数33

3.8.4预定义的符号常数34

3.8.5替代符号34

3.8.6局部标号35

3.9表达式37

3.9.1运算符37

3.9.2表达式的上溢和下溢38

3.9.3完整定义的表达式38

3.9.4条件表达式39

3.9.5可重新定位符号和合法的表达式39

3.10内置函数40

3.11源列表41

3.12交叉引用列表44

第4章 汇编伪指令46

4.1伪指令概述46

4.2与TMS320C1x/C2 x/ C2xx/C5x汇编器伪指令的兼容性50

4.3用于段定义的伪指令51

4.4用于初始化常量的伪指令53

4.5调整段计数器的伪指令55

4.6用于规范输出列表的伪指令57

4.7用于调用其他文件的伪指令58

4.8条件汇编伪指令58

4.9汇编时符号伪指令59

4.10其他伪指令60

4.11伪指令参考信息62

第5章 宏语言107

5.1宏的使用107

5.2定义宏108

5.3宏参数/替代符号109

5.3.1定义替代符号的伪指令110

5.3.2内置的替代符号函数111

5.3.3递归替代符号112

5.3.4强制替代112

5.3.5访问带下标的替代符号中的独立字符113

5.3.6替代符号作为宏内的局部变量114

5.4宏库114

5.5在宏中使用条件汇编115

5.6在宏中使用标号116

5.7在宏中产生信息118

5.8输出列表的格式化119

5.9使用递归和嵌套的宏120

5.10宏伪指令总结121

第6章 连接器描述123

6.1连接器概述123

6.2如何调用连接器123

6.3连接器选项125

6.3.1重新定位能力(-a和-r选项)126

6.3.2禁止符号调试信息的合并(-b选项)127

6.3.3 C语言选项(-c和-cr选项)127

6.3.4定义程序入口(-e global_symbol选项)127

6.3.5设置默认的填充值(-fcc选项)128

6.3.6将符号指定为全局符号(-g global_symbol选项)128

6.3.7指定所有全局符号为静态(-h选项)128

6.3.8定义堆的大小(-heap constant选项)128

6.3.9改变库搜索算法(-l选项、-i选项和C54X_ C_DIR/C_ DIR环境变量)129

6.3.10禁止条件连接(-j选项)130

6.3.11忽略定位标志(-k选项)130

6.3.12产生映像文件(-m filename选项)130

6.3.13命名一个输出模块(-ofilename选项)131

6.3.14指定静态运行(-q选项)131

6.3.15删除符号信息(-s选项)131

6.3.16定义堆栈大小(-stack constant选项)131

6.3.17定义二级堆栈大小(-sysstack constant选项)132

6.3.18引入一个未确定的符号(-u symbol选项)132

6.3.19指定一个COFF格式(-v选项)132

6.3.20显示输出段的信息(-w选项)132

6.3.21穷举读库(-x和-priority选项)133

6.4字节寻址/字寻址134

6.5连接器命令文件134

6.5.1连接器命令文件中的保留名135

6.5.2命令文件中的常量136

6.6目标库136

6.7 MEMORY伪指令137

6.7.1默认的存储器模型137

6.7.2 MEMORY伪指令的语法137

6.8 SECTIONS伪指令139

6.8.1 SECTIONS伪指令的语法格式140

6.8.2地址分配141

6.8.3把存档库的一个成员分配到输出段145

6.8.4使用多个存储器区域进行地址分配146

6.8.5输出段在非连续存储器区域间的自动分割146

6.9指定一个段的加载地址和运行地址148

6.9.1指定加载地址和运行地址148

6.9.2未初始化段149

6.9.3使用.label伪指令引用加载地址149

6.10使用UNION(联合段)和GROUP(成组段)语句151

6.10.1用UNION语句使段重叠151

6.10.2将输出段组合成组152

6.10.3嵌套的联合段(UNION)和成组段(GROUP)153

6.10.4检查地址分配的一致性153

6.11重叠页154

6.11.1使用MEMORY伪指令定义重叠页155

6.11.2用SECTIONS伪指令定义重叠页156

6.11.3页定义的语法格式157

6.12默认的地址分配算法157

6.12.1地址分配算法158

6.12.2输出段的通常规则158

6.13特殊的段类型(DSECT、COPY和NOLOAD)159

6.14连接时给符号赋值160

6.14.1赋值语句的语法160

6.14.2将段程序计数器SPC值赋给一个符号160

6.14.3赋值表达式161

6.14.4连接器定义的符号162

6.14.5只有C语言支持的符号定义(-c或-cr选项)162

6.15产生和填充存储器空位162

6.15.1已初始化段和未初始化段163

6.15.2创建空位163

6.15.3填充空位164

6.15.4对未初始化段的显式初始化165

6.16部分连接166

6.17连接C/C++代码167

6.17.1运行时的初始化167

6.17.2目标库以及运行时的支持167

6.17.3设置堆栈和堆的大小168

6.17.4自动初始化(ROM和RAM模式)168

6.17.5连接器选项-c和-cr169

6.18连接器举例169

第7章 文档管理器173

7.1文档管理器概述173

7.2调用文档管理器173

7.3文档管理器举例174

第8章 绝对地址列表器描述176

8.1产生绝对地址列表176

8.2调用绝对地址列表器177

8.3绝对地址列表器用例178

第9章 交叉引用列表器描述182

9.1交叉引用列表的产生182

9.2调用交叉引用列表器183

9.3交叉引用列表举例183

第10章 十六进制转换工具185

10.1调用十六进制转换工具185

10.2命令文件187

10.2.1命令文件例子187

10.3存储器宽度188

10.3.1目标宽度189

10.3.2数据宽度189

10.3.3存储器宽度189

10.3.4 ROM宽度190

10.3.5一个存储器配置实例191

10.3.6指定输出字的顺序191

10.4 ROMS伪指令192

10.4.1何时使用ROMS伪指令193

10.4.2 ROMS伪指令的一个例子194

10.4.3创建ROMS伪指令195

10.5 SECTIONS伪指令196

10.6输出文件名197

10.6.1指定输出文件名197

10.7映像模式和-fill选项198

10.7.1 -image选项198

10.7.2指定填充值199

10.7.3映像模式的运行步骤199

10.8为片内引导加载器创建一个引导表199

10.8.1引导表说明199

10.8.2引导表的格式200

10.8.3怎样创建引导表200

10.8.4从器件的外设引导201

10.8.5设置引导表的入口201

10.8.6使用C54x引导加载器202

10.9控制ROM器件的地址203

10.9.1控制起始地址203

10.9.2控制地址递增索引204

10.9.3 -byte选项204

10.9.4处理地址空位204

10.10目标格式的描述205

10.10.1 ASCII-Hex目标格式(-a选项)206

10.10.2 Intel MCS-86目标格式(-i选项)206

10.10.3 Motorola-S目标格式(-m1、-m2、-m3选项)207

10.10.4 TI-Tagged目标格式(-t选项)208

10.10.5扩展的Tektronix目标格式(-x选项)208

10.11十六进制转换工具的错误提示信息209

第11章 助记符到代数语言的转换器描述210

11.1转换器概述210

11.1.1转换器做什么210

11.1.2转换器不能做什么210

11.2调用转换器211

11.3转换器模式211

11.3.1文字模式(-t选项)211

11.3.2关于文字模式中的符号名211

11.3.3扩展模式(-e选项)212

11.4转换器对宏的处理213

11.4.1宏中的伪指令213

11.4.2宏的局部变量214

11.4.3调用宏时定义的标号214

第2部分C编译器219

第12章C/C++编译器概述219

12.1 C/C++编译器简介219

12.1.1 ISO标准219

12.1.2输出文件219

12.1.3编译器接口220

12.1.4编译器的操作220

12.1.5辅助工具220

12.2编译器与代码生成工具包(CCS)220

第13章C/C++编译器的使用222

13.1关于编译器222

13.2 C/C++编译器的调用方法223

13.3用选项控制编译器的操作223

13.3.1常用选项228

13.3.2指定文件名230

13.3.3改变编译器对文件名的类型识别规则(-fa、-fc、-fg、-fo和-fp选项)231

13.3.4改变编译器对文件名和扩展名的命名规则(-e选项)231

13.3.5指定目录232

13.3.6控制汇编器的选项232

13.4使用环境变量233

13.4.1指定路径(C_ DIR和C54X_ C_ DIR)234

13.4.2设置默认的编译器选项(C_OPTION和C54X_C_OPTION)234

13.5控制预处理器235

13.5.1预定义的宏名235

13.5.2 # include文件的搜索路径235

13.5.3产生预处理列表文件(-PPo选项)236

13.5.4预处理之后的继续编译(-ppa选项)236

13.5.5产生带有注释的预处理列表文件(-ppc选项)237

13.5.6产生带有行控制信息的预处理列表文件(-PPl选项)237

13.5.7为代码生成工具产生预处理输出(-ppd选项)237

13.5.8创建包含#include伪指令的文件列表(-ppi选项)237

13.6理解诊断信息237

13.6.1控制诊断信息239

13.6.2怎样使用诊断屏蔽选项240

13.6.3其他信息240

13.7产生交叉引用列表信息(-px选项)241

13.8创建一个原始的列表文件(-pl选项)241

13.9使用内联函数展开242

13.9.1 Intrinsic操作的内联243

13.9.2非保护的定义控制内联243

13.9.3保护的内联以及_INLINE预处理符号244

13.9.4有关内联的限制245

13.10使用交互列表245

第14章 优化代码247

14.1优化器的使用247

14.2执行文件级优化(用-O3选项)248

14.2.1控制文件级优化(-Ol选项)248

14.2.2生成一个优化信息文件(-on选项)249

14.3执行程序级优化(-pm和-O3选项)249

14.3.1控制程序级的优化(-op选项)249

14.3.2 C与汇编语言混合编程时的优化考虑250

14.4关于在优化代码中使用asm语句的警告251

14.5在已经优化的代码中访问别名变量251

14.6自动内联展开(-oi选项)252

14.7优化时使用交互列表工具252

14.8调试优化后的代码254

14.8.1调试优化后的代码(-g、-gw和-o选项)254

14.8.2剖析已优化代码(-gp和-o选项)254

14.9哪种优化正在执行254

14.9.1基于开销的寄存器分配255

14.9.2消除别名的歧义性255

14.9.3跳转的优化和控制流的简化255

14.9.4数据流的优化256

14.9.5表达式的简化257

14.9.6函数的内联展开257

14.9.7索引变量和效用简化258

14.9.8循环中固定代码的移出259

14.9.9循环转换259

14.9.10向后合并259

14.9.11自增型寻址260

14.9.12循环执行程序块261

14.9.13延时的跳转、调用和返回261

14.9.14代数重排、符号简化、常数合并262

第15章C54x的C语言263

15.1 TMS320C54x的C语言特点263

15.1.1标识符和常数263

15.1.2数据类型263

15.1.3类型转换264

15.1.4表达式264

15.1.5声明264

15.1.6预处理器264

15.2 TMS320C54x的C++语言特点265

15.3数据类型265

15.4关键字266

15.4.1 const关键字266

15.4.2 ioport关键字266

15.4.3 interrupt关键字267

15.4.4 near和far关键字268

15.4.5 volatile关键字268

15.5寄存器变量268

15.6全局寄存器变量269

15.7 asm语句270

15.8 Pragma伪指令270

15.8.1 CODE_SECTION Pragma271

15.8.2 DATA_SECTION Pragma272

15.8.3 FUNC_CANNOT_INLINE Pragma273

15.8.4 FUNC_EXT_CALLED Pragma273

15.8.5 FUNC_IS_PURE Pragma273

15.8.6 FUNC_IS_SYSTEM Pragma274

15.8.7 FUNC_NEVER_RETURNS Pragma274

15.8.8 FUNC_NO_GLOBAL_ASG Pragma274

15.8.9 FUNC_NO_IND_ASG Pragma275

15.8.10 IDENT Pragma275

15.8.11 INTERRUPT Pragma275

15.8.12 NO_INTERRUPT Pragma276

15.9创建连接名276

15.10初始化静态变量和全局变量276

15.10.1用类型限定词const来初始化静态变量和全局变量277

15.11改变ISO C语言模式(-pk、-pr和-ps选项)277

15.11.1与K&R C的兼容(-pk选项)278

15.11.2使能严格IS(O模式和非严格ISO模式(-ps和-pr选项)279

15.11.3使能嵌入式C+++模式(-pe选项)279

15.12编译器的限制280

第16章 运行时环境281

16.1存储器模式281

16.1.1段281

16.1.2 C/C++系统堆栈282

16.1.3在程序存储器中给.const分配空间283

16.1.4动态存储器分配284

16.1.5变量的初始化284

16.1.6给静态变量和全局变量分配存储器284

16.1.7位域/结构体的定位285

16.2字符串常量285

16.3寄存器使用规则286

16.3.1状态寄存器286

16.3.2寄存器变量287

16.4函数结构和调用规则287

16.4.1函数如何产生调用288

16.4.2被调用函数如何响应288

16.4.3参数和局部变量的访问289

16.4.4分配帧和使用32位存储器读指令289

16.5 C/C++与汇编语言的接口290

16.5.1在C/C++代码中使用汇编语言模块290

16.5.2在C/C++程序中访问汇编语言变量292

16.5.3使用内嵌的汇编语言293

16.5.4使用内在函数(intrinsics)访问汇编语言语句294

16.6中断管理298

16.6.1关于中断的几个要点298

16.6.2使用C/C++中断服务程序299

16.6.3在中断入口处保存运行状态299

16.7整数表达式分析299

16.7.1运算的上溢和下溢299

16.7.2带RTS调用的求值运算300

16.7.3用C代码访问16位乘法的高16位300

16.8浮点表达式分析300

16.9系统初始化301

16.9.1变量的自动初始化301

16.9.2全局结构302

16.9.3初始化表302

16.9.4运行时的变量自动初始化303

16.9.5加载时变量的自动初始化303

第17章 运行时支持函数305

17.1库305

17.1.1 rts.src中的非标准头文件305

17.1.2修改库函数306

17.1.3用不同选项建库306

17.2 C语言的I/O函数306

17.2.1低级I/O操作概述307

17.2.2为C语言I/O添加设备308

17.3头文件313

17.3.1诊断信息(assert.h/cassert)314

17.3.2字符分类(character-typing)和转换(ctype.h/cctype)314

17.3.3出错报告(errno.h/cerrno)315

17.3.4扩展寻址函数(extaddr.h)315

17.3.5低级I/O函数(file.h)315

17.3.6取值范围的限制(float.h/cfloat和limits.h/climits)315

17.3.7浮点数学(math.h/cmath)317

17.3.8非局部跳转(setjmp.h/csetjmp)317

17.3.9可变参数(stdarg.h/cstdarg)317

17.3.10标准定义(stddef.h/cstddef)318

17.3.11输入/输出函数(stdio.h/cstdio)318

17.3.12通用工具(stdlib.h/cstdlib)319

17.3.13字符串函数(string.h/cstring)319

17.3.14时间函数(time.h/ctime)319

17.3.15异常处理(exception和stdexcept)320

17.3.16动态存储器管理(new)320

17.3.17运行时类型信息(typeinfo)320

17.4运行时支持函数和宏总结321

17.5运行时支持函数和宏的描述327

第18章 建库工具365

18.1调用建库工具365

18.2建库工具选项365

18.3选项汇总366

第19章C++的名称复原368

19.1调用C++的名称复原工具368

19.2 C++名称复原工具选项368

19.3 C++名称复原工具的用例369

第3部分 汇编语言指令集373

第20章 汇编语言指令集概述373

20.1指令集符号和缩略语373

20.2指令说明的例子376

第21章 指令集概述379

21.1算术操作379

21.2逻辑操作383

21.3程序控制操作385

21.4加载和存储操作387

21.5循环执行一条指令390

第22章 汇编语言指令392

热门推荐