当前位置:首页 > 工业技术
ARM处理器与C语言开发应用  第2版
ARM处理器与C语言开发应用  第2版

ARM处理器与C语言开发应用 第2版PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:范书瑞,赵燕飞,高铁成编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2014
  • ISBN:9787512412378
  • 页数:346 页
图书介绍:目前,随着嵌入式技术的不断发展,ARM9处理器已经成为嵌入式开发的主流。本书计划以S3C2410X为基础,立足于实用,力求借助大量的实例,使读者掌握ARM9的嵌入式开发技术。并通过移植典型的引导程序和操作系统,使读者掌握利用嵌入式操作系统开发应用程序。
《ARM处理器与C语言开发应用 第2版》目录

第1章ARM微处理器概述 1

1.1 ARM概念 1

1.2 ARM体系结构及扩展技术 2

1.2.1 ARM处理器的体系结构 2

1.2.2 ARM体系结构的扩展 4

1.3 ARM处理器系列 5

1.3.1 ARM处理器概述 5

1.3.2应用处理器 6

1.3.3嵌入式处理器 9

1.3.4专用处理器 12

1.3.5经典ARM系列 12

1.4 ARM微处理器选型 15

第2章ARM编程模型和指令集介绍 19

2.1 ARM编程模型 19

2.1.1指令长度及数据类型 19

2.1.2 ARM处理器的工作状态 19

2.1.3 ARM体系结构的存储器格式 20

2.1.4处理器模式 20

2.1.5寄存器组织 21

2.1.6程序状态寄存器 23

2.1.7异常 25

2.2 ARM处理器的指令格式 28

2.2.1 ARM处理器的指令格式 28

2.2.2指令的条件码 29

2.3 ARM指令寻址方式 30

2.3.1数据处理指令的操作数寻址方式 30

2.3.2字及无符号字节的Load/Store指令的寻址方式 32

2.3.3杂类Load/Store指令的寻址方式 34

2.3.4批量Load/Store指令的寻址方式 34

2.3.5协处理器Load/Store指令的寻方式 36

2.4 ARM指令集介绍 36

2.4.1跳转指令 36

2.4.2 B指令和BL指令 37

2.4.3数据处理指令 38

2.4.4程序状态寄存器访问指令 42

2.4.5加载/存储指令 43

2.4.6批量数据加载/存储指令 45

2.4.7数据交换指令 46

2.4.8协处理器指令 46

2.4.9异常产生及CLZ指令 48

2.5 Thumb指令及应用 48

2.6 DSP扩展指令 49

2.6.1带符号乘和乘加指令 49

2.6.2饱和整数运算 50

2.6.3存储辅助指令 52

第3章ARM程序设计基础 54

3.1 ARM汇编器所支持的伪操作 54

3.1.1符号定义伪指令 54

3.1.2数据定义伪指令 55

3.1.3汇编控制伪指令 56

3.1.4其他常用的伪指令 57

3.2汇编语言程序设计 59

3.2.1汇编语言程序中常用的符号 60

3.2.2汇编语言程序中的表达式和运算符 61

3.2.3汇编语言的程序结构 64

3.3 C语言和汇编语言混合程序设计 65

3.3.1汇编语言与C/C++的混合编程 65

3.3.2 ATPCS规则 69

3.4编译器的使用 72

3.4.1 ARM编译器C/C++库 72

3.4.2 ARM编译器关键词 73

3.4.3 ARM编译器支持的数据类型 74

3.5程序设计示例 75

3.6 MDK配置向导 77

3.6.1从ADS到MDK的移植 78

3.6.2配置向导 79

3.6.3配置举例 80

3.7微处理器软件架构工具 85

第4章S3C2410A处理器硬件结构 88

4.1 S3C2410A处理器概述 88

4.2引脚介绍 90

4.3特殊功能寄存器 97

4.4最小应用系统设计 107

4.4.1电源电路设计 107

4.4.2晶振电路设计 108

4.4.3复位电路设计 109

4.5 JTAG调试接口设计 110

4.5.1 JTAG概述 110

4.5.2接口电路设计 111

4.5.3访问处理器寄存器 113

第5章 存储系统设计 114

5.1存储器控制器 114

5.1.1存储器映像 114

5.1.2接口信号时序 115

5.1.3内存控制器 116

5.2地址线接口设计 122

5.2.1 8位存储器接口设计 123

5.2.2 16位存储器接口设计 125

5.3 Nor Flash接口设计 126

5.3.1 Nor Flash和Nand Flash的区别 126

5.3.2 SST39VF1601电路设计 128

5.4 Nand Flash接口设计 130

5.4.1性能 130

5.4.2 Nand Flash控制功能寄存器 131

5.4.3接口设计 133

5.5 SDRAM接口电路设计 134

第6章 时钟和定时器 138

6.1时钟和功耗管理 138

6.1.1锁相环 138

6.1.2时钟和功耗控制逻辑 139

6.1.3时钟和功耗管理寄存器 142

6.1.4程序设计 144

6.2 PWM定时器 145

6.2.1 PWM定时器操作 145

6.2.2 PWM定时器控制寄存器 149

6.2.3程序设计 153

6.3实时时钟 153

6.3.1 RTC功能描述 154

6.3.2 RTC特殊功能寄存器 155

6.3.3 RTC程序设计 158

6.4看门狗 160

6.4.1看门狗操作 160

6.4.2看门狗寄存器 161

6.4.3看门狗程序设计 162

第7章 通用端口和中断设计 165

7.1 I/O端口控制寄存器 165

7.1.1端口寄存器 165

7.1.2外部中断寄存器 171

7.1.3通用状态寄存器 175

7.1.4端口程序设计 176

7.2 S3C2410A中断控制器 177

7.2.1中断控制 177

7.2.2中断源 178

7.2.3中断控制专用寄存器 180

7.2.4中断子控制寄存器 183

7.2.5外部中断程序设计 184

第8章 串行接口设计 187

8.1 UART接口及编程实例 187

8.1.1 UART的操作 188

8.1.2 UART特殊功能寄存器 190

8.1.3编程实例 196

8.2 IIC总线接口及编程实例 201

8.2.1 IIC总线协议 201

8.2.2 S3C2410A IIC接口操作 203

8.2.3 IIC总线特殊功能寄存器 206

8.2.4编程实例 208

8.3 SPI接口及编程实例 213

8.3.1 SPI操作 213

8.3.2 SPI特殊功能寄存器 215

8.3.3编程实例 218

第9章LCD接口设计 220

9.1 LCD控制器的特性 220

9.2 STN LCD控制器基本操作 221

9.2.1视频操作 223

9.2.2显示驱动方式 224

9.2.3数据存储格式 225

9.3 TFT LCD控制器基本操作 226

9.3.1视频操作 227

9.3.2 256色调色板 228

9.4 LCD控制器的使用 230

9.4.1控制器功能寄存器 230

9.4.2 LCD控制寄存器的初始化 237

9.5 LCD编程实例 237

9.5.1液晶屏初始化 237

9.5.2显示像素 239

9.5.3图形函数 240

9.5.4测试程序 243

第10章ADC和触摸屏接口设计 244

10.1 A/D转换器 244

10.1.1 A/D转换步骤 244

10.1.2 ADC的主要类型 247

10.1.3 A/D转换器的主要技术指标 254

10.2触摸屏原理 254

10.2.1触摸屏结构 255

10.2.2触摸屏的主要类型 255

10.3 ADC和触摸屏接口 257

10.3.1接口方式 257

10.3.2功能描述 258

10.3.3 ADC和触摸屏专有寄存器 260

10.4 ADC和触摸屏接口编程实例 263

10.4.1 ADC编程实例 263

10.4.2触摸屏编程实例 263

第11章 引导程序设计 266

11.1引导机理分析 266

11.1.1引导程序工作原理 266

11.1.2引导程序的启动过程 267

11.2 ARM9初始化代码分析 269

11.2.1外部文件 269

11.2.2定义常量 272

11.2.3异常处理 272

11.2.4主体程序 276

11.2.5调用C语言程序 280

11.3引导程序配置向导分析 281

11.3.1堆栈配置 282

11.3.2看门狗配置 284

11.3.3时钟配置 285

11.3.4存储器配置 288

11.3.5 I/O端口配置 290

第12章 嵌入式操作系统及其应用开发 293

12.1嵌入式操作系统概况 293

12.1.1嵌入式操作系统特点 293

12.1.2常用嵌入式操作系统 294

12.2 Linux发展支柱和开发基础 296

12.2.1 Linux发展支柱 296

12.2.2开发工具的使用 297

12.3嵌入式Linux的移植 304

12.3.1建立交叉编译环境 304

12.3.2引导程序的移植 305

12.3.3 Linux内核的移植 309

12.3.4根文件系统的实现 311

12.4应用程序的开发 314

12.4.1 Hello测试程序 314

12.4.2说话人识别算法的实现 315

12.5网络编程实例 318

12.5.1网络驱动程序 318

12.5.2 socket基本函数 320

12.5.3 TCP编程实例 325

12.5.4综合训练之UDP编程实现 328

附录 331

参考文献 346

返回顶部