《ARM嵌入式C编程标准教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:侯殿有,才华编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2010
  • ISBN:9787115219329
  • 页数:344 页
图书介绍:本书首先讲解ARM体系结构、ARM编程模型、ARM指令指令集,然后详细讲解 ARM嵌入式系统接口设计与编程,最后给出3个实例,讲解ARM嵌入式系统的构建、驱动开发和应用开发。

第1章 ARM技术简介 1

1.1 ARM处理器简介 1

1.1.1 ARM7系列微处理器 1

1.1.2 ARM9系列微处理器 2

1.1.3 ARM9E系列微处理器 2

1.1.4 ARM10E系列微处理器 3

1.1.5 ARM920T简介 3

1.1.6 SecurCore(可靠内核技术)系列微处理器 4

1.1.7 StrongARM(超强性能ARM技术)系列微处理器 5

1.2 ARM体系结构的发展 5

1.2.1 ARM体系结构的发展 5

1.2.2 ARM11处理器的内核特点 6

1.2.3 DSP功能 6

1.3 ARM体系结构的存储器格式 6

1.4 习题与练习 8

第2章 ADS 1.2开发环境创建与简介 9

2.1 ADS 1.2开发环境创建 9

2.1.1 ADS 1.2概述 9

2.1.2 ADS 1.2的安装 11

2.2 ADS集成开发环境的使用 13

2.2.1 建立一个新工程 13

2.2.2 开发环境设置 14

2.2.3 在ADS 1.2下进行仿真、调试 18

2.2.4 其他开发环境介绍 19

2.3 用AXD进行代码仿真、调试 19

2.3.1 AXD简介 19

2.3.2 JTAG概述 22

2.3.3 Nor Flash和Nand Flash的区别和使用 23

2.3.4 烧写Flash 24

2.3.5 程序的运行 30

2.4  ARM C语言程序的基本规则和系统初始化程序 31

2.4.1 ARM使用C语言编程基本规则 31

2.4.2 初始化程序和开发环境设置 33

2.5 习题与练习 34

第3章 ARM9芯片S3C2410的片上资源 35

3.1 S3C2410处理器介绍 35

3.1.1 AMBA、AHB、APB总线特点 36

3.1.2 S3C2410处理器体系结构 37

3.1.3 S3C2410处理器管理系统 37

3.1.4 S3C2410处理器存储器映射 37

3.1.5 S3C2410处理器时钟和电源管理 38

3.2 S3C2410处理器片上资源的定义和使用 40

3.3 编程参考软件包2410TEST 42

3.4 习题与练习 47

第4章 S3C2410的中断系统 49

4.1 S3C2410的处理器中断 49

4.2 中断控制 50

4.2.1 程序状态寄存器的F位和I位 50

4.2.2 中断模式(INTMOD) 50

4.2.3 中断挂起寄存器(INTPND)和中断源挂起寄存器(SRCPND) 51

4.2.4 中断屏蔽寄存器(INTMSK) 51

4.2.5 中断优先寄存器(PRIORITY) 51

4.3 S3C2410中断源 53

4.4 中断控制专用寄存器 53

4.4.1 IRQ偏移寄存器(INTOFFSET) 55

4.4.2 外部中断控制寄存器(EXTINTn) 55

4.4.3 外部中断屏蔽寄存器(EINTMASK) 55

4.5 中断控制程序编写步骤 55

4.5.1 主程序工作 55

4.5.2 中断服务程序工作 57

4.5.3 中断服务程序示例 57

4.6 本章实验例程 60

4.6.1 实验步骤 60

4.6.2 中断程序、中断初始化 62

4.6.3 中断服务程序 63

4.6.4 系统初始化程序 64

4.6.5 主程序 65

4.7 习题与练习 66

第5章 S3C2410的I/O口和I/O口操作 67

5.1 S3C2410 I/0口描述 67

5.2 I/0端口控制寄存器 68

5.2.1 端口A控制寄存器(GPACON、GPADAT)和功能配置 68

5.2.2 端口B控制寄存器(GPBCON、GPBDAT和GPBUP)和功能配置 69

5.2.3 端口C控制寄存器(GPCCON、GPCDAT和GPCUP)和功能配置 70

5.2.4 端口D控制寄存器(GPDCON、GPDDAT和GPDUP)和功能配置 72

5.2.5 端口E控制寄存器(GPECON、GPEDAT和GPEUP)和功能配置 73

5.2.6 端口F控制寄存器(GPFC0N、GPFDAT和GPFUP)和功能配置 74

5.2.7 端口G控制寄存器(GPGC0N、GPGDAT和GPGUP)和功能配置 75

5.2.8 端口H控制寄存器(GPHCON、GPHDAT和GPHUP)和功能配置 77

5.3 I/O口操作步骤 78

5.3.1 上拉寄存器和控制寄存器设置 78

5.3.2 I/O口编程示例 78

5.4 本章实验例程 79

5.4.1 实验目的和步骤 79

5.4.2 参考程序 81

5.5 习题与练习 83

第6章 S3C2410的串口UART及编程 84

6.1 S3C2410的串口UART概述 84

6.1.1 S3C2410异步串行通信(UART)单元 84

6.1.2 波特率的产生 84

6.1.3 UART通信操作 85

6.2 UART的控制寄存器 85

6.2.1 UART行控制寄存器ULCONn 85

6.2.2 UART控制寄存器UCONn 85

6.2.3 UART FIFO控制寄存器UFCONn 86

6.2.4 UART MODEM控制寄存器UMCONn 86

6.2.5 发送寄存器UTXH和接收寄存器URXH 87

6.2.6 发送和接收状态寄存器UTRSTATn 87

6.2.7 波特率分频寄存器UBRDIV 87

6.2.8 UART单元各寄存器的定义 87

6.3 UART通信程序编写 90

6.3.1 通信程序编写步骤 90

6.3.2 通信程序编写示例 90

6.4 本章实验例程 104

6.4.1 实验目的和原理 104

6.4.2 实验操作 105

6.5 实验参考程序 106

6.6 红外数据通信简介 107

6.6.1 红外数据通信 107

6.6.2 红外线模式数据通信程序 109

6.7 习题与练习 117

第7章 ADC和触摸屏控制 118

7.1 触摸屏结构和工作原理 118

7.2 S3C2410的触摸屏控制 119

7.3 触摸屏控制程序编写 123

7.4 本章实验例程 126

7.4.1 实验目的和原理 126

7.4.2 实验操作 127

7.4.3 实验程序 127

7.5 习题与练习 131

第8章 S3C2410的实时时钟(RTC) 132

8.1 实时时钟结构和工作原理 132

8.1.1 S3C2410的实时时钟单元 132

8.1.2 S3C2410的实时时钟寄存器 133

8.2 实时时钟的编程 135

8.2.1 程序编写步骤 135

8.2.2 程序示例 135

8.3 本章实验例程 138

8.3.1 实验目的和原理 138

8.3.2 实验操作 138

8.3.3 实验程序 139

8.4 习题与练习 146

第9章 S3C2410的LCD显示 147

9.1 汉字显示原理 147

9.1.1 汉字和字符显示原理 147

9.1.2 汉字字符集概述 149

9.1.3 汉字的内码 149

9.1.4 内码转换为区位码 149

9.2 字模提取与小字库建立 150

9.2.1 用C语言提取字模和建立小字库 150

9.2.2 用Delphi提取字模和建立小字库 154

9.2.3 通用字模提取程序MinFonBase使用说明 166

9.3 S3C2410显示控制特点 167

9.3.1 STN LCD显示器 167

9.3.2 TFT LCD显示器 167

9.3.3 LCD控制器特点 168

9.4 S3C2410的LCD控制信号和外部引脚 168

9.4.1 S3C2410 STN的视频操作 169

9.4.2 S3C2410 TFT LCD的视频操作 174

9.4.3 LCD专用控制寄存器 176

9.5 S3C2410的LCD驱动程序 182

9.5.1 S3C2410的系统资源 182

9.5.2 LCD驱动程序 184

9.5.3 S3C2410的汉字和图形显示 191

9.6 LCD驱动编程例程 212

9.6.1 LCD驱动编程简单做法 212

9.6.2 LCD显示程序编写示例 213

9.7 本章实验例程 230

9.7.1 实验目的和原理 230

9.7.2 实验操作 231

9.7.3 实验结果 231

9.7.4 实验程序 232

9.8 习题与练习 251

第10章 直接存储器存取(DMA)控制 253

10.1 DMA基本知识 253

10.2 S3C2410的DMA控制器 255

10.3 DMA编程示例 256

10.3.1 头文件定义和函数声明 256

10.3.2 DMA内存传送程序 256

10.4 本章实验例程 262

10.4.1 实验目的和原理 262

10.4.2 实验操作 263

10.4.3 DMA实验程序 264

10.5 习题与练习 269

第11章 脉宽调制(PWM)及S3C2410的PWM控制 270

11.1 PWM定时器概述 270

11.1.1 S3C2410定时器特性 272

11.1.2 定时器操作示例 273

11.1.3 死区生成器 274

11.2 PWM定时器控制寄存器 274

11.2.1 定时器配置寄存器0 274

11.2.2 定时器配置寄存器1 275

11.2.3 定时器减法缓冲寄存器(TCNTBn)和比较缓冲寄存器(TCMPBn) 276

11.2.4 定时器控制寄存器 276

11.2.5 定时器观察寄存器 277

11.3 PWM定时器软件编程 278

11.3.1 编程步骤 278

11.3.2 编程示例 278

11.4 本章实验例程 279

11.4.1 实验目的和内容 279

11.4.2 实验原理 279

11.4.3 实验操作 281

11.4.4 实验程序 282

11.5 习题与练习 286

第12章 看门狗(Watchdog)电路 287

12.1 看门狗的功能及工作原理 287

12.1.1 S3C2410的看门狗控制 287

12.1.2 看门狗定时器寄存器 288

12.2 看门狗电路的编程 290

12.3 本章实验例程 290

12.3.1 实验目的和原理 290

12.3.2 实验操作 291

12.3.3 Watchdog实验程序 291

12.4 习题与练习 293

第13章 双向二线制串行总线(I2C)及S3C2410的I2C控制 294

13.1 I2C接口以及EEPROM 294

13.2 I2C总线的读/写控制逻辑 295

13.3 EEPROM读/写操作 296

13.3.1 AT24C04结构与应用简述 296

13.3.2 AT24CXX的数据操作格式 296

13.4 S3C2410处理器I2C接口 297

13.4.1 S3C2410 I2C接口简介 297

13.4.2 使用S3C2410 I2C总线读/写方法 299

13.5 I2C总线编程 300

13.6 本章实验例程 300

13.6.1 实验目的和原理 300

13.6.2 实验操作 300

13.6.3 I2C实验程序框图、实验结果 301

13.6.4 参考程序 302

13.7 习题与练习 306

第14章 数字音频信号(I2S)介绍和S3C2410的I2S控制 307

14.1 数字音频信号(I2S)介绍 307

14.2 I2S控制寄存器 309

14.3 WAV声音格式文件 310

14.4 I2S控制程序编写 311

14.5 本章实验例程 315

14.5.1 实验目的和原理 315

14.5.2 实验操作 315

14.5.3 实验程序 316

14.6 习题与练习 325

第15章 串行外设接口(SPI)介绍 326

15.1 SPI接口概述 326

15.2 SPI接口控制寄存器 329

15.2.1 SPI控制寄存器(SPICONn) 329

15.2.2 SPI状态寄存器(SPSTAn) 330

15.2.3 SPI引脚控制寄存器(SPPINn) 330

15.2.4 SPI波特率预分频寄存器(SPIPREn) 331

15.2.5 SPI发送数据寄存器(SPTDATn) 331

15.2.6 SPI接收数据寄存器(SPRDATn) 331

15.3 SPI编程示例 332

15.3.1 编程步骤 332

15.3.2 示例程序 332

15.4 本章实验例程 333

15.4.1 实验目的和原理 333

15.4.2 实验操作 333

15.4.3 实验程序 334

15.5 习题与练习 337

第16章 S3C2410的A/D、D/A转换控制 338

16.1 S3C2410的A/D、D/A转换控制 338

16.1.1 A/D转换控制寄存器 338

16.1.2 A/D转换控制程序的编制步骤 339

16.1.3 A/D转换控制程序示例 340

16.2 本章实验例程 340

16.2.1 实验目的和原理 340

16.2.2 实验操作 341

16.2.3 实验程序 341

16.3 习题与练习 343

参考文献 344