描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787111455004
内容简介
廉文娟、郭华、范延滨编著的《ARM嵌入式Linux 驱动程序开发》基于Linux 2.6内核,以S3C2410A为例详细介绍了Linux在ARM上的移植过程和驱动程序设计的理论知识,并在此基础上由浅入深地讲解了Lmux 驱动程序的设计步骤及调试方法。全书共分11章,主要内容包括嵌入式系统开发概述,创建嵌入式系统开发环境,嵌入式文件系统分析与设计,Boot Loader 分析与设计,Linux系统的移植,Unux设备驱动程序,串口驱动程序,基于ZLC7290的键盘和数码管驱动设计,LCD驱动程序分析与设计,USB设备驱动程序分析与设计,网络设备驱动程序分析与设计等。
为配合教学,《ARM嵌入式Linux驱动程序开发》提供配套资料:实验所用到的工具软件;实验所用到的开源软件源代码包;全书所使用到的大部分实例代码;本书配套PPT课件。读者可登录机械工业出版社教育服务网注册下载。
《ARM嵌入式Linux驱动程序开发》既可作为高等院校相关专业的教材,也可作为嵌入式系统开发与应用技术人员和Linux设备驱动开发人员的参考书。
为配合教学,《ARM嵌入式Linux驱动程序开发》提供配套资料:实验所用到的工具软件;实验所用到的开源软件源代码包;全书所使用到的大部分实例代码;本书配套PPT课件。读者可登录机械工业出版社教育服务网注册下载。
《ARM嵌入式Linux驱动程序开发》既可作为高等院校相关专业的教材,也可作为嵌入式系统开发与应用技术人员和Linux设备驱动开发人员的参考书。
目 录
前言
第1章 嵌入式系统概述
1.1 嵌入式系统的概念
1.1.1 嵌入式系统的定义
1.1.2 嵌入式系统的特点
1.1.3 嵌入式系统的发展趋势
1.2 嵌入式系统的分类
1.3 嵌入式系统的组成结构
1.4 嵌入式处理器简介
1.5 ARM处理器
1.5.1 ARM系列处理器概述
1.5.2 ARM处理器的寄存器文件
1.5.3 ARM处理器的异常与中断
1.5.4 ARM处理器的指令系统
1.5.5 S3C2410A的性能
1.6 嵌入式操作系统
1.6.1 嵌入式操作系统的发展阶段
1.6.2 嵌入式实时操作系统
1.6.3 嵌入式操作系统选型
1.6.4 典型嵌入式操作系统
本章小结
第2章 创建嵌入式系统开发环境
2.1 Linux常用命令
2.1.1 命令基础
2.1.2 文件操作命令
2.1.3 目录操作命令
2.1.4 文件与目录权限操作
2.1.5 Linux用户和组操作的常用命令
2.1.6 文件压缩与打包命令
2.1.7 进程操作的相关命令
2.1.8 网络命令
2.2 交叉编译环境的预备知识
2.2.1 GCC编译器
2.2.2 Clibc库和CDB调试工具
2.2.3 make命令和makefile文件
2.2.4 Binutils工具包
2.3 搭建交叉编译环境
2.3.1 交叉编译简介
2.3.2 搭建S3C24IOA交叉编译环境
2.3.3 程序执行方式
本章小结
第3章 嵌入式文件系统分析与设计
3.1 Linux文件系统类型
3.2 Linux根文件系统
3.3 Linux系统的引导过程
3.4 嵌入式文件系统
3.4.1 嵌入式文件系统的特点和种类
3.4.2 常见的嵌入式文件系统
3.4.3 内存技术设备
3.4.4 RAMDisk技术
3.4.5 网络文件系统
3.5 Busybox
本章小结
第4章 BootLoader分析与设计
4.1 嵌入式系统的引导代码
4.1.1 初识BootLoader
4.1.2 BootLoader的启动流程
4.2 常用的嵌入式Linux Boot Loader
4.2.1 U-Boot
4.2.2 VIVI
4.2.3 Blob
4.2.4 RedBoot
4.2.5 其他BootLoader
4.3 U-Boot分析与移植
4.3.1 U-Boot源代码结构
4.3.2 U-Boot源代码编译
4.3.3 U-Boot移植步骤
4.3.4 U-Boot启动流程分析
4.4 U-Boot使用
4.4.1 U-Boot的常用命令
4.4.2 U-Boot的环境变量
本章小结
第5章 Linux系统的移植
5.1 Linux内核配置
5.1.1 Linux内核源代码结构
5.1.2 Linux内核配置系统
5.2 Linux内核编译
5.2.1 Kbuild编译工具
5.2.2 Linux内核编译命令及编译过程
5.2.3 Linux内核编译结果
5.3 Linux内核移植
5.3.1 Linux内核移植方法
5.3.2 Linux内核移植过程
5.4 Linux内核启动过程分析
5.4.1 Linux内核启动流程
5.4.2 Linux内核启动源代码分析
本章小结
第6章 Linux设备驱动程序
6.1 设备驱动基础
6.1.1 设备驱动的概念
6.1.2 没备类型与数据交换方式
6.1.3 内核窄问和用户空间
6.2 设备驱动开发
6.2.1 Linux设备驱动程序框架
6.2.2 设备驱动中的关键数据结构
6.2.3 设备驱动中的基本函数
6.2.4 字符设备驱动开发举例
本章小结
第7章 串口驱动程序
7.1 串口概述
7.2 S3C24IOA串口控制器
7.2.1 S3C2410A串口控制器原理
7.2.2 S3C2410A串口控制器相关寄存器
7.3 嵌入式Linux串口驱动程序设计
7.3.1 串口驱动程序框架
7.3.2 串口驱动程序的注册
7.3.3 OPS中的串口操作函数
7.3.4 串口驱动中与控制台有关的函数
7.4 串口应用程序设计
7.4.1 串口终端函数
7.4.2 串口通信应用
本章小结
第8章 基于ZLG7290的键盘和数码管驱动设计
8.1 ZLG7290介绍
8.1.1 ZLG7290功能描述
8.1.2 ZLG7290工作原理
8.1.3 ZLC7290内部寄存器
8.1.4 控制命令详解
8.2 IIC总线
8.2.1 IIC总线概述
8.2.2 IIC总线标准
8.3 ZLG7290硬件电路设计
8.4 S3C24IOA中与IIC相关的I/O端口和寄存器
8.4.1 S3C2410A的IIC总线接门
8.4.2 各种模式下的操作流程图
8.4.3 IIC总线特殊寄存器
8.5 Linux的IIC驱动程序分析与设计
8.5.1 IIC总线驱动的关键数据结构
8.5.2 S3C2410A总线IIC设备驱动实现
8.5.3 ZLG7290的IIC驱动安装与测试
本章小结
第9章 LCD驱动程序分析与设计
9.1 LCD
9.2 LCD的显示接口
9.3 嵌入式处理器的LCD控制器
9.3.1 LCD控制器
9.3.2 LCD控制器的设置
9.3.3 LCD的字符显示缓存
9.4 基于framebuffer的LCD驱动程序
9.4.1 framebuffer概述
9.4.2 framebuffer设备驱动程序的结构
9.4.3 framebuffer设备驱动程序的设计
9.5 LCD驱动程序在S3C2410A上的移植
9.5.1 移植步骤
9.5.2 LCD驱动程序分析
本章小结
第10章 USB设备驱动程序分析与设计
10.1 USB接口概述
10.1.1 USB系统组成
10.1.2 USB的电气特性
10.1.3 USB总线的拓扑结构
10.1.4 USB的通信协议
10.2 USB设备驱动程序设计
10.2.1 USB设备驱动程序分类
10.2.2 USB驱动的框架程序
10.2.3 设备端USB驱动程序
10.3 USB驱动程序在S3C2410A上的移植
本章小结
第11章 网络设备驱动程序分析与设计
11.1 网络协议
11.2 以太网
11.2.1 以太网的拓扑结构
11.2.2 以太网协议
11.2.3 以太网帧结构
11.3 嵌入式网络接口
11.4 嵌入式Linux网络驱动
11.4.1 Linux网络设备驱动程序的体系结构
11.4.2 网络驱动程序的基本方法
11.4.3 网络驱动中的主要数据结构
11.5 网络驱动程序的移植及分析
本章小结
参考文献
第1章 嵌入式系统概述
1.1 嵌入式系统的概念
1.1.1 嵌入式系统的定义
1.1.2 嵌入式系统的特点
1.1.3 嵌入式系统的发展趋势
1.2 嵌入式系统的分类
1.3 嵌入式系统的组成结构
1.4 嵌入式处理器简介
1.5 ARM处理器
1.5.1 ARM系列处理器概述
1.5.2 ARM处理器的寄存器文件
1.5.3 ARM处理器的异常与中断
1.5.4 ARM处理器的指令系统
1.5.5 S3C2410A的性能
1.6 嵌入式操作系统
1.6.1 嵌入式操作系统的发展阶段
1.6.2 嵌入式实时操作系统
1.6.3 嵌入式操作系统选型
1.6.4 典型嵌入式操作系统
本章小结
第2章 创建嵌入式系统开发环境
2.1 Linux常用命令
2.1.1 命令基础
2.1.2 文件操作命令
2.1.3 目录操作命令
2.1.4 文件与目录权限操作
2.1.5 Linux用户和组操作的常用命令
2.1.6 文件压缩与打包命令
2.1.7 进程操作的相关命令
2.1.8 网络命令
2.2 交叉编译环境的预备知识
2.2.1 GCC编译器
2.2.2 Clibc库和CDB调试工具
2.2.3 make命令和makefile文件
2.2.4 Binutils工具包
2.3 搭建交叉编译环境
2.3.1 交叉编译简介
2.3.2 搭建S3C24IOA交叉编译环境
2.3.3 程序执行方式
本章小结
第3章 嵌入式文件系统分析与设计
3.1 Linux文件系统类型
3.2 Linux根文件系统
3.3 Linux系统的引导过程
3.4 嵌入式文件系统
3.4.1 嵌入式文件系统的特点和种类
3.4.2 常见的嵌入式文件系统
3.4.3 内存技术设备
3.4.4 RAMDisk技术
3.4.5 网络文件系统
3.5 Busybox
本章小结
第4章 BootLoader分析与设计
4.1 嵌入式系统的引导代码
4.1.1 初识BootLoader
4.1.2 BootLoader的启动流程
4.2 常用的嵌入式Linux Boot Loader
4.2.1 U-Boot
4.2.2 VIVI
4.2.3 Blob
4.2.4 RedBoot
4.2.5 其他BootLoader
4.3 U-Boot分析与移植
4.3.1 U-Boot源代码结构
4.3.2 U-Boot源代码编译
4.3.3 U-Boot移植步骤
4.3.4 U-Boot启动流程分析
4.4 U-Boot使用
4.4.1 U-Boot的常用命令
4.4.2 U-Boot的环境变量
本章小结
第5章 Linux系统的移植
5.1 Linux内核配置
5.1.1 Linux内核源代码结构
5.1.2 Linux内核配置系统
5.2 Linux内核编译
5.2.1 Kbuild编译工具
5.2.2 Linux内核编译命令及编译过程
5.2.3 Linux内核编译结果
5.3 Linux内核移植
5.3.1 Linux内核移植方法
5.3.2 Linux内核移植过程
5.4 Linux内核启动过程分析
5.4.1 Linux内核启动流程
5.4.2 Linux内核启动源代码分析
本章小结
第6章 Linux设备驱动程序
6.1 设备驱动基础
6.1.1 设备驱动的概念
6.1.2 没备类型与数据交换方式
6.1.3 内核窄问和用户空间
6.2 设备驱动开发
6.2.1 Linux设备驱动程序框架
6.2.2 设备驱动中的关键数据结构
6.2.3 设备驱动中的基本函数
6.2.4 字符设备驱动开发举例
本章小结
第7章 串口驱动程序
7.1 串口概述
7.2 S3C24IOA串口控制器
7.2.1 S3C2410A串口控制器原理
7.2.2 S3C2410A串口控制器相关寄存器
7.3 嵌入式Linux串口驱动程序设计
7.3.1 串口驱动程序框架
7.3.2 串口驱动程序的注册
7.3.3 OPS中的串口操作函数
7.3.4 串口驱动中与控制台有关的函数
7.4 串口应用程序设计
7.4.1 串口终端函数
7.4.2 串口通信应用
本章小结
第8章 基于ZLG7290的键盘和数码管驱动设计
8.1 ZLG7290介绍
8.1.1 ZLG7290功能描述
8.1.2 ZLG7290工作原理
8.1.3 ZLC7290内部寄存器
8.1.4 控制命令详解
8.2 IIC总线
8.2.1 IIC总线概述
8.2.2 IIC总线标准
8.3 ZLG7290硬件电路设计
8.4 S3C24IOA中与IIC相关的I/O端口和寄存器
8.4.1 S3C2410A的IIC总线接门
8.4.2 各种模式下的操作流程图
8.4.3 IIC总线特殊寄存器
8.5 Linux的IIC驱动程序分析与设计
8.5.1 IIC总线驱动的关键数据结构
8.5.2 S3C2410A总线IIC设备驱动实现
8.5.3 ZLG7290的IIC驱动安装与测试
本章小结
第9章 LCD驱动程序分析与设计
9.1 LCD
9.2 LCD的显示接口
9.3 嵌入式处理器的LCD控制器
9.3.1 LCD控制器
9.3.2 LCD控制器的设置
9.3.3 LCD的字符显示缓存
9.4 基于framebuffer的LCD驱动程序
9.4.1 framebuffer概述
9.4.2 framebuffer设备驱动程序的结构
9.4.3 framebuffer设备驱动程序的设计
9.5 LCD驱动程序在S3C2410A上的移植
9.5.1 移植步骤
9.5.2 LCD驱动程序分析
本章小结
第10章 USB设备驱动程序分析与设计
10.1 USB接口概述
10.1.1 USB系统组成
10.1.2 USB的电气特性
10.1.3 USB总线的拓扑结构
10.1.4 USB的通信协议
10.2 USB设备驱动程序设计
10.2.1 USB设备驱动程序分类
10.2.2 USB驱动的框架程序
10.2.3 设备端USB驱动程序
10.3 USB驱动程序在S3C2410A上的移植
本章小结
第11章 网络设备驱动程序分析与设计
11.1 网络协议
11.2 以太网
11.2.1 以太网的拓扑结构
11.2.2 以太网协议
11.2.3 以太网帧结构
11.3 嵌入式网络接口
11.4 嵌入式Linux网络驱动
11.4.1 Linux网络设备驱动程序的体系结构
11.4.2 网络驱动程序的基本方法
11.4.3 网络驱动中的主要数据结构
11.5 网络驱动程序的移植及分析
本章小结
参考文献
评论
还没有评论。