标题：基于ARM嵌入式μCLinux系统原理及应用
基本信息
ISBN：9787302186939
定价：39元
印次：1-1
装帧：平装
印刷日期：2009-3-23
图书简介
本书不但着重介绍了目前流行的ARM微处理器及应用较为广泛的μCLinux嵌入式操作系统，而且结合作者多年的研究和教学经验介绍了基于ARM芯片的嵌入式系统的原?怼⒊绦蛏杓品椒ㄒ约坝τ贸绦虻目?Ⅰ?br>本书共分为12章。第1章～第3章介绍了嵌入式系统的基本概念，常用的ARM/Thumb指令系统及编译工具GNUGCC的使用方法；第4章和第5章介绍了ARM芯片的体系结构和各个外部设备接口（如Flash存储器、SDRAM、中断接口、DMA接口、定时及时钟接口、音频接口、串行接口、键盘显示器接口、触摸屏LCD接口和模拟接口等）的结构、原理、接口电路及时序，并且介绍了接口的驱动程序的编制方法；第6章～第10章介绍了主流的μCLinux操作系统的进程管理、文件系统管理、设备管理以及用户接口的设计过程，其中包括开发工具HitoolforμCLinux的使用方法介绍及简单驱动程序的编写。第11章和第12章介绍了应用程序开发实例和μCLinux在UP-NETARM3000平台上的移植过程。
本书主要从嵌入式理论、方法和应用实践的角度出发，以ARM处理器为基础，展现了嵌入式系统的基本理论的主要内容和实际应用开发方法。本书是精品课程配套教材，取得了良好的教学效果，具有较好的推广价值。
本书可供嵌入式爱好者、从业者和高等学校师生专业进修和教学参考之用，也可作为有关嵌入式系统教学的本科生或研究生的教材使用。
书籍目录
第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.1ARM微处理器概述17
2.1.1ARM系列微处理器17
2.1.2RISC体系结构20
2.1.3ARM和Thumb状态21
2.1.4寄存器21
2.1.5ARM指令集概述21
2.1.6Thumb指令集概述21
2.2ARM微处理器体系结构22
2.2.1数据类型22
2.2.2ARM微处理器的工作状态22
2.2.3ARM体系结构的存储器格式23
2.2.4处理器模式23
2.2.5寄存器组织24
2.2.6异常28
2.3ARM/Thumb指令系统34
2.3.1ARM处理器寻址方式34
2.3.2ARM指令集介绍36
2.3.3Thumb指令集介绍54
小结55
习题55
第3章程序?杓苹??6
3.1GCC简介56
3.1.1GCC组成56
3.1.2GCC编译程序的基本过程57
3.2C/C++交叉编译器arm-elf-gcc58
3.2.1概述58
3.2.2命令使用60
3.3交叉连接器arm-elf-ld62
3.3.1概述62
3.3.2命令使用63
3.3.3linkcmds链接命令文件64
3.4工程管理器make70
3.4.1概述70
3.4.2命令使用71
3.4.3编写一个makefile72
3.5交叉汇编器arm-elf-as76
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.5StrongARM和ARM786
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.2C与汇编相互调用96
小结99
习题99
第4章S3C44B0XCPU管理及附加电路101
4.1S3C44B0X简介101
4.2时钟和功耗管理109
4.2.1概述109
4.2.2寄存器定义111
4.2.3时钟与电源管理编程113
4.3CPUWrapper和总线特性114
4.3.1概述114
4.3.2内部SRAM115
4.3.3总线优先级115
4.3.4写缓冲区操作116
4.3.5特殊寄存器116
4.4存储器管理118
4.5存储时序图123
4.6MICETEKEV44B0II开发板简介126
4.6.1存储地址空间分配126
4.6.2I/O口配置128
4.6.3电源、时钟及复位电路130
4.6.4MBL(MicetekBootLoader)介绍130
小结131
习题131
第5章S3C44B0X接口电路设计与编程132
5.1存储器电路设计及编程132
5.1.1SDRAMKM416S4020B芯片132
5.1.2Flash存储器132
5.1.3存储器与CPU的连接137
5.1.4SDRAM存储器接口电路与编程138
5.1.5Flash存储器接口电路与编程139
5.2中断系统电路设计及编程141
5.2.1S3C44B0X中断概述141
5.2.2中断源及中断模式142
5.2.3中断请求及允许143
5.2.4中断判优143
5.2.5IRQ中断响应模式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.3LED接口电路设计及编程166
5.3.4键盘接口电路设计及编程167
5.4DMA接口电路原理及编程169
5.4.1S3C44B0XDMA控制器结构170
5.4.2外部DMA请求/应答协议171
5.4.3DMA传输模式172
5.4.4DMA请求源的选择173
5.4.5DMA自动重装模式173
5.4.6S3C44B0X芯片的DMA寄存器174
5.4.7S3C44B0XDMA编程177
5.5PWM计时器接口电路原理及编程180
5.5.1概述180
5.5.2PWM计时器操作181
5.5.3PWM计时器控制寄存器186
5.5.4PWM计时器编程188
5.6看门狗计时器接口电路原理及编程190
5.6.1概述190
5.6.2WDT计时器控制寄存器190
5.6.3WDT计时器编程191
5.7日历时钟接口电路设计及编程192
5.7.1概述192
5.7.2日历时钟192
5.7.3日历时钟寄存器定义194
5.7.4日历时钟接口电路设计及编程197
5.8LCD控制器198
5.8.1LCD工作原理199
5.8.2S3C44B0X的内部LCD控制器199
5.8.3LCD控制器的操作201
5.8.4LCD控制器专用寄存器203
5.8.5LCD接口电路设计及编程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.3UART错误状态FIFO220
5.10.4UART寄存器221
5.10.5编程225
5.11A/D转换器227
5.11.1A/D转换器概述227
5.11.2ADC的相关寄存器228
5.11.3A/D转换器电路设计及编程229
5.12D/A转换器230
5.12.1D/A转换器工作原理230
5.12.2DAC0832芯片231
5.13IIS总线接口234
5.13.1音频系统简介234
5.13.2IIS总线?攀?34
5.13.3传输方式235
5.13.4声音串口格式236
5.13.5采样频率和主时钟237
5.13.6IIS操作238
5.13.7IIS总线接口寄存器238
5.13.8UDA1341TS概述240
5.13.9IIS接口及编程246
小结252
习题252
第6章嵌入式Linux开发254
6.1嵌入式Linux概况254
6.1.1嵌入式Linux254
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进?掏ㄐ?86
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.1FLAT模式内存管理296
8.1.13种内存管理模型296
8.1.2标准Linux的内存管理297
8.1.3μCLinux的内存管理298
8.1.4μCLinux内存管理的局限性298
8.2内存管理模块的启动初始化299
8.2.1setup_arch()299
8.2.2paging_init()300
8.2.3free_area_init()301
8.2.4mem_init()301
8.3可执行程序的加载301
8.3.1用户程序的内存分布301
8.3.2reloc段机制302
8.3.3FLAT可执行文件格式303
8.3.4执行文件加载流程304
小结307
习题307
第9章文件系统308
9.1文件系统结构308
9.2文件系统类型310
9.2.1ROMFS文件系统310
9.2.2RAMFS文件系统312
9.2.3JFFS与JFFS2文件系统312
9.2.4EXT2文件系统314
9.3文件系统目录结构315
9.3.1ROMFS文件?低衬柯冀峁?15
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.4Linux设备命名习惯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.1TCP/IP网络应用340
11.2.2Web服务器应用350
11.3音频设备应用354
11.3.1常用音频文件格式354
11.3.2播放WAV文件举例360
11.4键盘及LCD显示应用364
11.4.1LCD介绍364
11.4.2键盘实现368
11.5汉字音乐点播应用368
小结377
习题378
第12章μCLinux在UP-NETARM3000平台上的移植379
12.1UP-NETARM3000嵌入式开发平台介绍379
12.2μCLinux在UP-NETARM3000上的移植379
12.2.1Linux移植准备379
12.2.2关于交叉编译环境380
12.2.3修改μCLinux内核源码382
12.2.4Linux内核裁减384
12.2.5内核的编译392
12.3内核及根文件系统的烧写392
12.3.1配置minicom392
12.3.2烧写内核393
12.3.3烧写根文件系统393
小结394
习题394
附录AS3C44B0X特殊功能寄存器地址对应表395
附录B部分Linux命令403
附录CLinuxView简介406
参考文献411[1]