· 多年嵌入式人才培养及项目研发经验总结
· 数百家企业嵌入式研发岗位人才需求汇总
· 数十所嵌入式专业大学院校教学现状调研
· 侧重实践及案例分析并辅以代码加以讲解
本书主要分为3个部分,包括linux基础、搭建嵌入式linux环境和嵌入式linux的应用开发。linux基础部分从linux基础、 基本操作命令讲起,为linux初学者能快速入门提供了保证。接着系统地讲解了嵌入式linux的环境搭建,以及嵌入式linux的i/o与文件系统的开发、 进程控制开发、进程间通信开发、网络应用开发、基于中断的开发、设备驱动程序的开发以及嵌入式图形界面的开发等,并且还安排了丰富的实验内 容与课后实践,使读者能够边学边用,更快更好地掌握所学知识。
本书可作为高等院校电子类、电气类、控制类等专业高年级本科生、研究生学习嵌入式linux的教材,也可供希望转入嵌入式领域的科研 和工程技术人员参考使用,还可作为嵌入式培训班的教材和参考书。...
第1章linux快速入门
1.1嵌入式linux基础
1.1.1linux发展概述
1.1.2linux作为嵌入式操作系统的优势
1.1.3linux发行版本
1.1.4如何学习linux
1.2linux安装
1.2.1基础概念
1.2.2硬件需求
1.2.3安装准备
1.3linux文件及文件系统
1.3.1文件类型及文件属性
1.3.2文件系统类型介绍
1.3.3linux目录结构
1.4实验内容——安装linux操作系统
1.5本章小结
1.6思考与练习
第2章linux基础命令
2.1linux常用命令
2.1.1用户系统相关命令
2.1.2文件相关命令
2.1.3压缩打包相关命令
2.1.4文件比较合并相关命令
2.1.5网络相关命令
2.2linux启动过程详解
2.2.1概述
2.2.2内核引导阶段
2.2.3init阶段
2.3linux系统服务
2.3.1独立运行的服务
2.3.2xinetd设定的服务
2.3.3系统服务的其他相关命令
2.4实验内容
2.4.1在linux下解压常见软件
2.4.2定制linux系统服务
2.5本章小结
2.6思考与练习
第3章linux下c编程基础
3.1linux下c语言编程概述
3.1.1c语言简单回顾
3.1.2linux下c语言编程环境概述
3.2常用编辑器
3.2.1进入vi
3.2.2初探emacs
3.3gcc编译器
3.3.1gcc编译流程解析
3.3.2gcc编译选项分析
3.4gdb调试器
3.4.1gdb使用流程
3.4.2gdb基本命令
3.5make工程管理器
3.5.1makefile基本结构
3.5.2makefile变量
3.5.3makefile规则
3.5.4make管理器的使用
3.6使用autotools
3.6.1autotools使用流程
3.6.2使用autotools所生成的makefile
3.7实验内容
3.7.1vi使用练习
3.7.2用gdb调试程序的bug
3.7.3编写包含多文件的makefile
3.7.4使用autotools生成包含多文件的makefile
3.8本章小结
3.9思考与练习
第4章嵌入式系统基础
4.1嵌入式系统概述
4.1.1嵌入式系统简介
4.1.2嵌入式系统发展历史
4.1.3嵌入式系统的特点
4.1.4嵌入式系统的体系结构
4.1.5几种主流嵌入式操作系统分析
4.2arm处理器硬件开发平台
4.2.1arm处理器简介
4.2.2arm体系结构简介
4.2.3arm9体系结构
4.2.4s3c2410处理器详解
4.3嵌入式软件开发流程
4.3.1嵌入式系统开发概述
4.3.2嵌入式软件开发概述
4.4实验内容——使用jtag烧写nand flash
4.5本章小结
4.6思考与练习
第5章嵌入式linux开发环境的搭建
5.1嵌入式开发环境的搭建
5.1.1嵌入式交叉编译环境的搭建
5.1.2超级终端和minicom配置及使用
5.1.3下载映像到开发板
5.1.4编译嵌入式linux内核
5.1.5linux内核源码目录结构
5.1.6制作文件系统
5.2u-boot移植
5.2.1bootloader介绍
5.2.2u-boot概述
5.2.3u-boot源码导读
5.2.4u-boot移植主要步骤
5.3实验内容——创建linux内核和文件系统
5.4本章小结
5.5思考与练习
第6章文件i/o编程
6.1linux系统调用及用户编程接口(api)
6.1.1系统调用
6.1.2用户编程接口(api)
6.1.3系统命令
6.2linux中文件及文件描述符概述
6.3底层文件i/o操作
6.3.1基本文件操作
6.3.2文件锁
6.3.3多路复用
6.4嵌入式linux串口应用编程
6.4.1串口概述
6.4.2串口设置详解
6.4.3串口使用详解
6.5标准i/o编程
6.5.1基本操作
6.5.2其他操作
6.6实验内容
6.6.1文件读写及上锁
6.6.2多路复用式串口操作
6.7本章小结
6.8思考与练习
第7章进程控制开发
7.1linux进程概述
7.1.1进程的基本概念
7.1.2linux下的进程结构
7.1.3linux下进程的模式和类型
7.1.4linux下的进程管理
7.2linux进程控制编程
7.3linux守护进程
7.3.1守护进程概述
7.3.2编写守护进程
7.3.3守护进程的出错处理
7.4实验内容
7.4.1编写多进程程序
7.4.2编写守护进程
7.5本章小结
7.6思考与练习
第8章进程间通信
8.1linux下进程间通信概述
8.2管道
8.2.1管道概述
8.2.2管道系统调用
8.2.3标准流管道
8.2.4fifo
8.3信号
8.3.1信号概述
8.3.2信号发送与捕捉
8.3.3信号的处理
8.4信号量
8.4.1信号量概述
8.4.2信号量的应用
8.5共享内存
8.5.1共享内存概述
8.5.2共享内存的应用
8.6消息队列
8.6.1消息队列概述
8.6.2消息队列的应用
8.7实验内容
8.7.1管道通信实验
8.7.2共享内存实验
8.8本章小结
8.9思考与练习
第9章多线程编程
9.1linux线程概述
9.1.1线程概述
9.1.2线程机制的分类和特性
9.2linux线程编程
9.2.1线程基本编程
9.2.2线程之间的同步与互斥
9.2.3线程属性
9.3实验内容——“生产者消费者”实验
9.4本章小结
9.5思考与练习
第10章嵌入式linux网络编程
10.1tcp/ip概述
10.1.1osi参考模型及tcp/ip参考模型
10.1.2tcp/ip协议族
10.1.3tcp和udp
10.2网络基础编程
10.2.1socket概述
10.2.2地址及顺序处理
10.2.3socket基础编程
10.3网络高级编程
10.4实验内容——ntp协议实现
10.5本章小结
10.6思考与练习
第11章嵌入式linux设备驱动开发
11.1设备驱动概述
11.1.1设备驱动简介及驱动模块
11.1.2设备分类
11.1.3设备号
11.1.4驱动层次结构
11.1.5设备驱动程序与外界的接口
11.1.6设备驱动程序的特点
11.2字符设备驱动编程
11.3gpio驱动程序实例
11.3.1gpio工作原理
11.3.2gpio驱动程序
11.4块设备驱动编程
11.5中断编程
11.6按键驱动程序实例
11.6.1按键工作原理
11.6.2按键驱动程序
11.6.3按键驱动的测试程序
11.7实验内容——test驱动
11.8本章小结
11.9思考与练习
第12章qt图形编程基础
12.1嵌入式gui简介
12.1.1qt/embedded
12.1.2minigui
12.1.3microwindows、tiny x等
12.2qt/embedded开发入门
12.2.1qt/embedded介绍
12.2.2qt/embedded信号和插槽机制
12.2.3搭建qt/embedded开发环境
12.2.4qt/embedded窗口部件
12.2.5qt/embedded图形界面编程
12.2.6qt/embedded对话框设计
12.3实验内容——使用qt编写“hello,world”程序
12.4本章小结