锐极ARM9多功能实验箱配套教材已经出版,是国家"十一五"高等院校规划教材。
基本介绍
- 中文名:ARM&Linux嵌入式系统开发详解
- 出版日期:2007-03
- 出版社:北京航空航天大学
- 定价:¥33.00元
基本信息
作者:锐极电子科技有限公司
ARM&Linux嵌入式系统开发详解

ISBN:10位[7810779788]13位[9787810779784]
内容简介
本书分为基础篇和实验篇两大部分,主要是针对理论和实践相结合的嵌入式Linux开发的教材和培训用书。基础篇主要包括嵌入式系统基础、嵌入式系统开发过程、ARM体系结构和嵌入式系统的BootLoad开发引导详解,为嵌入式系统初学者能快速入门提供了基础。实验篇详细讲解了如何创建嵌入式系统开发环境、如何在ARM平台上移植Linux系统,以及Linux设备驱动程式开发、USB设备驱动程式开发、嵌入式Linux网路编程和图形用户接口开发等,每章都配有丰富的实验内容,使读者能够理论联繫实际,边学边用,更快更好地掌握所学知识。 本书可作为高等院校计算机类、电子类、电气类、控制类等专业高年级本科生、研究生教材,也可供广大工程技术人员参考使用,还可作为嵌入式培训教材和参考书。
前言
如今,人类已经进入了后PC时代,伴随信息技术与网路技术的高速发展,嵌入式技术已被广泛套用于科学研究、工程设计、军事技术以及文艺、商业等方方面面,成为后PC时代的主力军。 嵌入式系统和Linux的有机结合,成为后PC时代计算机最普遍的套用形式。嵌入式Linux不仅继承了Linux原始码开放、核心稳定高效、软体丰富、强大的网路支持功能、优秀的开发工具等优势,而且还具备支持广泛的处理器结构和硬体平台占有空间小、成本低等特点。
嵌入式Linux技术在中国有巨大的发展潜力和市场需求。有数据显示,未来两年里,在计算机、消费电子、通信、汽车电子、工业控制、军事国防这六大主要套用领域,嵌入式Linux产品将达到80亿美元的市场规模。
编写目的
嵌入式Linux属于一个交叉学科,涵盖了微电子技术、电子信息技术、计算机软体和硬体等多项技术领域的套用。另外嵌入式Linux需要相应的嵌入式开发板和软体,还需要有经验的人进行指导开发,目前国内大部分高校都很难达到这种要求,这也造成了目前国内嵌入式Linux开发人才极其缺乏的局面。
因此,上海锐极科技有限公司在自主研发的嵌入式Linux开发平台的基础上编写了此书,希望能帮助读者快速跨入嵌入式Linux开发的门槛。
主要内容
本书主要分为两大部分,基础篇和实验篇。基础篇主要讲解了嵌入式系统基础知识、嵌入式系统开发过程、ARM体系结构和嵌入式系统的BootLoad开发引导,为嵌入式系统初学者能快速入门提供了基础。
实验篇详细讲解了如何创建嵌入式系统开发环境、如何在ARM平台上移植Linux系统、Linux设备驱动程式开发、USB设备驱动程式开发、嵌入式Linux网路编程和图形用户接口开发等,每章都配有丰富的实验内容,使读者能够理论联繫实际,边学边用,更快更好地掌握所学知识。
实验平台
本书所用的硬体平台是锐极RJARM9?EDU教学实验系统,所有的程式都是基于该平台下精心设计的实验,实验程式也可移植到其他ARM平台上。
本书由李道流编写第1、6、10章,王冬青编写第3、8、9章,陈猛编写第4、7章,季乐威编写第2、5章,全书由李道流统稿。
阅读建议
本书以实践为特色,提供了大量的实验,若读者能自己动手操作本书提供的每一个实验,一定会取得很快的提高。
致谢
本书编写参考了很多网友贡献的宝贵资料,没有你们无私的贡献,此书也无法完成,在此特向那些无名作者表示谢意。
鑒于作者水平有限,加之时间仓促,本书一定有不少缺点和错误,希望得到广大读者批评指正。我们将在吸取大家意见和建议的基础上,不断完善此书的内容,在下一次改版中进行订正。任何批评和建议请发到告知我们,以便共同提高。
目录
第一篇 基础篇 第1章 嵌入式系统基础
1.1 嵌入式系统3
1.1.1 嵌入式系统的概念3
1.1.2 嵌入式系统的组成3
1.1.3 嵌入式系统的特点4
1.1.4 嵌入式系统的套用5
1.1.5 实时作业系统5
1.2 嵌入式处理器6
1.2.1 嵌入式处理器简介6
1.2.2 嵌入式处理器分类6
1.3 嵌入式作业系统8
1.3.1 作业系统简介8
1.3.2 嵌入式作业系统基本概念10
1.3.3 使用实时作业系统的必要性11
1.3.4 实时作业系统的优缺点11
1.4 ARM9实验系统12
1.4.1 ARM9教学实验系统简介12
1.4.2 ARM9教学实验系统操作步骤13
第2章 嵌入式系统开发过程
2.1 嵌入式软体开发的特点17
2.2 嵌入式软体的开发流程18
2.3 嵌入式系统调试方法19
2.3.1 ARM仿真器19
2.3.2 GDB调试20
2.4 嵌入式系统集成开发环境23
第3章 ARM体系结构
3.1 ARM介绍24
3.1.1 ARM微处理器系列25
3.1.2 ARM体系结构28
3.2 ARM编程模型32
3.2.1 工作状态及切换32
3.2.2 存储器格式32
3.2.3 存储器访问33
3.2.4 体系结构直接支持的指令和数据类型34
3.2.5 处理器模式34
3.2.6 内部暂存器35
3.2.7 异常40
第4章 BootLoader
4.1 嵌入式系统的引导代码45
4.2 vivi45
4.3 U?Boot58
4.4 PPCBoot62
4.5 RJARM2410平台BootLoad代码65
4.5.1 启动分析65
4.5.2 片选69
4.6 ARMLinux启动分析72
4.6.1 概述72
4.6.2 head.S和heads3c2410.S分析73
4.6.3 headarmv.S分析86
第二篇 实验篇
第5章 创建嵌入式系统开发环境
5.1 嵌入式Linux的开发环境99
5.2 Cygwin100
5.3 交叉编译的预备知识101
5.4 交叉编译101
5.4.1 安装Linux的头档案102
5.4.2 编译安装binutils105
5.4.3 编译安装gcc的C编译器105
5.4.4 编译安装glibc106
5.4.5 编译安装gcc的C, C++编译器107
5.5 Makefile解析108
5.6 实验1: 一个简单的应用程式——Helloworld110
第6章 Linux系统在ARM平台的移植
6.1 移植的概念115
6.2 Linux核心结构115
6.2.1 Linux核心组成115
6.2.2 子系统相互间的关係116
6.2.3 系统数据结构116
6.2.4 Linux系统实现结构117
6.2.5 Linux核心原始码117
6.3 Linux作业系统移植118
6.3.1 Linux系统移植的两大部分119
6.3.2 系统移植所必需的环境119
6.4 编译Linux核心122
6.5 档案系统简介123
6.6 实验2: RAMDISK档案系统製作126
6.7 实验3: Linux2.6核心移植131
第7章 Linux设备驱动程式开发
7.1 设备驱动概述144
7.2 设备驱动基础151
7.3 设备驱动模组化编程155
7.4 实验4: 框架型驱动161
7.5 实验5: 小键盘+LED驱动171
7.6 实验6: LCD驱动182
7.7 实验7: IDE硬碟接口205
7.8 实验8: 音频输入/输出227
第8章 USB设备驱动程式开发
8.1 USB协定简介259
8.2 USB体系结构261
8.3 USB通信协定263
8.4 USB设备驱动程式设计265
8.4.1 USB系统编程框架266
8.4.2 编写USB设备驱动程式271
8.5 实验9: USB接口277
第9章 嵌入式Linux网路编程
9.1 嵌入式Linux网路体系结构280
9.2 嵌入式Linux环境下的socket编程284
9.3 实验10: 乙太网socket通信290
第10章 图形用户接口开发
10.1 嵌入式系统中的GUI简介303
10.1.1 基于嵌入式Linux的GUI系统底层实现基础303
10.1.2 3种嵌入式GUI系统的分析与比较304
10.2 MiniGUI编程305
10.2.1 概述305
10.2.2 视窗308
10.2.3 对话框、窗片和控制项313
10.2.4 讯息及讯息伫列313
10.2.5 图形设备接口314
10.2.6 选单321
10.2.7 定时器322
10.2.8 滑鼠游标323
10.2.9 插入符323
10.2.10 键盘和滑鼠输入324
10.2.11 键盘快捷键324
10.3 初识Qt/Embedded324
10.4 Qt/Embedded嵌入式图形开发基础339
10.4.1 Qt的资源340
10.4.2 系统要求341
10.4.3 架构342
10.4.4 视窗系统342
10.4.5 字型343
10.4.6 输入设备343
10.4.7 输入方法343
10.4.8 萤幕加速344
10.5 Qt/Embedded实战演练344
10.6 实验11: 图形界面GUI实验353
附录A Linux下常用命令373
参考文献385