标题：ARM&Linux嵌入式系统教程
相关书籍
版权信息书 名: ARM&Linux嵌入式系统教程  ARM&amp;Linux嵌入式系统教程　　作　者：马忠梅  李善平
出版社： 北京航空航天大学出版社
出版时间： 2008
ISBN: 9787811243512
开本： 16
定价: 34.00 元内容简介与第1版相比，本书主要升级了ARM指令集说明，修订了应用程序和驱动程序设计内容，以适用于国内流行的实验箱。
本书特点是内容经过实际教学使用，所带程序取材于学生的毕业设计和课程实验，不强调具体的ARM核芯片。
本书适用于没有操作系统知识的高校师生和单片机开发人员学习嵌入式系统，可作为高等院校相关专业本科、研究生嵌入式系统理论课程的教材，也可作为从事嵌入式系统开发的工程技术人员学习嵌入式Linux的参考用书。目录第1章嵌入式系统基础
1.1嵌入式系统概述
1.2嵌入式处理器
1.3嵌入式操作系统
1.4实时操作系统的内核
1.5嵌入式技术发展现状及趋势
习题
第2章嵌入式系统开发过程
2.1嵌入式软件开发的特点
2.2嵌入式软件的开发流程
2.3嵌入式系统的调试
2.4板级支持包
习题
第3章嵌入式Linux操作系统
3.1Linux及其应用
3.2Linux内核
3.3主流嵌入式Linux系统
3.4嵌入式Linux的实时化改造
习题
第4章ARM体系结构
4.1ARM体系结构概述
4.2ARM编程模型
4.3ARM基本寻址方式
4.4ARM指令集
4.5ARM汇编语言程序设计
习题
第5章嵌入式Linux应用程序开发
5.1开发平台简介
5.2开发环境的建立
5.3Linux的使用基础
5.4make工具和gcc编译器
5.5简单嵌入式Linux程序开发
5.6LCD程序设计
5.7USB摄像头程序
5.8音频采集和回放程序
习题
第6章嵌入式Linux驱动程序开发
6.1嵌入式Linux的设备管理
6.2设备驱动程序开发过程
6.3LED驱动程序
6.4键盘驱动程序
6.5触摸屏驱动程序
6.6Linux2.6内核
习题
第7章嵌入式Linux的GUI
7.1嵌入式GUI
7.2嵌入式GUI的结构特征
7.31wGUI系统的设计与实现
7.41wGUI系统的应用
7.5GTK＋图形库的应用
习题
参考文献
…… 
书籍内容
ARM概念ARM 即Advanced RISC Machines的缩写,既可以认为是一个公司的名字，也可以认为是对一类微处理器的通称，还可以认为是一种技术的名字。
ARM处理器的三大特点是：耗电少功能强、16位/32位双指令集和众多合作伙伴。
当前ARM体系结构的扩充包括：
·Thumb 16位指令集，为了改善代码密度；
·DSP DSP应用的算术运算指令集；
·Jazeller 允许直接执行Java字节码。
ARM处理器系列提供的解决方案有：
·无线、消费类电子和图像应用的开放平台；
·存储、自动化、工业和网络应用的嵌入式实时系统；
·智能卡和SIM卡的安全应用。 
ARM发展历史1985年4月26日，第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生，由美国加州SanJoseVLSI技术公司制造。
20世纪80年代后期，ARM很快开发成Acorn的台式机产品，形成英国的计算机教育基础。
1990年成立了Advanced RISC Machines Limited(后来简称为ARM Limited，ARM公司)。
20世纪90年代，ARM 32位嵌入式RISC(Reduced lnstruction Set Computer)处理器扩展到世界范围，占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。ARM公司既不生产芯片也不销售芯片，它只出售芯片技术授权。
1991 年 ARM 公司成立于英国剑桥，主要出售芯片设计技术的授权。目前，采用 ARM技术知识产权（ IP ）核的微处理器，即我们通常所说的 ARM 微处理器，已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场，基于 ARM 技术的微处理器应用约占据了 32 位 RISC 微处理器 75 ％以上的市场份额， ARM 技术正在逐步渗入到我们生活的各个方面。
ARM 是设计公司，本身不生产芯片。采用转让许可证制度，由合作伙伴生产芯片。
ARM产品系列当前有5个产品系列——ARM7、ARM9、ARM9E、ARM10和SecurCore。
1、ARM7系列
优化用于对价位和功耗敏感的消费应用的低功耗32位核，有：
·嵌入式ICE-RT逻辑；
·非常低的功耗；
·三段流水线和冯·诺依曼结构，提供0.9MIPS/MHz。
2、SecurCore SC100特为安全市场设计，带特定的抗拒窜改和反工程的特性。还带灵活的保护单元确保操作系统和应用数据的安全。
3、ARM9系列
高性能和低功耗领先的硬宏单元，带有：
·5段流水线；
·哈佛结构提供1.1MIPS/MHz。
ARM920T和ARM922T内置全性能的MMU、指令和数据cache和高速AMBA总线接口。AMBA片上总线是一个开放标准，已成为SoC构建和IP库开发的事实标准。AMBA先进的高性能总线(AHB)接口现由所有新的ARM核支持，提供开发全综合设计系统。
ARM940T内置指令和数据cache、保护单元和高速AMBA总线接口。
4、ARM9E系列
可综合处理器，带有DSP扩充和紧耦合存储器(TCM)接口，使存储器以完全的处理器速度运转，可直接连接到内核上。
ARM966E-S用于硅片尺寸重要，而对cache没要求的实时嵌入式应用，可配置TCM大小：0、4K、8K、16K，最大达64M。
ARM946E-S内置集成保护单元，提供实时嵌入式操作系统的cache核方案。
ARM926ET-S带Jazelle扩充、分开的指令和数据高速AHB接口及全性能MMU。
VFP9 向量浮点可综合协处理器进一步提高ARM9E处理器性能，提供浮点操作的硬件支持。
5、ARM10系列
硬宏单元，带有：
·64位AHB指令和数据接口；
·6段流水线；
·1.25MIPS/MHz；
·比同等的ARM9器件性能提高50％。
两种新的先进的节能方式得到了异常低的耗电。VFP10协处理器完善地依从ARM10器件提供高性能的浮点
解决方案。ARM版本ARM体系结构从最初开发到现在有了很大的改进，并仍在完善和发展。 
为了清楚地表达每个ARM应用实例所使用的指令集，ARM公司定义了6种主要的ARM指令集体系结构版本，以版本号V1～V6表示。
V1版架构
该版架构只在原型机ARM1出现过，只有26位的寻址空间，没有用于商业产品。  
寻址空间：64MB
V2版架构
该版架构对V1版进行了扩展，例如ARM2和ARM3（V2a）架构。包含了对32位乘法指令和协处理器指令的支持。 
版本2a是版本2的变种，ARM3芯片采用了版本2a，是第一片采用片上Cache的ARM处理器。
同样为26位寻址空间，现在已经废弃不再使用。 
V2版架构与版本V1相比，增加了以下功能： 
乘法和乘加指令； 
支持协处理器操作指令； 
快速中断模式； 
SWP/SWPB的最基本存储器与寄存器交换指令; 
寻址空间仍为：64MB
V3版架构
ARM作为独立的公司，在1990年设计的第一个微处理器采用的是版本3的ARM6。
它作为IP核、独立的处理器、具有片上高速缓存、MMU和写缓冲的集成CPU。 
变种版本有3G和3M。版本3G是不与版本2a向前兼容的版本3，版本3M引入了有符号和无符号数乘法和乘加指令，这些指令产生全部64位结果。 
V3版架构（ 目前已废弃 ）对ARM体系结构作了较大的改动：
寻址空间增至32位（4GB）； 
当前程序状态信息从原来的R15寄存器移到当前程序状态寄存器CPSR中（Current Program Status Register）; 
增加了程序状态保存寄存器SPSR（Saved Program Status Register）； 
增加了两种异常模式，使操作系统代码可方便地使用数据访问中止异常、指令预取中止异常和未定义指令异常。； 
增加了MRS/MSR指令，以访问新增的CPSR/SPSR寄存器； 
增加了从异常处理返回的指令功能。
寻址空间：4GB
V4版架构
V4版架构在V3版上作了进一步扩充
V4版架构是目前应用最广的ARM体系结构，ARM7、ARM8、ARM9和StrongARM都采用该架构。 
V4不再强制要求与26位地址空间兼容，而且还明确了哪些指令会引起未定义指令异常。 
指令集中增加了以下功能： 
符号化和非符号化半字及符号化字节的存/取指令； 
增加了T变种，处理器可工作在Thumb状态，增加了16位Thumb指令集； 
完善了软件中断SWI指令的功能； 
处理器系统模式引进特权方式时使用用户寄存器操作; 
把一些未使用的指令空间捕获为未定义指令
V5版架构
V5版架构是在V4版基础上增加了一些新的指令，ARM10和Xscale都采用该版架构。 
这些新增命令有： 
带有链接和交换的转移BLX指令； 
计数前导零CLZ指令； 
BRK中断指令； 
增加了数字信号处理指令（V5TE版）； 为协处理器增加更多可选择的指令； 
改进了ARM/Thumb状态之间的切换效率； 
E---增强型DSP指令集，包括全部算法操作和16位乘法操作； 
J----支持新的JAVA，提供字节代码执行的硬件和优化软件加速功能。
V6版架构
V6版架构是2001年发布的，首先在2002年春季发布的ARM11处理器中使用。在降低耗电量地同时，还强化了图形处理性能。通过追加有效进行多媒体处理的SIMD(Single Instruction, Multiple Data，单指令多数据 )功能，将语音及图像的处理功能提高到了原型机的4倍。 
此架构在V5版基础上增加了以下功能： 
THUMBTM：35%代码压缩； 
DSP扩充：高性能定点DSP功能； 
JazelleTM：Java性能优化，可提高8倍； 
Media扩充：音/视频性能优化，可提高4倍ARM微处理器的应用选型鉴于ARM微处理器的众多优点，随着国内外嵌入式应用领域的逐步发展，ARM微处理器必然会获得广泛的重视和应用。但是，由于ARM微处理器有多达十几种的内核结构，几十个芯片生产厂家，以及千变万化的内部功能配置组合，给开发人员在选择方案时带来一定的困难，所以，对ARM芯片做一些对比研究是十分必要的。
以下从应用的角度出发，对在选择ARM微处理器时所应考虑的主要问题做一些简要的探讨。
1、ARM微处理器内核的选择
从前面所介绍的内容可知，ARM微处理器包含一系列的内核结构，以适应不同的应用领域，用户如果希望使用WinCE或标准Linux等操作系统以减少软件开发时间，就需要选择ARM720T以上带有MMU（Memory Management Unit）功能的ARM芯片，ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。而 ARM7TDMI则没有MMU，不支持Windows CE和标准Linux，但目前有uCLinux等不需要MMU支持的操作系统可运行于ARM7TDMI硬件平台之上。事实上，uCLinux已经成功移植到多种不带MMU的微处理器平台上，并在稳定性和其他方面都有上佳表现。
本书所讨论的S3C4510B即为一款不带MMU的ARM微处理器，可在其上运行uCLinux操作系统。
2、系统的工作频率
系统的工作频率在很大程度上决定了ARM微处理器的处理能力。ARM7系列微处理器的典型处理速度为0.9MIPS/MHz，常见的ARM7芯片系统主时钟为20MHz-133MHz，ARM9系列微处理器的典型处理速度为1.1MIPS/MHz，常见的ARM9的系统主时钟频率为100MHz- 233MHz，ARM10最高可以达到700MHz。不同芯片对时钟的处理不同，有的芯片只需要一个主时钟频率，有的芯片内部时钟控制器可以分别为ARM 核和USB、UART、DSP、音频等功能部件提供不同频率的时钟。
3、芯片内存储器的容量
大多数的ARM微处理器片内存储器的容量都不太大，需要用户在设计系统时外扩存储器，但也有部分芯片具有相对较大的片内存储空间，如ATMEL的AT91F40162就具有高达2MB的片内程序存储空间，用户在设计时可考虑选用这种类型，以简化系统的设计。
4、片内外围电路的选择
除ARM微处理器核以外，几乎所有的ARM芯片均根据各自不同的应用领域，扩展了相关功能模块，并集成在芯片之中，我们称之为片内外围电路，如USB接口、IIS接口、LCD控制器、键盘接口、RTC、ADC和DAC、DSP协处理器等，设计者应分析系统的需求，尽可能采用片内外围电路完成所需的功能，这样既可简化系统的设计，同时提高系统的可靠性。