《基于ARM的嵌入式系统开发与实例》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:陈艳华,侯安华,刘盼盼编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2008
  • ISBN:9787115172792
  • 页数:398 页
图书介绍:本书以嵌入式系统中应用非常广泛的ARM体系结构处理器为基础,用带有三星公司S3C44B0X处理器的嵌入式开发板,配合各种软件系统和工具,来讲述嵌入式系统开发技术。第4章~第22章全部是工程案例,具有极高的参考价值,内容包括嵌入式开发中涉及到的所有典型接口设计以及两种嵌入式操作系统(μC/OS和μClinux)在嵌入式系统中的应用。本书偏重于实例运用,着重介绍了如何以C语言为工具进行嵌入式系统软件的开发,所有源代码都是分段讲解,层次分明且讲解透彻细致。本书适合于自动化、通信、计算机及其相关专业高年级学生学习,也适合从事ARM嵌入式开发人员和科技人员参考。

第1章 准备工作 1

1.1 建立开发平台 1

1.1.1 硬件平台 1

1.1.2 软件平台 3

1.1.3 Windows开发平台 13

1.2 程序的调试 18

1.2.1 JTAG调试技术介绍 18

1.2.2 调试例子 19

本章小结 22

第2章 ARM处理器结构与指令集 23

2.1 ARM处理器结构 23

2.1.1 ARM处理器介绍 23

2.1.2 ARM存储器 24

2.1.3 ARM工作模式和状态 26

2.1.4 ARM内部寄存器 27

2.1.5 ARM异常 31

2.2 ARM处理器指令系统 36

2.2.1 ARM处理器寻址方式 36

2.2.2 ARM指令集 37

2.2.3 Thumb指令 59

2.3 S3C44B0X处理器结构 60

2.3.1 S3C44B0X结构介绍 60

2.3.2 S3C44B0X片上资源 60

2.3.3 内部结构及引脚信号定义 62

2.4 S3C44B0X汇编初始化程序 64

2.4.1 BootLoader介绍 65

2.4.2 初始化代码 65

2.4.3 调试与运行 74

本章小结 76

第3章 SkyEye模拟器 77

3.1 SkyEye模拟器介绍 77

3.1.1 SkyEye简介 77

3.1.2 SkyEye模拟器结构 78

3.1.3 SkyEye的意义 78

3.2 SkyEye模拟器的安装与使用 79

3.2.1 SkyEye模拟器的安装 79

3.2.2 SkyEye模拟器的使用 80

3.2.3 编写应用程序 82

3.2.4 文件系统 83

3.2.5 运行结果 83

本章小结 84

第4章 Flash ROM存储器接口设计 85

4.1 S3C44B0X存储器控制器 85

4.1.1 概述 85

4.1.2 功能描述 86

4.1.3 特殊寄存器 90

4.2 Flash Rom原理分析 96

4.2.1 Flash器件介绍 96

4.2.2 Flash读写操作 97

4.2.3 SST39VF160芯片介绍 97

4.2.4 SST39VF160芯片操作 98

4.3 接口电路与程序设计 102

4.3.1 电路连接 102

4.3.2 硬件和寄存器设置 103

4.3.3 程序的编写 103

4.3.4 调试与运行结果 106

本章小结 107

第5章 RAM存储器接口设计 108

5.1 SDRAM芯片介绍 108

5.1.1 SDRAM介绍 108

5.1.2 HY57V641620HG的结构 109

5.2 接口电路与程序设计 109

5.2.1 电路连接 110

5.2.2 硬件和寄存器设置 110

5.2.3 程序的编写 111

5.2.4 调试与运行结果 112

本章小结 112

第6章 PWM定时器与中断 113

6.1 S3C44B0X中断机制分析 113

6.1.1 中断控制器 113

6.1.2 中断源与中断模式 116

6.1.3 中断优先级 117

6.1.4 其他特殊寄存器 119

6.2 PWM定时器 121

6.2.1 定时器结构概述 122

6.2.2 定时器操作 123

6.2.3 死区产生器 125

6.2.4 DMA请求模式 125

6.2.5 特殊寄存器 126

6.3 中断与定时器的应用 129

6.3.1 寄存器设置 129

6.3.2 程序的编写 130

6.3.3 调试与运行结果 131

本章小结 131

第7章 看门狗定时器 132

7.1 S3C44B0X看门狗定时器 132

7.1.1 看门狗定时器概述 132

7.1.2 看门狗定时器操作 132

7.1.3 特殊寄存器 133

7.2 看门狗定时器应用 134

7.2.1 寄存器设置 134

7.2.2 程序的编写 135

7.2.3 调试与运行结果 136

本章小结 136

第8章 通用I/O键盘接口设计 137

8.1 S3C44B0X通用I/O端口 137

8.1.1 I/O端口概述 137

8.1.2 I/O端口控制寄存器 140

8.2 键盘工作原理 143

8.2.1 键盘结构 143

8.2.2 按键消抖 143

8.2.3 键盘扫描 143

8.3 接口电路与程序设计 144

8.3.1 电路连接 144

8.3.2 寄存器设置 144

8.3.3 程序的编写 145

8.3.4 调试与运行结果 147

本章小结 147

第9章 串行通信接口设计 148

9.1 串行通信 148

9.1.1 异步串行通信原理 148

9.1.2 RS-232C串口规范 149

9.2 S3C44B0X异步串行通信 151

9.2.1 异步串行通信特性概述 151

9.2.2 UART的操作 151

9.2.3 特殊寄存器 155

9.3 接口电路与程序设计 159

9.3.1 电路连接 160

9.3.2 寄存器设置 160

9.3.3 程序的编写 161

9.3.4 调试与运行结果 162

本章小结 162

第10章 I2C总线接口设计 163

10.1 S3C44B0X的I2C总线模块 163

10.1.1 I2C总线介绍 163

10.1.2 I2C总线工作原理 164

10.1.3 I2C总线信号和时序 164

10.1.4 特殊寄存器 168

10.1.5 EEPROM器件 170

10.2 接口电路与程序设计 172

10.2.1 电路连接 172

10.2.2 寄存器设置 172

10.2.3 程序的编写 173

10.2.4 调试与运行结果 175

本章小结 175

第11章 实时日历时钟RTC 176

11.1 实时日历时钟RTC 176

11.1.1 实时日历时钟RTC概述 176

11.1.2 实时日历时钟RTC功能 177

11.1.3 特殊寄存器 178

11.2 RTC日历时钟的应用 181

11.2.1 寄存器设置 182

11.2.2 程序的编写 182

11.2.3 调试与运行结果 184

本章小结 184

第12章 A/D转换器 185

12.1 A/D转换器原理 185

12.1.1 A/D转换器的类别 185

12.1.2 A/D转换器的参数 186

12.2 S3C44B0X的A/D转换器 187

12.2.1 S3C44B0X的A/D转换器概述 187

12.2.2 特殊寄存器 189

12.3 A/D转换器的应用 190

12.3.1 电路连接 190

12.3.2 硬件和寄存器设置 190

12.3.3 程序的编写 190

12.3.4 调试与运行结果 191

本章小结 192

第13章 DMA控制器 193

13.1 DMA控制器 193

13.1.1 DMA控制器结构 193

13.1.2 DMA控制器操作 195

13.1.3 特殊寄存器 198

13.2 DMA数据传输的应用 203

13.2.1 寄存器 203

13.2.2 程序的编写 203

13.2.3 调试与运行结果 205

本章小结 206

第14章 LCD接口设计 207

14.1 LCD控制器 207

14.1.1 LCD控制器介绍 207

14.1.2 LCD控制器的结构 208

14.1.3 LCD控制器操作 208

14.1.4 特殊寄存器 212

14.2 接口电路与程序设计 218

14.2.1 电路连接 218

14.2.2 寄存器设置 219

14.2.3 程序的编写 220

14.2.4 调试与运行结果 223

本章小结 223

第15章 网卡接口设计 224

15.1 RTL8019AS以太网控制器 224

15.1.1 RTL8019AS介绍 224

15.1.2 NE2000兼容的寄存器 225

15.1.3 RTL8019AS操作分析 229

15.2 接口电路与程序设计 230

15.2.1 电路连接 230

15.2.2 寄存器 231

15.2.3 程序的编写 233

15.2.4 调试与运行结果 238

本章小结 238

第16章 μC/OS-Ⅱ移植与应用 239

16.1 μC/OS-Ⅱ实时操作系统 239

16.1.1 实时操作系统概念 239

16.1.2 μC/OS-Ⅱ的文件结构 240

16.1.3 μC/OS-Ⅱ的任务与中断 241

16.2 μC/OS-Ⅱ的移植 242

16.2.1 移植条件和内容分析 242

16.2.2 μC/OS-Ⅱ移植源文件 244

16.3 μC/OS-Ⅱ应用程序设计 251

16.3.1 配置OS CFG.H文件 252

16.3.2 任务函数的编写 252

16.3.3 调试与运行结果 256

本章小结 256

第17章 μCLinux移植 257

17.1 Linux操作系统 257

17.1.1 Linux介绍 257

17.1.2 Linux内核 258

17.2 μCLinux操作系统 261

17.2.1 μClinux介绍 261

17.2.2 μClinux文件结构 262

17.3 μClinux移植过程 263

17.3.1 寄存器配置和文件修改 263

17.3.2 编译过程 266

17.3.4 下载与运行结果 272

本章小结 272

第18章 μClinux驱动程序设计 273

18.1 Linux驱动程序基本知识 273

18.1.1 Linux驱动程序 273

18.1.2 字符设备驱动 278

18.1.3 添加驱动到内核 285

18.2 I2C驱动程序设计 285

18.2.1 I2C驱动程序的编写 285

18.2.2 测试程序的编写 291

18.2.3 模块的安装 292

18.2.4 调试与运行结果 293

本章小结 293

第19章 μClinux网卡驱动程序设计 294

19.1 Linux网络协议层 294

19.1.1 网络层次总体结构 294

19.1.2 驱动程序分析 296

19.2 网卡驱动程序设计 307

19.2.1 RTL8019AS驱动的编写 307

19.2.2 调试与运行结果 312

本章小结 312

第20章 嵌入式图形用户界面工具 313

20.1 显示驱动接口 313

20.1.1 framebuffer驱动接口 313

20.1.2 qvfb虚拟驱动接口 314

20.2 MiniGUI图形用户界面工具 316

20.2.1 MiniGUI介绍 316

20.2.2 MiniGUI使用基础 320

20.2.3 MiniGUI对话框、控件、菜单与绘图 323

20.3 Qt embeded图形界面工具 333

20.3.1 Qt embeded介绍 333

20.3.2 Qt embeded使用基础 335

20.4 Qt Designer图形界面开发 339

20.4.1 Qt Designer介绍 339

20.4.2 Qt Designer的使用 339

20.4.3 添加源代码 342

20.4.4 调试与运行结果 346

本章小结 346

第21章 GPS导航终端系统设计 347

21.1 GPS全球定位系统 347

21.1.1 GPS定位原理 347

21.1.2 NMEA-0183标准 349

21.1.3 MapInfo电子地图格式 350

21.2 GSM网络系统 351

21.2.1 GSM网络简介 351

21.2.2 SMS短信息服务 351

21.3 GPS导航系统设计过程 354

21.3.1 系统分析与规划 354

21.3.2 功能模块设计 357

21.3.3 电子地图设计 367

21.3.4 BootLoader设计 371

21.3.5 μClinux操作系统 371

本章小结 375

第22章 微型嵌入式Web服务器的设计 376

22.1 网络通信技术 376

22.1.1 以太网简述 377

22.1.2 TCP/IP协议 378

22.2 系统硬件结构设计 385

22.2.1 S3C44B0X微控制器 385

22.2.2 网络控制器ENC28J0及其接口电路 386

22.3 软件程序结构设计 389

22.3.1 主程序流程 389

22.3.2 子程序的设计和实现 389

本章小结 398

参考资料 399