《嵌入式Linux系统开发基础(高等院校计算机教育系列教材)》是由王大永、葛超、张景春编著的。
嵌入式系统是计算机软件与硬件的完美结合,广泛地应用于手持设备、通信家电、仪器仪表、汽车电子、医疗仪器、工业控制、航天航空等各个领域,并嵌入各类设备中,起着核心作用。入式系统开发,无疑是当前最有前途、最为热门、最需人才的技术领域。
本书共分为13章,对嵌入式系统的基本结构、指令系统以及嵌入式系统移植、设备驱动程序等作了比较全面的介绍。其中包括嵌入式ARM系列处理器、存储器、定时器及外围设备的介绍,嵌入式开发编译工具的使用,设备驱动程序的编写,嵌入式操作系统的移植及图形界面的开发。通过阅读本书可以使读者掌握开发嵌入式Linux系统的基本知识及应用技巧。
对于嵌入式处理器指令系统.本书给出了详细的介绍,希望该部分能作为编写ARM汇编程序的开发人员的参考资料.提高开发人员的工作效率。本书可供嵌入式系统、通信工程、信息技术、系统集成等专业的本科生作为教材使用,也可以作为嵌入式系统开发人员的参考用书。
第1章嵌入式系统概述
1 .l嵌入式系统简介
1.1.1嵌入式系统的定义
I .1.2嵌入式系统的硬件/软件
1.1 3嵌入式操作系统
1.I.4学习嵌入式系统的意义
1.2嵌入式系统硬件
1.2.1嵌入式处理器
1.2.2嵌入式微处理器
1 .2.3嵌入式微控制器
1 .2 .4嵌入式DsP处理器
l. 2. 5嵌入式片t系统
1 .2. 6嵌入式处理器的选择
1.3存储器
1 .3 .l存储器的分类
l. 3 .2存储器的层次结构
1. 3 .3随机存储器RAM
l .3 .4 只读存储器ROM
1.4输入,输出设备
1.4 l液晶显示
1.4.2触摸屏
l .4 .3语爵输入/输出技术
1.4 4键盘
1 .5 IU源转换与管理
1.5.1电源IC的分类
1.5 .2电源IC的特点
1.5.3电源IC选用指南
1.6接电源技术
1.6.1 并口.
1.6.2 串口
1.6.3 USB
1.6.4蓝牙
1.7总线
1.7.1 ISA
I.7.2 PCI
1.7.3 PC
1.7.4 SPI
l 7.5 PC-104
1.7.6 CAN
1.8课后练习
第2章嵌入式处理器介绍
2.1 ARM微处理器概述
2 .1.1 ARM微处理器应用领域及特点
2.1.2 ARM微处理器系列
2.1 .3 ARM微处理器体系结构
2.1. 4 ARM微处理器的应用选型
2 .l. 5 ARM微处理器存储体系结构
2 .1.6 ARM微处理器的T作状态
2 .I. 7ARM微处理器运行模式
2.1.8.ARM微处理器的存储格式
2.1 9.ARM状态下的寄存器结构
2.1.10 ARM异常中断
2.2 ARM微处理器指令系统
2.2.1 ARM指令的一般格式
2. 2.2 ARM指令的t}址方式
2.2.3 ARM存储器防问指令
2.2.4跳转指令
2.2.5数制处耻指令
2.2.6程序状态寄存器(PSR)传输指令
2 2.7协处理器指令
2 2.8 ARM杂项指令
2.2.9 ARM伪指令
2 .3 Thumn指令集
2.4课后练习
第3章嵌入式系统设计方法
3.1嵌入式系统设计概述
3.1.1嵌入式系统的总体结构
3. l .2嵌入式系统的设计内容
3 .l .3嵌入式系统的设计特点
3.1 .4嵌入式系统设计方法的分类
3 .2嵌入式系统设计流程
3. 3 ARM920T简介
3 .4 S3C 2410X 开发权
3.4.1 S3C2410处理器的特点
3.4.2 ARM片上总线
3 .4. 3 S3C 2410的处理器中断
3.4 .4 S3C 2410处理器片上资源的定义和使用
3 .4.5编程参考软件包2410TES'Il
3.5课后练习
第4章 BootLoader
4.1 BootLoader 概述
4.1.1BootLoader的基本概念
4.1.2 BootLoader所支持的cPU和
嵌入式体系结构
4.1 3 BootLoader的安装介质
4 .l .4 BootLoader的概念扩展
4 .l. 5 ARM BootLoader的共性
4.1,6 BootLoader移植的必要性
4.1.7 BootLoader的烧录和存储
4 1.8 BootLoader与主机之间进行文件传输所用的通信设备及协议
4.1. 9 BootLoader的通用执行流程
4 .2 常用的嵌入式Lirlux Boot[。oader..
4.2 .l U—Boot
4.2.2 VIVI
4 .2. 3 BLOB
4.2 .4 RedBoot
4,2.5 ARMBoot
4.2.6 DIY
4 .3 u—Boot基础
4 .3 .1 u—Boot源代码的目录结构
4. 3.2 u—Boot支持的主要功能
4,3 3u—Boot的命令介绍及环境变量
4.4 u—Boot的启动过程
4.5 u—Boot的编译过程
4.6 u—Boot移植的关键技术
4.7课后练习
第5章嵌入式系统交叉编译
5.1交叉编译环境简介
5.1. 1交叉编译概念模型
5.1.2目标板与宿主机之间的连接
5 .1.3文件传输方式
5 .l .4网络文件系统
5.2交叉编译工具
5.2.1 gcc编译器
5 2 2 Binutils工具包
5.213 GNUJmak
5.2.4 glibc库
5.2.5 gdb调试工具
5.2.6交叉编译环境的建立
5. 3主机开发环境配置
5.3.1配置主机服务
5 .3.2串口控制台工具
5.3_3配置DHCP服务
5 .3.4配置TFTP服务
5.3.5配置NFS服
5 .4课后练习
第6章嵌入式Linux的软件
开发环境
6.1交叉编译环境
6.1 .l安装交叉编译环境
6.1. 2添加设备驱动和内核模块
6.2可执行文件
6 2.1 COFF文件格式
6. 2 .2 ELF文件格式
6.2. 3 FLAT文件格式
6 .3调试技术
6 .3.基于主机的调试
6.3 .2远程调试器与调试内核
6.3. 3在线仿真ICE
6 .3. 4 BDM
6.3. 5软件仿真器
6 .3 .6内存调试
6. 3.7 MEMWAl℃H
6.3.8 YAMD
6 .4和序调试
6.4.1 gdb
6.4.2 kgdb
6 .4. 3 Oops
6.5 ROM仿真器
6.6 JTAG接u
6.7系统引导和内核启动
6 .7.1 BootLoader程序的设计与实现
6 .7 .2硬件平台的通信
6. 7. 3硬件平台初始化程序
6.7.4硬件平台监控程序
6.8 uCLinux移植
6.8.I第一阶段
6.8 2第二阶段
6.9醒后练爿
第7章设备驱动程序
7.1概述
7.1.1设备类型
7.1.2设备号
7.1.3模块化编程
7.2设备驱动基础
7.2.1 设备驱动程序的结构
7.2. 2设备驱动程序的接口
7 .3设备文件接口
7. 3.1用户访问接口
7.3.2 open入口点
7 3 3 close入口点
7 3.4 read入口点
7 3 5 write入口点
7.3.6 ioctl入口点
7.4文件操作
7.4一file—operations结构
7.4.2 file结构
7. 5 .I/O操作
7.5.1阻塞型I/O
7.5.2 select
7 .5 .3异步触发
7.6中断处理
7.6 .l注册中断处理程序
7 .6. 2返回值
7 .6 .3参数
7 .6 .4实现中断处理程序
7.7实例:简单设备驱动程序
7 .7 .1按键
7. 7 .2触摸屏
7.8课后练习
第8章FIashROM存储器实例
8.1 S3C44B0存储器控制器
8. l. 概述
8 .1.2功能描述
8.1. 3特殊寄存器
8.2 FlashRom原理分析
8 .2 .1 Flash器件介绍
8.2.2 Flash读写操作
8.2.3 SST39VFl60芯片介绍
8.2.4 SST39VFl601芯片操作
8 .3实例过程
8 .3.电路连接
8.3.2硬件和寄存器设置
8.3 .3程序的编写
8.3.4调试与运行结果.
8.4课后练习
第9章定时器中断实例
9.1 S3C4480中断机制分析
9.1.1中断控制器
9 .l. 2中断源与中断模式
9 .l .3中断优先级
9.1.4其他特殊寄存器
9 .2 PWM定时器
9 .2.1定时器结构概述
9 .2. 2定时器操作
9.2.3死区产生器
9.2.4 DMA请求模式
9.2.5特殊寄存器
9. 3实例过程
9. 3.1寄存器设置
9.3.2程序的编写
9 .3. 3调试与运行结果
9.4课后练习
第10章 uC/0S—II移植与应用实例
10.1uC/0S—II实时操作系统
10.1.1实时操作系统概念
10.1.2 uC/0S—II的文件结构.
10.1_3 uC/0S—II的任务与中断
10.1 .4 uC/0S—II的任务函数
10.2uC/0S—II的移植
10.2.1移植条件和内容分析
10.2.2 OS-CPU.H
10.2. 3 OS—CPU—A.ASM
10.2.4 OS-CPu_CC
lO.3实例过程
lO. 3.1配置OS-CFG.H文件
10.3.2任务函数的编写
10.3. 3调试与运行结果
10.4课后练习
第11章uCLinux移植实例
1l .l Linux操作系统
11.1.1 Linux介绍
11.1.2 Linux内核
11.2. luCLinux操作系统
11.2. l uCLinux介绍
11.2.2 uCLinux文件结构
1l. 3实例过程
ll .3.1 寄存器配置和文什修改
1l. 3.2编译过戢
11.3.3 下载与运行结果
1l .4课后练习
第12章Linux下网络通信实例
12.1网络协议介绍
12.1.1 以太嘲协议
12.1.2 ARP协议
12.1 .3 ICMP协泌
12 .1.4 LIDP协议
12.1. 5 TCP协议
12.1.6 FTP、HTTP等应用层协议
12.2Linux网络协议层
12. 2.1网络层次总体结构
12.2. 2网络设备驱动程序分析
12.3实例过程
12 .3.1 CS800A驱动的编写
12 .3.2 TCCP编程实例
12.3.3 UDP编程实现
12.4课后练习
第13章图形用户界面实例
13.1概述
13.1l GUI简介
13.1 2 GUI特征
13.1.3 GUI架构
13.2嵌入式Linux GUI简介
13.2.1 MicroWindows
13.2.2 OpenGUl..
13.2 3 Qt/Embedded.
13.2.4 MiniGUI
13.3 Qt/Embedded图形丌发实例
13.3 l Qt/Embedded介绍与安装
13.3 2 Qt/Embedded信号和插槽机制
13.3 3 Qt/Embedded实现技术分析
13.3.4 Qt/Embedded图形引擎实现基础
13.3.5 Qt/Embedded事件驱动的基础
13.3.6 Qt/Embedded应用程序的开发流程
13.3.7 Qt/Embedded的移植与应用
13.3.8 Qt/Embcddcd窗E1实例
13.4课后练习
附录各章课后练习参考答案