ARM嵌入式Linux系统设计与开发

2019-07-12 23:02发布

ARM嵌入式Linux系统设计与开发
基本信息 作者: 俞辉 李永 刘凯 王晓虹
丛书名: 高等院校计算机教材系列
出版社:机械工业出版社
ISBN:9787111300045
上架时间:2010-5-6
出版日期:2010 年5月
开本:16开
更多详细信息请查看:http://www.china-pub.com/196680
更有精彩样张试读:http://www.china-pub.com/computers/common/mianfeisd.asp?id=196680
内容简介 本书全面介绍以ARM-Linux为操作系统的嵌入式系统设计与开发技术,秉承理论与实践相结合的指导思路 ,帮助读者快速跨入嵌入式系统开发的门槛。本书共11章,分三篇,其中,第一篇(第1~3章)主要介绍 嵌入式硬件平台和软件系统的基础知识,第二篇(第4~7章)主要介绍基于ARM-Linux系统的驱动开发、软 件移植、图形用户接口以及通信应用等内容,第三篇(第8~11章)主要介绍一些基于ARM-Linux的实际应 用方案和案例。
本书内容丰富、概念清楚,适合作为高等院校计算机、电子、通信、软件工程等专业嵌入式课程的教材, 也可供广大工程技术人员参考。
目录 前 言
教学建议
第一篇 ARM嵌入式Linux
系统的基础与平台构建
第1章 嵌入式系统基础1
1.1 嵌入式系统的概念与特点 1
1.1.1 嵌入式系统的概念 1
1.1.2 嵌入式系统的特点 1
1.1.3 嵌入式系统的软硬件可裁剪 2
1.1.4 嵌入式系统与单片机、传统PC的区别 2
1.2 嵌入式系统开发基础 3
1.2.1 嵌入式系统的硬件基础 3
1.2.2 嵌入式系统的软件基础 10
1.3 嵌入式系统开发流程与方法 14
1.3.1 嵌入式系统的抽象体系结构 14
1.3.2 实时软件分析设计方法DARTS 15
1.3.3 嵌入式系统的开发流程 16
1.3.4 嵌入式Linux系统的程序部署 17
习题 18
第2章 ARM与Linux基础 19 .2.1 ARM概述 19
2.1.1 ARM体系结构 19
2.1.2 XScale体系结构 24
2.2 Linux系统的使用 27
2.2.1 Linux的使用基础 27
2.2.2 Linux内核与结构 37
2.2.3 嵌入式Linux的启动过程 41
2.3 LinuxC程序设计 42
2.3.1 LinuxC程序设计基础 43
2.3.2 调试工具 45
2.3.3 Linux多线程库编程 52
习题 56
第3章 嵌入式Linux内核、文件系统与存储 57
3.1 嵌入式引导系统技术 57
3.1.1 概述 57
3.1.2 u灢boot目录结构 58
3.1.3 u灢boot启动流程及相关代码分析 59
3.1.4 u灢boot的常用命令 67
3.2 Linux内核定制、裁剪和添加 68
3.2.1 概述 68
3.2.2 配置文件和配置工具 69
3.2.3 内核的编译命令 71
3.2.4 内核的烧写过程 71
3.3 文件系统的构建 73
3.3.1 概述 73
3.3.2 BusyBox的移植 74
3.4 关于2.6版本内核的几点改进 78
习题 79
第二篇 ARM嵌入式Linux系统的驱动开发与软件应用
第4章 嵌入式Linux接口设计与驱动程序 81
4.1 驱动程序设计基础 81
4.1.1 Linux驱动程序简介 81
4.1.2 开发驱动程序的方法 81
4.1.3 设备驱动程序的分类 82
4.1.4 主设备号和次设备号82
4.1.5 udev介绍83
4.2 虚拟驱动模块实验90
4.2.1 内核的配置90
4.2.2 编写驱动程序94
4.2.3 测试程序和 Makefile96
4.2.4 测试程序的执行过程96
4.3 AD接口驱动程序97
4.3.1 AD转换器97
4.3.2 AD转换有关参数99
4.3.3 ARM自带的AD转换装置99
4.3.4 程序说明100
4.4 触摸屏接口设计与驱动104
4.4.1 触摸屏的工作原理104
4.4.2 S3C2410芯片的触摸屏相关配置寄存器105
4.4.3 程序说明109
4.5 帧缓冲与LCD驱动移植110
4.5.1 帧缓冲机制介绍110
4.5.2 LCD简介111
4.5.3 LCD控制器初始化时所需的数据结构111
4.5.4 移植LCD驱动程序115
4.6 V4L程序设计119
4.6.1 V4L概述119
4.6.2 视频驱动实验121
习题128
第5章 嵌入式Linux开源软件移植与应用129
5.1 开源软件移植的一般过程129
5.1.1 软件移植的概念129
5.1.2 软件移植过程129
5.2 嵌入式 WebServerGoAhead的移植与应用130
5.2.1 嵌入式 Web服务器130
5.2.2 GoAhead介绍131
5.2.3 GoAhead在ARM平台上的移植131
5.2.4 页面操作133
5.3 嵌入式 WebServicegSOAP的移植与应用134
5.3.1 gSOAP介绍134
5.3.2 gSOAP裁剪137
5.3.3 gSOAP应用140
5.3.4 gSOAP移植145
5.4 嵌入式数据库SQLite的移植与应用147
5.4.1 SQLite介绍147
5.4.2 SQLite在ARM平台上的移植148
5.4.3 SQLite的使用151
5.5 播放器 Mplayer的移植154
5.5.1 Mplayer介绍154
5.5.2 Mplayer在ARM平台上的移植154
5.6 J2ME灢phoneME的移植157
5.6.1 phoneME介绍157
5.6.2 软件移植过程157
5.7 嵌入式浏览器Konqueror的移植158
5.7.1 Konqueror介绍158
5.7.2 软件移植过程159
习题161
第6章 嵌入式Linux图形用户接口162
6.1 嵌入式GUI简介162
6.1.1 嵌入式GUI的特点162
6.1.2 嵌入式GUI的种类162
6.2 嵌入式GUI———Qt163
6.2.1 Qt与Qt/Embedded简介163
6.2.2 Qt的特点163
6.2.3 Qt的执行过程164
6.2.4 Qt的插槽机制166
6.2.5 一个完整的Qt程序166
6.2.6 QtDesigner介绍166
6.3 Qt/E4与键盘鼠标接口的映射167
6.3.1 Qt/E4的移植过程167
6.3.2 Qt/E4键盘鼠标接口的工作原理170
6.3.3 Qt/E4与LinuxPS/2
键盘鼠标驱动的衔接172
6.3.4 Qt/E4键盘驱动映射的实现172
习题174
第7章 嵌入式Linux下的通信应用175
7.1 嵌入式Linux下的串口通信175
7.1.1 串口简介175
7.1.2 串口编程175
7.1.3 串口编程应用实例177
7.2 嵌入式Linux网络编程179
7.2.1 网络通信179
7.2.2 Socket简介179
7.2.3 网络编程180
7.2.4 网络编程应用实例182
7.3 嵌入式蓝牙技术185
7.3.1 蓝牙技术185
7.3.2 蓝牙体系结构185
7.3.3 蓝牙通信网络186
7.3.4 LinuxBluetooth软件层186
7.3.5 USB适配器186
7.3.6 蓝牙应用实例187
7.4 CAN总线191
7.4.1 CAN总线简介191
7.4.2 CAN总线硬件特征191
7.4.3 CAN控制器驱动194
7.4.4 CAN总线编程实例196
7.5 GPS和GPRS的应用199
7.5.1 GPS原理与应用199
7.5.2 GPS编程实例200
7.5.3 GPRS原理与应用203
7.5.4 GPRS编程实例204
习题205
第三篇 ARM嵌入式Linux系统的解决方案与应用场合
第8章 OMAP5910与Linux Gateway207
8.1 OMAP5910体系结构207
8.1.1 MPU子系统207
8.1.2 DSP子系统208
8.2 LinuxDSPGateway210
8.2.1 DSPGateway的由来210
8.2.2 DSPGateway的 Mailbox机制210
8.2.3 通信缓冲210
8.2.4 Mailbox命令协议213
8.2.5 DSPGateway的设备接口214
8.3 OMAP5910图像处理215
8.3.1 图片格式215
8.3.2 数字图像算法216
8.4 基于OMAP的加密终端的实现(软件部分)218
8.4.1 加密算法简介218
8.4.2 加密终端的具体实现220
习题221
第9章 实时MobileLinux系统222
9.1 LiMo基金会222
9.1.1 LiMo基金会介绍222
9.1.2 LiMo手机解决方案的软件体系结构222
9.2 开放手机联盟224
9.2.1 开放手机联盟与Android 224
9.2.2 Android应用程序结构分析227
9.2.3 Android开发环境搭建229
9.2.4 Android应用程序开发———HelloWorld234
9.3 MobileLinux系统的构建实例236
9.3.1 MarvellPXA310简介236
9.3.2 基于PXA310的 MobileLinux系统构建过程237
习题240
第10章 嵌入式Linux系统的设计桖与优化241
10.1 嵌入式产品的生产链与关键因素241
10.2 嵌入式系统开发方法241
10.2.1 软硬件 “分离暠设计方法241
10.2.2 非形式化建模方法与形式化建模方法242
10.2.3 结构化设计范式与面向对象设计范式243
10.3 硬件选型对性能的影响243
10.3.1 硬件平台的分类244
10.3.2 嵌入式处理器的选择244
10.3.3 外围设备的选择244
10.3.4 硬件成本245
10.4 软件设计对性能的影响245
10.4.1 嵌入式软件开发的特点245
10.4.2 嵌入式软件开发中存在的问题245
10.4.3 常用嵌入式软件设计方法246
10.5 软硬件协同设计方法247
10.5.1 传统设计方法的局限性247
10.5.2 嵌入式软硬件协同设计方法247
习题249
第11章 嵌入式Linux综合实例———数字油田生产监控
系统的设计与实现250
11.1 系统概述250
11.1.1 系统结构和功能简介250
11.1.2 软硬件环境252
11.2 系统设计252
11.2.1 系统总体方案设计252
11.2.2 无线传感器节点设计253
11.2.3 远程测控终端RTU设计254
11.3 软件设计259
11.3.1 远程测控终端RTU软件设计259
11.3.2 监控中心软件设计266
参考文献271