嵌入式Linux系统开发教程

出版日期:2016-8
ISBN:9787121293730
作者:华清远见嵌入式学院,姜先刚,袁祖刚
页数:333页

内容概要

华清远见嵌入式培训中心,是国内成立较早、规模较大的专业嵌入式培训机构。为满足快速增长的移动开发领域对Android等主流嵌入式操作系统研发人才的需求,华清远见在多年高端嵌入式专业培训和丰富的企业内训实施经验的基础上,于2004年正式成立华清远见3G学院,学院充分整合行业经验及专业领域的企业合作资源优势,打造出专业、科学的实训体系,帮助合作院校时刻紧跟行业用人需求的新趋势,引导毕业生在知识结构上更好地实现与企业真实需求的对接,从而有效提高其就业竞争优势,顺利进入专业研发领域。

书籍目录

第1章嵌入式系统概述
1
1.1嵌入式系统
2
1.2嵌入式操作系统
3
1.3嵌入式Linux历史
5
1.4嵌入式Linux开发环境
6
1.5嵌入式Linux系统开发要点
8
第2章ARM处理
9
2.1 ARM处理器简介
10
2.1.1 ARM公司简介
11
2.1.2 ARM处理器体系结构
12
2.1.3 Linux与ARM处理器
17
2.2 ARM指令集
18
2.2.1 ARM微处理器的指令集概述
18
2.2.2 ARM指令寻址方式
19
2.2.3 Thumb指令
21
2.2.4 Thumb-2指令
22
2.2.5 ThumbEE指令
22
2.3典型ARM处理器简介
22
2.3.1 Atmel AT91RM9200
22
2.3.2 Samsung S3C2410
23
2.3.3 TI OMAP5系列
25
2.3.4 Freescale i.Max6
26
2.3.5 Intel Xscale PXA系列
27
2.3.6 Cortex-A系列的Exynos4412
29
2.4华清远见 FS4412开发板
30
2.4.1 华清远见 FS4412开发板介绍
30
2.4.2 众多的开发板供应商
34
2.5习题
34
第3章Linux编程环境
35
3.1 Linux常用工具
36
3.1.1 Shell简介
36
3.1.2 常用的Shell命令
38
3.1.3 编写Shell脚本
46
3.1.4 正则表达式
50
3.1.5 程序编辑器
53
3.2 Makefile
57
3.2.1 GNU make
57
3.2.2 Makefile规则语法
59
3.2.3 Makefile文件中变量的使用
60
3.3二进制代码工具的使用
62
3.3.1 GNU Binutils工具介绍
62
3.3.2 Binutils工具软件使用
63
3.4 GCC编译器的使用
64
3.4.1 GCC编译器简介
64
3.4.2 GCC编译选项解析
66
3.5调试器GDB的使用技巧
70
3.5.1 GDB调试器介绍
70
3.5.2 GDB调试命令
71
3.6 Linux编程库
75
3.6.1 Linux编程库介绍
75
3.6.2 Linux系统调用
76
3.6.3 Linux线程库
78
3.7习题
81
第4章交叉开发环境
82
4.1交叉开发环境介绍
83
4.1.1 交叉开发概念模型
83
4.1.2 目标板与主机之间的连接
84
4.1.3 文件传输
86
4.1.4 网络文件系统
87
4.2安装交叉编译工具
87
4.2.1 获取交叉开发工具链
87
4.2.2 主机安装工具链
88
4.3主机开发环境配置
88
4.3.1 主机环境配置
88
4.3.2 串口控制台工具
89
4.3.3 TFTP服务
93
4.3.4 NFS服务
93
4.4启动目标板
95
4.4.1 系统引导过程
95
4.4.2 内核解压启动
96
4.4.3 挂接根文件系统
98
4.5应用程序的远程交叉调试
99
4.5.1 交叉调试的模型
99
4.5.2 交叉调试程序实例
100
4.6实例:FS4412嵌入式开发环境搭建
102
4.6.1 开发主机安装
102
4.6.2 联调测试
110
4.7习题
113
第5章Bootloader
114
5.1 Bootloader 简介
115
5.1.1 Bootloader介绍
115
5.1.2 Bootloader的启动
115
5.1.3 Bootloader的种类
118
5.2 U-Boot简介
120
5.2.1 U-Boot介绍
120
5.2.2 U-Boot的常用命令
120
5.2.3 U-Boot的环境变量
124
5.2.4 U-Boot源码结构
126
5.3 U-Boot源码分析
127
5.3.1 配置编译
127
5.3.2 U-Boot启动过程
132
5.3.3 U-Boot与内核的关系
136
5.4 U-Boot移植实例
138
5.4.1 收集移植相关资源
138
5.4.2 选择U-Boot 源码版本
139
5.4.3 u-Boot 配置编译
139
5.4.4 串口能输出信息
140
5.4.5 移植网卡实现Ping和TFTP的功能
145
5.5习题
151
第6章配置编译内核
153
6.1 Linux内核特点
154
6.1.1 Linux内核版本介绍
154
6.1.2 Linux内核特点
155
6.2配置编译内核源码
156
6.2.1 内核源码的下载方法和结构
157
6.2.2 内核配置系统
160
6.2.3 KbuildMakefiles
167
6.2.4 内核编译
178
6.2.5 内核编译结果
185
6.3内核配置选项
187
6.3.1 使用配置菜单
187
6.3.2 基本配置选项
189
6.3.3 驱动程序配置选项
191
6.4习题
192
第7章内核移植基础
193
7.1移植内核源码
194
7.1.1 移植的基本工作
194
7.1.2 移植后的工作
196
7.2 Linux设备树
197
7.2.1 Linux设备树的由来
197
7.2.2 Linux设备树的目的
197
7.2.3 Linux设备树的使用
199
7.3 Linux内核启动过程分析
206
7.3.1 内核启动流程介绍
206
7.3.2 内核启动加载程序
209
7.3.3 内核主体程序入口
215
7.3.4 Linux系统初始化
218
7.3.5 初始化驱动模型
224
7.3.6 挂载根文件系统
225
7.4习题
227
第8章内核移植实例
229
8.1基本内核移植
230
8.2网卡驱动移植
234
8.2.1 网卡原理图分析
234
8.2.2 网卡驱动移植
235
8.2.3 以NFS挂载根文件系统
237
8.3 SD/eMMC驱动移植
238
8.4 USB主机控制器驱动移植
240
8.5 LCD驱动移植
244
8.6习题
249
第9章内核调试技术
250
9.1内核调试方法
251
9.1.1 内核调试介绍
251
9.1.2 学会分析内核源程序
252
9.1.3 调试方法介绍
252
9.2内核打印函数
255
9.2.1 内核映像解压前的串口输出函数
255
9.2.2 内核映像解压后的串口输出函数
257
9.2.3 printk
258
9.3获取内核信息
263
9.3.1 系统请求键
263
9.3.2 通过/proc接口
264
9.3.3 通过/sys接口
265
9.4处理出错信息
268
9.4.1 oops信息
268
9.4.2 panic
269
9.4.3 通过ioctl方法
271
9.5内核源代码调试
272
9.6习题
275
第10章制作Linux根文件系统
276
10.1根文件系统目录结构
277
10.2 init系统初始化过程
280
10.2.1 inittab文件
281
10.2.2 System V init启动过程
284
10.2.3 Busyboxinit启动过程分析
285
10.3制作根文件系统
287
10.3.1 配置并编译Busybox
287
10.3.2 添加共享库文件和内核模块
289
10.3.3 添加其他目录和文件
290
10.4固化根文件系统
293
10.4.1 制作image格式的initrd根文件系统镜像
293
10.4.2 固化ext2格式的根文件系统
295
10.5习题
297
第11章Qt移植
299
11.1 Qt源码配置、编译及安装
300
11.2在根文件系统中添加Qt
309
11.3安装Qt集成开发环境
309
11.4添加ARM平台的构建环境
313
11.5编写并运行Qt测试程序
316
11.6习题
320
参考文献
322
附录习题答案
323

作者简介

《嵌入式Linux系统开发教程》结合大量实例,在基于ARM Cortex-A9四核处理器的硬件教学平台上,全面详细讲解了ARM处理器及在其上的嵌入式Linux系统开发。主要内容包含ARM处理器及常用指令介绍,Linux编程环境,交叉开发环境,U-Boot启动过程及移植,Linux内核配置、编译及移植,Linux启动过程,ARM的Linux设备树介绍,网卡驱动、SD/eMMC驱动、USB主机控制器驱动、LCD驱动的移植,根文件系统制作及镜像烧写,5.4.2版本的Qt移植等。移植相关的内容,不仅给出了移植的方法和步骤,更主要的是说明了为什么要这么做。


 嵌入式Linux系统开发教程下载



发布书评

 
 


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024