第一篇 openSUSE Linux操作系统 3
第1章 openSUSE 11.3 3
1.1 安装虚拟机 3
1.2 安装openSUSE 11.3 3
1.3 openSUSE 11.3系统配置 11
1.3.1 IP地址配置 12
1.3.2 NFS服务器安装 14
1.3.3 Linux软件开发环境配置 15
1.3.4 桌面配置 15
第2章 Linux操作系统结构 17
2.1 文件系统层次结构 17
2.2 文件系统层次标准FHS 18
2.3 文件类型 21
2.4 终端启动 24
2.5 Shell 24
2.6 常用文件系统 26
2.7 硬盘分区 30
第3章 Linux常用命令 33
3.1 基本命令 33
3.2 扩展命令 35
3.3 软硬盘及光驱的使用 36
3.4 GCC与GDB 37
3.4.1 GCC 37
3.4.2 GDB 38
3.5 VMware-Tools的安装 38
思考题 42
附录1 Linux简介 43
第二篇 嵌入式应用与开发 49
第4章 ARM 9开发板 49
4.1 开发板简介 49
4.2 开发板硬件资源 49
4.3 Linux系统特性 51
4.4 开发板的微处理器及接口资源 52
4.4.1 微处理器 53
4.4.2 串口 58
4.4.3 USB接口 59
4.4.4 GPIO 59
4.4.5 系统总线接口 61
4.4.6 A/D输入测试 62
4.4.7 以太网口 62
4.4.8 LCD接口 63
4.4.9 JTAG接口 64
第5章 Linux图形界面Qtopia 2.2.0 65
5.1 播放MP3 65
5.2 图片浏览 66
5.3 命令终端 67
5.4 网络设置 68
5.5 Ping测试 68
5.6 A/D转换 69
第6章 建立嵌入式开发环境 71
6.1 PC机与开发板硬件连接 71
6.2 Windows XP与开发板之间的通信 71
6.2.1 串口通信 71
6.2.2 USB口通信 79
6.3 openSUSE Linux与开发板之间的通信 83
6.3.1 FTP通信 83
6.3.2 NFS通信 83
第7章 备份恢复系统及安装更新 84
7.1 备份和恢复系统 84
7.1.1 备份系统 84
7.1.2 备份恢复系统 86
7.2 安装嵌入式Linux系统 88
7.2.1 Nand Flash分区 89
7.2.2 安装bootloader BIOS 89
7.2.3 安装Linux内核 90
7.2.4 安装文件系统 92
第8章 配置openSUSE Linux 94
8.1 建立交叉编译环境 94
8.2 解压安装源代码及其他工具 96
8.2.1 解压安装源代码 96
8.2.2 解压创建目标文件系统 98
8.2.3 解压安装必要实用工具 98
8.3 配置NFS网络文件系统服务 99
8.3.1 设置共享目录 99
8.3.2 启动NFS服务 99
8.3.3 通过NFS服务器挂载开发板 100
第9章 定制嵌入式Linux内核及制作文件系统 101
9.1 使用缺省配置文件配置和编译内核 101
9.2 各个驱动程序源码位置 103
9.3 手工配置Linux内核 104
9.3.1 CPU平台选项 105
9.3.2 配置各个尺寸的LCD驱动以及背光控制支持 107
9.3.3 配置触摸屏 109
9.3.4 配置USB鼠标和键盘 110
9.3.5 配置优盘驱动 111
9.3.6 配置USB摄像头万能驱动 113
9.3.7 配置CMOS摄像头驱动 115
9.3.8 配置网卡驱动 116
9.3.9 配置USB无线网卡驱动 119
9.3.10 配置音频驱动 123
9.3.11 配置SD/MMC卡驱动 126
9.3.12 配置看门狗驱动 127
9.3.13 配置LED驱动 128
9.3.14 配置按键驱动 129
9.3.15 配置PWM控制蜂鸣器驱动 129
9.3.16 配置AD转换驱动 130
9.3.17 配置串口驱动 130
9.3.18 配置RTC实时时钟驱动 131
9.3.19 配置12C-EEPROM的M驱动支持 132
9.3.20 配置yaffs2文件系统的支持 134
9.3.21 配置EXT2/VFAT/NFS等文件系统 137
9.3.22 制作Linux logo 139
9.4 制作开发板文件系统映像 141
第10章 嵌入式Linux应用开发 142
10.1 编写Linux测试程序 142
10.1.1 Hello,World!测试 142
10.1.2 LED测试 145
10.1.3 串口测试 147
10.2 编写Linux驱动模块 152
10.3 编写Linux驱动程序 155
10.4 集成环境Qtopia-2.2.0 156
10.4.1 解压安装源代码 157
10.4.2 编译和运行x86版本的Qtopia-2.2.0 157
10.4.3 编译和运行arm版本的Qtopia-2.2.0 157
第11章 常见bootloader的配置和编译 159
11.1 配置和编译vboot 159
11.2 配置和编译vivi 160
11.3 配置和编译U-Boot 162
11.3.1 编译U-Boot 162
11.3.2 烧写U-Boot 163
思考题 165
第三篇 Qt应用与开发 169
第12章 建立Qt桌面开发环境 169
12.1 编译Qt/X11环境 169
12.2 Hello,Qt! 170
第13章 Qt GUI及Qt/E移植 172
13.1 编写Qt/X11程序 173
13.2 移植Qt/E 177
第14章 Qt Creator集成开发环境 181
14.1 Qt C++工程 182
14.2 Qt Quick工程 186
思考题 189
附录2 匈牙利命名法及其实用规则 191
第四篇 Android应用与开发 199
第15章 基于ARM 11的嵌入式Android移植 199
15.1 安装体验基于ARM 11的Android 200
15.2 建立Android编译环境 200
15.2.1 安装交叉编译器 200
15.2.2 解压安装源代码 201
15.3 配置和编译U-BOOT 203
15.4 配置和编译Linux内核 203
15.5 从源代码开始创建Android 203
15.6 制作安装文件系统映像 204
15.6.1 制作yaffs2格式的文件系统映像 205
15.6.2 制作UBIFS格式文件系统映像 205
15.6.3 制作ext3格式的文件系统映像 205
15.7 烧写Android到ARM 11开发板 205
15.7.1 Andriod系统烧写 206
15.7.2 下载并运行裸机程序 210
第16章 基于Windows XP的Android开发环境 213
16.1 Android开发环境搭建 213
16.1.1 下载必备的软件 213
16.1.2 软件的安装 213
16.1.3 Eclipse入门 214
16.1.4 编写Android测试程序:Hello World 226
16.1.5 在Android手机上运行程序 228
16.2 项目编程实例 233
16.2.1 Android应用程序架构 233
16.2.2 简单Android程序应用 236
16.2.3 Android实战案例 260
思考题 267
附录3 JAVA常用包 268
附录4 JAVA常用接口 270
附录5 JAVA包装类 272
第五篇 应用与设计 275
第17章 多道数据采集系统概述 275
17.1 系统设计 275
17.1.1 基本需求 275
17.1.2 总体设计 275
17.2 系统实现 276
17.2.1 硬件设计 276
17.2.2 数据采集 277
17.2.3 数据处理 278
17.3 结论 281
附录6 硬件采集电路图 282
附录7 软件程序 283
第18章 基于Qt的移动扫描系统 285
18.1 实现目标及方法 285
18.2 相关资源 285
18.3 源码移植 286
18.4 制作扫描仪启动界面 287
18.5 配置自动加载脚本 291
18.6 结论 292
思考题 293
参考文献 294