嵌入式系统接口设计与Linux驱动程序开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统接口设计和Linux驱动程序开发
书名:嵌入式系统接口设计和Linux驱动程序开发
作者:刘淼
出版社:北京航天航空大学出版社
ISBN:9787810778619
定价:39.00 元
出版日
2006-5-1
期:
编辑推荐
Linux是源码开放的操作系统,它发展迅速,爱好者众多,同时也是主流的嵌入式操作系统之一。以ARM 为核心的处理器使用广泛,成本低廉,软件支持好,也是当今市场占有率最高的32位嵌入式处理器。本书Linux和ARM处理器平台为例,结合两大主流软件和硬件,讲述嵌入系统开发的相关知识,是对深入学习嵌入式系统很有借鉴意义的书。
内容简介
本书针对ARM处理器为核心的主流嵌入式系统平台,主要讲述嵌入式Linux驱动程序的设计和开发过程。内容同时涵盖嵌入式系统的软硬件两个方面:一方面是嵌入式系统常用的硬件接口时序、电气特性等内容的分析;另一方面讲述对应硬件的Linux驱动程序实现方法。本书共分为16章。第1、2章介绍嵌入式系统和Linux驱动程序的基础性知识。从第3章开始,详细讲述硬件平台及其对应的Linux驱动程序。硬件包括I/O口、CAN总线、触摸屏、I2CPS/2、异步串口、音频、显示、IDE、PCMCIA、USB、以太网以及Flash 的使用等内容。软件涉及针对上述硬件的各种驱动程序在Linux下的体系结构,Linux的字符设备、块设备和网络设备驱动程序,ARM Linux的中断处理,BootLoader和内核的启动过程等。
本书可作为机器人技术、机电控制系统、信息家电、工业控制、手持设备、智能玩具、医疗仪器等方面嵌入式系统开发和使用的参考书,也可作为高等院校有关嵌入式系统教学的本科生或研究生的教材。
作者简介
刘焱,吉林省吉林市人。2000年开始从事嵌入式系统方面的研发工作,参加过多项国家863、自然基金研究项目,熟练掌握ARM等RISC微处理器系统的硬件设计及LinuxWinCEVxWorks等操作系统的软件设计.尤其擅长硬件接口和驱动程序等系统底层架构设计。先后主持过基于S3C4480、S3C2410、PXA270等多款嵌入式教学实验平台及基于HMS30C7202.AT91 RM9200的工业测控系统的开发工作,作为主要研究人员完成的嵌入式数控系统已在企业成功使用。曾担任过清华大学软件学院、北京航空航天大学软件学院嵌入式系统课程的实验教学工作及南开大学软件学院的嵌入式系统专业课程教学工作。现任中国电子学会嵌入式系统培训中心ESTC认证讲师。
目录
第1章典型的嵌入式系统体系结构
1.1嵌入式系统概述1
1.2嵌入式系统的组成1
1.2.1嵌入式平台的硬件架构2
1.2.2板级支持包和嵌入式系统2
1.2.3嵌入式系统上的使用程序3
1.3嵌入式系统的开发流程和优势3
1.4嵌入式系统的方案选择5
1.4.1处理器的选择5
1.4.2嵌入式操作系统的选择5
1.5本书涉及的平台及linux内核版本7
第2章linux内核和驱动程序
2.1linux内核和arm8
2.2阅读arm linux内核源码8
2.3编译环境的建立9
2.4linux驱动程序12
2.4.1用户态和内核态12
2.4.2linux驱动程序结构13
2.4.3设备文件和设备文件系统13
第3章简单的linux字符设备驱动程序
3.1linux字符设备驱动程序结构18
3.2一个双色led的linux驱动程序19
3.2.1系统硬件平台组成原理19
3.2.2linux下的双色led驱动程序实现21 3.2.3双色led驱动程序的测试32
3.3按键的linux驱动程序33
3.3.1系统硬件平台组成原理34
3.3.2linux系统中断分析35
3.3.3linux下按键驱动程序的实现53
3.3.4按键驱动程序的测试60
第4章can总线接口设计和linux驱动程序4.1can总线接口设计62
4.1.1can总线概述62
4.1.2嵌入式处理器上扩展can总线接口64 4.2can总线驱动程序的体系结构67
4.3can总线的linux驱动程序68
4.4can总线驱动测试程序79
第5章触摸屏接口设计和linux驱动程序
5.1触摸屏接口设计83
5.1.1触摸屏概述83
5.1.2嵌入式处理器上扩展触摸屏接口85 5.2触摸屏驱动程序的体系结构87
5.3触摸屏的linux驱动程序分析88
5.3.1自定义的字符设备88
5.3.2linux的输入设备94
5.4触摸屏驱动测试程序98
5.4.1自定义触摸屏设备98
5.4.2输入事件接口的触摸屏设备99
5.5触摸屏的校准方法101
第6章i2c总线和linux驱动程序
6.1i2c总线接口设计106
6.1.1i2c总线概述106
6.1.2嵌入式处理器上的i2c总线接口109
6.2linux下i2c总线驱动程序体系结构110
6.3s3c2410上的i2c总线驱动程序分析111
6.4i2c总线驱动测试程序116
第7章ps/2接口设计和linux键盘/鼠标驱动程序
7.1ps/2接口设计120
7.1.1键盘接口和ps/2120
7.1.2ps/2接口的物理标准121
7.1.3ps/2接口的电气特性122
7.1.4ps/2键盘的数据帧格式124
7.1.5ps/2鼠标的数据帧格式125
7.1.6嵌入式处理器上扩展ps/2接口126
7.2linux键盘驱动程序体系结构134
7.3up-netarm2410平台的ps/2接口驱动程序分析137 7.3.1现有的i2c总线驱动的不足138
7.3.2对linux下i2c总线驱动程序的改造138
7.3.3ps/2接口驱动的实现141
7.3.4ps/2键盘驱动程序149
7.3.5ps/2鼠标驱动程序153
7.4ps/2接口驱动的测试156
7.4.1ps/2键盘156
7.4.2ps/2鼠标156
第8章音频接口设计和linux驱动程序
8.1音频总线157
8.1.1i2s总线接口158
8.1.2ac97总线接口160
8.1.3音频接口的硬件设计163
8.2linux音频驱动程序体系结构164
8.3s3c2410平台的音频驱动分析165
8.3.1dma的重要性166
8.3.2标准的音频设备167
8.4音频驱动的测试175
第9章异步串口和linux驱动程序
9.1异步串口概述177
9.1.1异步传输的标准和分类177
9.1.216c550兼容的异步串口控制器182
9.1.3异步串口的硬件设计184
9.2linux终端和控制台体系185
9.2.1linux终端概述185
9.2.2linux控制台的初始化过程186
9.2.3linux启动命令行和控制台定义189
9.2.4控制台和printk输出191
9.3linux串口驱动程序和分析192
9.3.1uart驱动注册函数193