欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 教程文档 > 操作系统&服务器 > 嵌入式系统接口设计与Linux驱动程序开发[PDF][54.08MB]

嵌入式系统接口设计与Linux驱动程序开发[PDF][54.08MB]

2019-05-30 811 收藏 0 赞一个 0 真差劲 0 去评论 去下载

内容简介

《嵌入式系统接口设计与Linux驱动程序开发》针对ARM处理器为核心的主流嵌入式系统平台,主要讲述嵌入式Linux驱动程序的设计和开发过程。内容同时涵盖嵌入式系统的软硬件两个方面:一方面是嵌入式系统常用的硬件接口时序、电气特性等内容的分析;另一方面讲述对应硬件的Linux驱动程序实现方法。《嵌入式系统接口设计与Linux驱动程序开发》共分为16章。第1、2章介绍嵌入式系统和Linux驱动程序的基础性知识。从第3章开始,详细讲述硬件平台及其对应的Linux驱动程序。硬件包括I/O口、CAN总线、触摸屏、I2C、PS/2、异步串口、音频、显示、IDE、PCMCIA、USB、以太网以及Flash的使用等内容。软件涉及针对上述硬件的各种驱动程序在Linux下的体系结构,Linux的字符设备、块设备和网络设备驱动程序,ARM Linux的中断处理,BootLoader和内核的启动过程等。
《嵌入式系统接口设计与Linux驱动程序开发》可作为机器人技术、机电控制系统、信息家电、工业控制、手持设备、智能玩具、医疗仪器等方面嵌入式系统开发与应用的参考书,也可作为高等院校有关嵌入式系统教学的本科生或研究生的教材。

目录

第1章 典型的嵌入式系统体系结构
1.1 嵌入式系统概述
1.2 嵌入式系统的组成
1.2.1 嵌入式平台的硬件架构
1.2.2 板级支持包和嵌入式系统
1.2.3 嵌入式系统上的应用程序
1.3 嵌入式系统的开发流程和优势
1.4 嵌入式系统的方案选择
1.4.1 处理器的选择
1.4.2 嵌入式操作系统的选择
1.5 本书涉及的平台及Linux内核版本
第2章 Linux内核与驱动程序
2.1 Linux内核与ARM
2.2 阅读ARM Linux内核源码
2.3 翻译环境的建立
2.4 Linux驱动程序
2.4.1 用户态与内核态
2.4.2 Linux驱动程序结构
2.4.3 设备文件与设备文件系统
第3章 简单的Linux字符设备驱动程序
3.1 Linux字符设备驱动程序结构
3.2 一个双色LED的Linux驱动程序
3.2.1 系统硬件平台组成原理
3.2.2 Linux下的双色LED驱动程序实现
3.2.3 双色LED驱动程序的测试
3.3 按键的Linux驱动程序
3.3.1 系统硬件平台组成原理
3.3.2 Linux系统中断分析
3.3.3 Linux下按键驱动程序的实现
3.3.4 按键驱动程序的测试
第4章 CAN总线接口设计与Linux驱动程序
4.1 CAN总线接口设计
4.1.1 CAN总线概述
4.1.2 嵌入式处理器上扩展CAN总线接口
4.2 CAN总线驱动程序的体系结构
4.3 CAN总线的Linux驱动程序
4.4 CAN总线驱动测试程序
第5章 触摸屏接口设计与Linux驱动程序
5.1 触摸屏接口设计
5.1.1 触摸屏概述
5.1.2 嵌入式处理器上扩展触摸屏接口
5.2 触摸屏驱动程序的体系结构
5.3 触摸屏的Linux驱动程序分析
5.3.1 自定义的字符设备
5.3.2 Linux的输入设备
5.4 触摸屏驱动测试程序
5.4.1 自定义触摸屏设备
5.4.2 输入事件接口的触摸屏设备
5.5 触摸屏的校准方法
第6章 I2C总线与Linux驱动程序
6.1 I2C总线接口设计
6.1.1 I2C总线概述
6.1.2 嵌入式处理器上的12C总线接口
6.2 Linux下12C总线驱动程序体系结构
6.3 S3C2410上的I2C总线驱动程序分析
6.4 I2C总线驱动测试程序
第7章 PS/2接口设计与Linux键盘/鼠标驱动程序
7.1 PS/2接口设计
7.1.1 键盘接口与PS/2
7.1.2 PS/2接口的物理标准
7.1.3 PS/2接口的电气特性
7.1.4 PS/2键盘的数据帧格式
7.1.5 PS/2鼠标的数据帧格式
7.1.6 嵌入式处理器上扩展PS/2接口
7.2 Linux键盘驱动程序体系结构
7.3 UP—NETARM2410平台的PS/2接口驱动程序分析
7.3.1 现有的I2C总线驱动的不足
7.3.2 对Limax下I2C总线驱动程序的改造
7.3.3 PS/2接口驱动的实现
7.3.4 PS/2键盘驱动程序
7.3.5 PS/2鼠标驱动程序
7.4 PS/2接口驱动的测试
7.4.1 PS/2键盘
7.4.2 PS/2鼠标
第8章 音频接口设计与Linux驱动程序
8.1 音频总线
8.1.1 I2S总线接口
8.1.2 AC97总线接口
8.1.3 音频接口的硬件设计
8.2 Linux音频驱动程序体系结构
8.3 S3C2410平台的音频驱动分析
8.3.1 DMA的重要性
8.3.2 标准的音频设备
8.4 音频驱动的测试
第9章 异步串口与Linux驱动程序
9.1 异步串口概述
9.1.1 异步传输的标准与分类
9.1.2 16C550兼容的异步串口控制器
9.1.3 异步串口的硬件设计
9.2 Linux终端与控制台体系
9.2.1 Linux终端概述
9.2.2 Linux控制台的初始化过程
9.2.3 Linux启动命令行与控制台定义
9.2.4 控制台与printk输出
9.3 Linux串口驱动程序与分析
9.3.1 UART驱动注册函数
9.3.2 16c550驱动程序端口的初始化
9.3.3 设备文件名和控制台名的问题
9.4 Linux串口的应用
9.4.1 Linux串口测试
9.4.2 Linux串口编程
9.4.3 通过Linux串口实现GPRS拨号上网
第10章 显示接口与Linux帧缓冲
10.1 液晶显示概述
10.1.1 液晶显示简介
10.1.2 液晶屏接口
10.1.3 VGA接口
10.1.4 TFT接口到VGA接口的转换
10.2 嵌入式处理器上的LCD控制器
10.2.1 LCD控制器
10.2.2 显示缓存与显示点的对应关系
10.3 Linux帧缓冲驱动程序体系结构
10.4 PXA270上简单的帧缓冲驱动程序
10.5 Linux帧缓冲的应用程序接口
10.5.1 一个简单的Linux帧缓冲的应用程序
10.5.2 Linux下常用的基于帧缓冲的GUI
第11章 IDE接口与Linux驱动程序设计
11.1 IDE接口概述
11.1.1 IDE接口物理及电气特性
11.1.2 IDE接口寄存器
11.1.3 应用于嵌入式系统的存储设备
11.1.4 IDE模式的CF卡
11.2 嵌入式处理器的IDE接口扩展
11.3 Linux的IDE驱动程序接口
11.4 UP-TECHPXA270上的IDE接口驱动程序分析
11.4.1 Linux 2.4内核中IDE接口驱动程序
11.4.2 Linux 2.6内核中IDE接口驱动程序
11.5 IDE驱动程序测试
11.5.1 硬盘分区工具
11.5.2 常见的磁盘文件系统
11.5.3 Linux下FAT和Ext3文件系统的使用
第12章 PCMCIA接口与LinlllX驱动程序结构
12.1 PCMCIA接口
12.1.1 PCMCIA接口概述
12.1.2 PCMCIA接口引脚定义
l2.1.3 PCMCIA卡的类型检测
12.1.4 PCMC:IA与CF卡
12.2 为嵌入式处理器扩展PCMCIA接口
12.3 Linux下PCMCIA驱动程序接口
12.4 UP-NETARM2410—S平台的PCMCIA接口驱动程序分析
12.5 PCMCIA接口测试
l2.5.1 PCMCIA接口CF卡的应用
l2.5.2 PCMCIA接口无线网卡的应用
第13章 USB HOST接口与Linux驱动程序设计
13 1 USB接口概述
13.2 LISBOHCI标准
13.3 LISB Host接口的硬件设计
13.4 Linux的LISBOHCI驱动程序接口分析
13.5 USB Host驱动程序测试
13.5.1 热插拔脚本
13.5.2 利用热插拔脚本实现U盘的自动加载
第14章 建立Flash上的文件系统
14.1 Flash的特性
14.1.1 Flash的分类与比较
14.1.2 NAND Flash与处理器的接口
14.2 Linux下MTD驱动程序体系结构
14.2.1 UP-TECHPXA270平台上NORFlash驱动程序
14.2.2 UP-TECHPXA270平台上NANDFlash驱动程序
14.2.3 MTD驱动程序的配置
14.3 MTD驱动程序的接口与测试
14.4 建立在Flash上的文件系统
14.4.1 JFFsx文件系统
14.4.2 YAFFS/YAFFS2文件系统
14.4.3 cramfs文件系统
第15章 以太网接口与Linux网络驱动程序设计
15.1 以太网概述
15.1.1 以太网MAC层帧格式
15.1.2 网络协议栈与常用的网络通信协议
15.2 嵌入式处理器上扩展以太网接口
15.2.1 带有MAC层控制器的嵌入式处理器
15.2.2 通过MAC+PHY的以太网芯片扩展
15.3 Linux网络驱动程序体系结构
15.3.1 Linux网络驱动程序的层次
15.3.2 网络设备的初始化
15.3.3 网络数据包的发送和接收
15.3.4 网络设备的内核加载
15.3.5 网络设备的模块加载
15.4 NE2000兼容的网卡驱动程序的移植
15.5 网络的应用与测试
15.5.1 Linux的网络配置
15.5.2 网络数据嗅探器软件
15.5.3 NFS文件系统的使用
第16章 嵌入式Linux的启动过程
16.1 BootLoader
16.1.1 BootLoader概述
16.1.2 常见的Linux BootLoader
16.1.3 UP TECHPXA270平台上的Blob分析
16.2 ARM Linux内核的启动过程
16.2.1 编译生成Linux内核
16.2.2 UP—TECHPXA270平台上的Linux启动过程
16.3 Linux的根文件系统
16.3.1 基本的Linux根文件系统结构
16.3.2 用BusyBox建立简单的根文件系统
16.3.3 在Flash上建立JFFS2根文件系统
附录A 键盘扫描码表
A.1 第1套键盘扫描码
A.2 第2套键盘扫描码
A.3 第3套键盘扫描码
附录B ARM MMU简介
B.1 ARM MMU的基本结构
B.2 ARM的存储器访问方法
B.3 允许和禁止MMU
B.4 虚拟地址到物理地址的转换过程
B.4.1 转换表基址
B.4.2 取级表
B.4.3 级描述符
B.4.4 节的描述符和转换
B.5 访问权限
B.6 CPl5寄存器
B.6.1 寄存器1:MMU控制位
B.6.2 寄存器2:转换表基地址
B.6.3 寄存器3:域访问控制
B.6.4 寄存器4:保留
B.6.5 寄存器5:错误状态寄存器FSR
B.6.6 寄存器6:错误地址寄存器FAR
B.6.7 寄存器8:TLB功能
B.6.8 寄存器10:TLB锁定
附录C 本书用到的缩写
参考文献

文档截图

QQ截图20190530104441.jpg

嵌入式系统接口设计与Linux驱动程序开发[PDF][54.08MB]

一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

下载地址
大家评论