当前位置:首页 > 工业技术
基于ARM嵌入式μCLinux系统原理及应用
基于ARM嵌入式μCLinux系统原理及应用

基于ARM嵌入式μCLinux系统原理及应用PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:李岩,王建卫,纪颖等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302186939
  • 页数:411 页
图书介绍:本书共分为12章。1~3章介绍了嵌入式系统的基本概念,常用的ARM/Thumb指令系统及编译工具GNUGCC的使用方法;4~5章介绍S3C44BOX芯片的体系结构,结合EV44BOII开发板介绍了S3C44BOX的接口电路设计方法及编程;6~10章介绍主流的μClinux操作系统的进程管理、文件系统管理、设备管理、以及用户接口的设计过程;最后两章介绍应用程序开发实例和移植。
《基于ARM嵌入式μCLinux系统原理及应用》目录

第1章 嵌入式系统导论 1

1.1 概述 1

1.1.1 什么是嵌入式系统 1

1.1.2 嵌入式系统的特点及分类 2

1.2 嵌入式微处理器和嵌入式操作系统 4

1.2.1 嵌入式微处理器 4

1.2.2 嵌入式操作系统 5

1.3 嵌入式系统设计过程 9

1.3.1 需求分析 10

1.3.2 规格说明 13

1.3.3 体系结构设计 13

1.3.4 设计硬件构件和软件构件 15

1.3.5 系统集成 15

1.3.6 系统测试 15

小结 16

习题 16

第2章 ARM/Thumb微处理器结构及指令系统 17

2.1 ARM微处理器概述 17

2.1.1 ARM系列微处理器 17

2.1.2 RISC体系结构 20

2.1.3 ARM和Thumb状态 21

2.1.4 寄存器 21

2.1.5 ARM指令集概述 21

2.1.6 Thumb指令集概述 21

2.2 ARM微处理器体系结构 22

2.2.1 数据类型 22

2.2.2 ARM微处理器的工作状态 22

2.2.3 ARM体系结构的存储器格式 23

2.2.4 处理器模式 23

2.2.5 寄存器组织 24

2.2.6 异常 28

2.3 ARM/Thumb指令系统 34

2.3.1 ARM处理器寻址方式 34

2.3.2 ARM指令集介绍 36

2.3.3 Thumb指令集介绍 54

小结 55

习题 55

第3章 程序设计基础 56

3.1 GCC简介 56

3.1.1 GCC组成 56

3.1.2 GCC编译程序的基本过程 57

3.2 C/C++交叉编译器arm-elf-gcc 58

3.2.1 概述 58

3.2.2 命令使用 60

3.3 交叉连接器arm-elf-ld 62

3.3.1 概述 62

3.3.2 命令使用 63

3.3.3 linkcmds链接命令文件 64

3.4 工程管理器make 70

3.4.1 概述 70

3.4.2 命令使用 71

3.4.3 编写一个makefile 72

3.5 交叉汇编器arm-elf-as 76

3.5.1 概述 76

3.5.2 命令使用 77

3.6 汇编语言编程 78

3.6.1 汇编语言 78

3.6.2 宏语句与条件汇编 83

3.6.3 模块化程序设计 86

3.6.4 内存模式 86

3.6.5 StrongARM和ARM7 86

3.7 简单程序设计 88

3.7.1 顺序程序设计 88

3.7.2 分支程序设计 89

3.7.3 循环程序设计 90

3.7.4 子程序设计 91

3.8 混合语言编程 92

3.8.1 如何在C语言内嵌汇编语言 93

3.8.2 C与汇编相互调用 96

小结 99

习题 99

第4章 S3C44B0X CPU管理及附加电路 101

4.1 S3C44B0X简介 101

4.2 时钟和功耗管理 109

4.2.1 概述 109

4.2.2 寄存器定义 111

4.2.3 时钟与电源管理编程 113

4.3 CPU Wrapper和总线特性 114

4.3.1 概述 114

4.3.2 内部SRAM 115

4.3.3 总线优先级 115

4.3.4 写缓冲区操作 116

4.3.5 特殊寄存器 116

4.4 存储器管理 118

4.5 存储时序图 123

4.6 MICETEK EV44B0II开发板简介 126

4.6.1 存储地址空间分配 126

4.6.2 I/O口配置 128

4.6.3 电源、时钟及复位电路 130

4.6.4 MBL(Micetek Boot Loader)介绍 130

小结 131

习题 131

第5章 S3C44B0X接口电路设计与编程 132

5.1 存储器电路设计及编程 132

5.1.1 SDRAM KM416S4020B芯片 132

5.1.2 Flash存储器 132

5.1.3 存储器与CPU的连接 137

5.1.4 SDRAM存储器接口电路与编程 138

5.1.5 Flash存储器接口电路与编程 139

5.2 中断系统电路设计及编程 141

5.2.1 S3C44B0X中断概述 141

5.2.2 中断源及中断模式 142

5.2.3 中断请求及允许 143

5.2.4 中断判优 143

5.2.5 IRQ中断响应模式 145

5.2.6 中断及异常响应处理过程 150

5.2.7 中断特殊寄存器 154

5.2.8 中断程序应用编程 159

5.3 通用I/O接口电路设计及编程 161

5.3.1 概述 161

5.3.2 端口控制寄存器 165

5.3.3 LED接口电路设计及编程 166

5.3.4 键盘接口电路设计及编程 167

5.4 DMA接口电路原理及编程 169

5.4.1 S3C44B0X DMA控制器结构 170

5.4.2 外部DMA请求/应答协议 171

5.4.3 DMA传输模式 172

5.4.4 DMA请求源的选择 173

5.4.5 DMA自动重装模式 173

5.4.6 S3C44B0X芯片的DMA寄存器 174

5.4.7 S3C44B0X DMA编程 177

5.5 PWM计时器接口电路原理及编程 180

5.5.1 概述 180

5.5.2 PWM计时器操作 181

5.5.3 PWM计时器控制寄存器 186

5.5.4 PWM计时器编程 188

5.6 看门狗计时器接口电路原理及编程 190

5.6.1 概述 190

5.6.2 WDT计时器控制寄存器 190

5.6.3 WDT计时器编程 191

5.7 日历时钟接口电路设计及编程 192

5.7.1 概述 192

5.7.2 日历时钟 192

5.7.3 日历时钟寄存器定义 194

5.7.4 日历时钟接口电路设计及编程 197

5.8 LCD控制器 198

5.8.1 LCD工作原理 199

5.8.2 S3C44B0X的内部LCD控制器 199

5.8.3 LCD控制器的操作 201

5.8.4 LCD控制器专用寄存器 203

5.8.5 LCD接口电路设计及编程 209

5.9 触摸屏电路设计及编程 213

5.9.1 触摸屏概述 213

5.9.2 电阻触摸屏原理 213

5.9.3 触摸屏电路控制 213

5.9.4 编程 217

5.9.5 触摸屏与显示器的配合 218

5.10 异步串行通信接口 219

5.10.1 简述 219

5.10.2 中断/DMA请求产生器 220

5.10.3 UART错误状态FIFO 220

5.10.4 UART寄存器 221

5.10.5 编程 225

5.11 A/D转换器 227

5.11.1 A/D转换器概述 227

5.11.2 ADC的相关寄存器 228

5.11.3 A/D转换器电路设计及编程 229

5.12 D/A转换器 230

5.12.1 D/A转换器工作原理 230

5.12.2 DAC0832芯片 231

5.13 IIS总线接口 234

5.13.1 音频系统简介 234

5.13.2 IIS总线概述 234

5.13.3 传输方式 235

5.13.4 声音串口格式 236

5.13.5 采样频率和主时钟 237

5.13.6 IIS操作 238

5.13.7 IIS总线接口寄存器 238

5.13.8 UDA1341TS概述 240

5.13.9 IIS接口及编程 246

小结 252

习题 252

第6章 嵌入式Linux开发 254

6.1 嵌入式Linux概况 254

6.1.1 嵌入式Linux 254

6.1.2 嵌入式Linux的组成 257

6.1.3 嵌入式Linux的版本 257

6.2 μCLinux开发介绍 258

6.2.1 启动模块 258

6.2.2 内核初始化 259

6.2.3 系统调用处理/异常处理 259

6.2.4 驱动程序 259

6.2.5 文件系统 260

6.2.6 内存管理 260

6.2.7 进程管理 261

6.2.8 运行时间库及应用程序 261

6.3 μCLinux启动过程 263

6.4 开发工具介绍 266

6.4.1 安装 267

6.4.2 开发环境的建立 267

6.4.3 调试方法 268

6.5 内核的配置和编译 272

6.5.1 配置内核 272

6.5.2 编译内核 274

6.6 内核的调试 274

6.6.1 下载μCLinux内核 274

6.6.2 几个调试窗口 274

小结 278

习题 278

第7章 进程/线程管理 279

7.1 进程概念及组成 279

7.1.1 进程概念 279

7.1.2 进程的组成 279

7.2 进程调度 280

7.2.1 信号 280

7.2.2 进程状态 283

7.2.3 进程调度 284

7.3 进程运行和控制 285

7.4 进程通信与同步 286

7.4.1 进程通信 286

7.4.2 进程同步 288

7.5 线程概念及分类 288

7.5.1 线程特点 288

7.5.2 线程的基本概念 289

7.5.3 线程的分类 289

7.6 线程基础 290

7.6.1 线程的基本操作函数 290

7.6.2 简单的多线程编程 291

7.7 线程应用中的同步问题 292

7.7.1 特定线程数据 292

7.7.2 互斥锁 292

7.7.3 读写锁 294

7.7.4 记录上锁 294

7.7.5 条件变量 295

7.7.6 信号量 295

小结 295

习题 295

第8章 存储管理 296

8.1 FLAT模式内存管理 296

8.1.1 3种内存管理模型 296

8.1.2 标准Linux的内存管理 297

8.1.3 μCLinux的内存管理 298

8.1.4 μCLinux内存管理的局限性 298

8.2 内存管理模块的启动初始化 299

8.2.1 setup_arch() 299

8.2.2 paging_init() 300

8.2.3 free_area_init() 301

8.2.4 mem_init() 301

8.3 可执行程序的加载 301

8.3.1 用户程序的内存分布 301

8.3.2 reloc段机制 302

8.3.3 FLAT可执行文件格式 303

8.3.4 执行文件加载流程 304

小结 307

习题 307

第9章 文件系统 308

9.1 文件系统结构 308

9.2 文件系统类型 310

9.2.1 ROMFS文件系统 310

9.2.2 RAMFS文件系统 312

9.2.3 JFFS与JFFS2文件系统 312

9.2.4 EXT2文件系统 314

9.3 文件系统目录结构 315

9.3.1 ROMFS文件系统目录结构 315

9.3.2 μCLinux源程序结构 318

9.4 简单编程实例 321

小结 324

习题 324

第10章 设备管理 325

10.1 设备管理结构 325

10.1.1 概述 325

10.1.2 字符设备与块设备 325

10.1.3 主设备号和次设备号 326

10.1.4 Linux设备命名习惯 326

10.2 驱动程序 326

10.2.1 驱动程序基本功能 326

10.2.2 驱动程序的运作过程 327

10.2.3 常用接口函数介绍 327

10.2.4 常用函数原型 328

10.3 驱动程序编写实例 329

10.3.1 设备功能介绍 329

10.3.2 具体实现 329

小结 333

习题 334

第11章 应用程序开发 335

11.1 串口应用程序 335

11.1.1 串口主要函数介绍 336

11.1.2 串口举例 338

11.2 网络应用 340

11.2.1 TCP/IP网络应用 340

11.2.2 Web服务器应用 350

11.3 音频设备应用 354

11.3.1 常用音频文件格式 354

11.3.2 播放WAV文件举例 360

11.4 键盘及LCD显示应用 364

11.4.1 LCD介绍 364

11.4.2 键盘实现 368

11.5 汉字音乐点播应用 368

小结 377

习题 378

第12章 μCLinux在UP-NETARM3000平台上的移植 379

12.1 UP-NETARM3000嵌入式开发平台介绍 379

12.2 μCLinux在UP-NETARM3000上的移植 379

12.2.1 Linux移植准备 379

12.2.2 关于交叉编译环境 380

12.2.3 修改μCLinux内核源码 382

12.2.4 Linux内核裁减 384

12.2.5 内核的编译 392

12.3 内核及根文件系统的烧写 392

12.3.1 配置minicom 392

12.3.2 烧写内核 393

12.3.3 烧写根文件系统 393

小结 394

习题 394

附录A S3C44B0X特殊功能寄存器地址对应表 395

附录B 部分Linux命令 403

附录C LinuxView简介 406

参考文献 411

相关图书
作者其它书籍
返回顶部