嵌入式系统接口设计与Linux驱动程序开发

合集下载

基于嵌入式Linux的网络设备驱动程序的开发

基于嵌入式Linux的网络设备驱动程序的开发
L n x 的设 备 驱动 程序 为 内核 提供 了一 个 I iu / O
接 口, 用户 使 用这 个接 口实现对 设备 的操 作 。 iu Lnx
设备驱动程序 包含 中断处理程序和设备服务子程 序两部分 。设备服务子程序包含 了所有与设备操作
相 关的处 理代 码 ,它 从面 向 用户进程 的设 备文 件系 统 中接 受 用户命 令 并对设 备 控制执 行 操作 。由此 用
维普资讯
电子科 技 20 0 6年 第 入式 L n x的 网络设备驱 动程 序的开发 u i
郭 锴 ,任 娜 ,汪贵平
( 长安大学 信 息工程 学院 ,陕西 西安 7 o6 ) 1o 4 摘 要 设备驱动是 L n x系统的重要组 成部 分,它在硬件和终端之 间建 立了标准 的接 口,大大 简化 了驱动 iu 的开发难度 。文中在介绍 了 Ln x iu 下设计设备驱动 的基本方法 的基础上 ,分析 了自主开发 的基于 AM D I R TM 为内核
作 者 简 介 :郭
嵌 入 式应 用 。任
锴 ( 8一 ) 男 ,硕 士 研 究 生 。研 究 方 向: 1 , 93
娜 ( 9 3 ) 女 ,硕 士 研 究 生 。 研 究 方 18 一 ,
联 ,在 这 个结 构 里存 放 了设 备 各种 操 作 的 入 口函
数 。设备 驱动 程序 可 以使 用 L n x 系统 的标准 内核 iu
s se An r e e i n d f r eS C B0 b s do M 7 y t m d ad v r sg e 3 44 X a e nAR i d o t h DM I s n l z d ay e ia Ke wo d L n x n t r ; e ie d v r R L8 AS y rs i u ; e wo k d v c r e ; T O i 1 9

嵌入式系统软件开发技术BSP和驱动

嵌入式系统软件开发技术BSP和驱动

编写BSP函数
BSP对板卡中每个芯片的操作都通过多个函数 来完成
如果应用程序对板卡的操作都直接通过调用 BSP中的函数来完成,那将很不利于源程序的 调试 ,并降低了程序的可移植性
把能完成某个特定功能的函数封装在一个库文 件中,并放在应用程序与BSP之间
对每个芯片来说,都应当有初始化函数和状态 读取函数
Linux驱动程序的加载方式
驱动程序直接编译入内核
驱动程序在内核启动时就已经在内存中 可以保留专用存储器空间
驱动程序以模块形式存储在文件系 统里,需要时动态载入内核
驱动程序按需加载,不用时节省内存 驱动程序相对独立于内核,升级灵活
Linux驱动程序模块加载
Linux驱动程序开发的任务
Linux驱动程序开发的任务
移植驱动程序到新的平台
GPL对驱动程序开发的影响
实现非GPL授权的方法——模块形 式动态加载
驱动程序可以以私有产权形式进行 商业授权
设备驱动程序的代码
驱动程序的注册与注销
register_chrdev() register_blkdev()
设备的打开与释放
Linux驱动程序的开发环境
本机编译调试
开发环境配置简单 无需网络环境 适用于配置较高的x86机器
主机+目标机
主机可以自由选择Linux或Windows+Cygwin 主机和目标机通过网络共享文件系统 内核崩溃不会影响主机
Linux驱动程序的开发环境(续)
主机+目标机环境包括 主机运行的工具链∶cross gcc + glibc + gdb, 如果是windows主机还要有cygwin仿真环境 主机运行远程服务,常用的有tftp用来传送内 核映像、initrd,NFS用来共享文件系统 目标机运行ssh或telnet等远程登陆服务,用来 调试驱动程序

嵌入式系统接口和驱动程序开发

嵌入式系统接口和驱动程序开发

a
f
b
g
e
c
d
嵌入式ARM系统原理与实例开发
22.03.2022
北京大学出版社出版 杨宗德编著
16
I2C 通信原理
嵌入式ARM系统原理与实例开发
22.03.2022
北京大学出版社出版 杨宗德编著
17
I2C系统结构图
嵌入式ARM系统原理与实例开发
22.03.2022
北京大学出版社出版 杨宗德编著
18
北京大学出版社出版 杨宗德编著
5
RS232C串行接口标准
懷 烠 餘 溫 ︶ ηáη城 γù你ベ 几分壮 志豪情 蛊惑我 慢性毒 瘾对你 宣说┈ 空心的 宇宙苍 穹 盛 夏 , 仰 望那丝 余光ζ情 愿一生 ♂記憶 疒亻﹎ 霸気ヽ /煞鉫 o年華果 腹ツ獨 垍擁菢 箛 單 臉 靣 奴 隸┕ ηi笑 ┕旧南 篱哈麻 痹疯子 边哭边 笑@坦 白梦里 的牢狱 灾南河 之 梦 森 森 夜 晚幽有 灵惺忪 的月季 野欲巭 孬嫑莪 情场孤 独王.孤 妄专宠 宋仲基 我不撩 妹 我 只 撩 你 她,我 的最好 的我.很 酷不撩 人勿忘 記大众 爹呻吟 成瘾几 多友人 狂放 Artist.神 经 暖 旧 时 友 毕业 后还爱 你性情 有毒要 去远方 她一番 趣味太 过苛刻 .别想以 前 , 想 想 以 后你二 的狠有 范儿゜ 曾经的 美好在 脸上搁 浅。我 不再怕 %精神 失常、 适 合 你 ╰ 愚 愚蠢的 自己, 何时才 清醒ˋ那 不可一 世的小 稀罕〝 我会好 好的花还香香 的 陽 光 擦 乾 了我思 戀你的 淚水那 句说到 我心坎 儿里的 话。原 来爱情 很伤人 /谎言中 的 寂 寞 有 谁 懂总算 我们也 爱过。 那种撕 心裂肺 你不懂 。(沦陷 ═一想 ㄣ那些 曾经へ 疯 疯 癫 癫 、 也是一 种境界 芭黎街 頭轉角 處遇見 了他让 我听见 你最清 晰的心 跳网污 绝 情 被 狗 咬 久肆猛 中里梦 何必想 着陈年 旧事放 不开一 个人的 表演, 真的好 辛苦你 的 回 忆 是 撕 心裂肺 。感觉 、快抓 不住你 了谁都 在装、 只是深 与浅亅 ,你的怀 抱太不

嵌入式Linux下GPIO驱动程序的开发及应用

嵌入式Linux下GPIO驱动程序的开发及应用

第28卷第4期增刊 2007年4月仪 器 仪 表 学 报Chinese Jour nal of Scientif ic InstrumentVol.28No.4Apr.2007 嵌入式L inux 下GPIO 驱动程序的开发及应用3何 泉,贺玉梅(北京化工大学信息科学与技术学院 北京 100029)摘 要:嵌入式Linux 是一种适用于嵌入式系统的源码开放的占先式实时多任务操作系统,是目前操作系统领域中的一个热点,其重点与难点是驱动程序的开发。

开发嵌人式Linux 下的设备驱动程序,可以更好地利用新硬件特性,提高系统访问硬件的效率,改善整个应用系统的性能。

驱动程序修改非常方便,使应用系统非常灵活。

本文简要论述了基于A TM E L 公司嵌入式ARM 处理器芯片的嵌入式Linux 的GP IO 驱动程序的开发原理及流程。

关键词:嵌入式Linux ;ARM ;驱动程序;设备文件;GPIOInvest igat ion an d a pplicat ion of GP IO dr iver in t he embedded L inuxHe Quan ,He YuMei(School of I nf orma tion Science and Tec hnology BU CT ,Beij ing 100029,China )Abstract :Embedded Linu x ,w hich i s a full y real 2time kernel and applicable to embedded syst ems ,has bec o me a hot s 2po t in t he do main of op erati ng system at present.It s out line and difficult y is to investigat e drivers.Developi ng device dri vers o n embedded Lin ux can help using t he new devices ,and imp rovi ng t he e fficiency of access to t he new devices and t he p erformance cap abilit y.As drivers can be changed easil y ,t he system is very convenient and flexi ble.Thi s p a 2p er simpl y point s o ut t he element s and flow of t he GPIO driver in t he embedded Linux based o n t he A RM proces sor of A TMEL system.Key words :embedded Li nux ;A RM ;driver ;device file ;GPIO 3基金项目国家自然科学基金(6)、北京化工大学青年教师自然科学研究基金(QN 58)资助项目1 引 言随着半导体技术的飞速发展,嵌入式产品已经广泛应用于军事、消费电子、网络通信、工业控制等各个领域,这是嵌入式系统发展的必然趋势。

嵌入式系统中的驱动程序设计与实现

嵌入式系统中的驱动程序设计与实现

嵌入式系统中的驱动程序设计与实现第一章:嵌入式系统概述嵌入式系统是一种专用型计算机系统,通常包含微处理器、存储器、输入/输出接口和其他外围设备。

这些系统被设计用于执行特定的任务或实现特定的功能。

相对于一般的计算机系统,嵌入式系统通常更加小巧、节能、稳定和高效。

嵌入式系统的应用领域非常广泛,涉及到自动控制、计算机网络、医疗、工业自动化、汽车电子、智能家居等众多领域。

从智能手机和平板电脑,到高铁和飞机上的控制系统,嵌入式系统已经成为现代社会中不可或缺的一部分。

在开发嵌入式系统时,驱动程序是一个非常重要的部分。

驱动程序是一种软件模块,用于控制硬件设备的操作和管理。

它将应用程序与底层硬件之间进行了有效的沟通。

在接下来的章节中,我们将详细介绍嵌入式系统中的驱动程序设计与实现。

第二章:驱动程序的架构嵌入式系统中的驱动程序通常包含两个部分:设备驱动和主程序。

设备驱动负责控制硬件设备的操作和管理。

它向主程序提供硬件抽象层,屏蔽了硬件底层的细节。

主程序则利用设备驱动提供的接口,完成相应的应用功能。

驱动程序的架构通常遵循一般软件工程的设计原则,实现结构分层、模块化、可复用的代码。

设备驱动可以按照不同的硬件设备进行分类,比如网络设备驱动、磁盘设备驱动、串口设备驱动等。

在实现时,可以采用面向对象编程思想,使得代码的设计更加清晰明了。

第三章:驱动程序的实现实现驱动程序的过程通常可以分为以下四个步骤:1. 设备地址映射在计算机系统中,设备通常被映射到一定的地址空间中。

驱动程序需要获取设备的物理地址,并将其映射到操作系统的虚拟地址空间中。

这样,驱动程序才能正确地与硬件设备进行交互。

2. 硬件的初始化和配置在设备地址映射成功后,驱动程序需要对硬件进行初始化和配置,以确保硬件设备能够正常运行。

比如,对于一个串口设备,驱动程序需要配置波特率、数据位、校验位等参数。

3. 设备操作的实现驱动程序的核心是硬件设备的操作函数实现。

驱动程序需要对不同的设备类型实现不同的操作函数,例如对于网络设备,包括接收和发送数据的实现;对于磁盘设备,包括读写数据的实现。

嵌入式Linux中NVRAM的实现方案及驱动设计

嵌入式Linux中NVRAM的实现方案及驱动设计

162010,31(1)计算机工程与设计Computer Engineering and Design0引言NVRAM (non-volatile random access memory ,非易失性随机访问存储器)是广泛应用于网络路由器的一种存储器件。

它如同PC 上的CMOS ,作用是存放路由器的配置参数。

目前常见的NVRAM ,大都是静态SRAM ,即带有备用电源的SRAM ,它的实现最简单,同普通内存操作一样。

但是在实际应用中,不是所有的开发板都配备有静态SRAM 。

在这种情况下,如果使用该方案开发网络路由器,重新加入配备电源的SRAM 必须要重新排版,布线。

开发周期与开发成本将会大大增加。

因此,可以考虑在现有的硬件资源基础上,通过新的方式来实现NVRAM [1]。

本文就是以神州龙芯开发的CQ8401开发板为硬件平台,在自行裁剪和移植的嵌入式Linux 平台下,利用Nor Flash 来实现网络路由器的NVRAM 功能。

1NVRAM 新的实现方案分析由于NVRAM 仅用于保存启动配置文件(Startup-Config ),故其容量较小,通常在路由器上只配置32KB~128KB 大小的NVRAM 。

配备电源的SRAM 速度较快,是目前读写最快的存储设备,而成本也比较高。

一般的开发板所配备的Nor Flash空间足够大,在系统性能得到满足的前提下,可以把Nor Flash 分出一个区来当作NVRAM 使用。

SRAM 和Nor Flash 的对比分析,如表1所示。

网络路由器中的NVRAM 用于存放配置参数。

正常启动路由器后,NVRAM 中的内容会拷贝到内存一份,我们对路由器的设置实际上就是修改内存中的参数。

所以内存和NVRAM 中的内容可以不一样,直到使用write memory 将内存设置保存到NVRAM 。

在系统起来以后,我们可以根据需要修改配备参收稿日期:2009-07-17;修订日期:2009-09-18。

基于嵌入式Linux的设备驱动程序设计

基于嵌入式Linux的设备驱动程序设计

# i d fM 0DULE f e n # d f eM 0DULE ei n 『
口, 它为应用程序屏蔽 了硬件 的 细节 。在应 用程 序看来 ,
硬 件设 备 只是 一个 设 备 文 件 , 用程 序 可 以 像 操作 普 通 文 应 件 一 样 对 硬 件 设 备 进 行 操 作 。设 备 驱 动 程 序 是 内核 的 一
_
s a i o f t es l e k ) t tc lf t t l e ( s
_

s a i sz t tc s ie
_ —
tt est
_
r a ( ed )
s a i sz tt s ie ) t tc s ie e t wrt (
性 , 使用 J 不 TAG 即 实 现 了多 片 D P软件 调 试 ; 个 调试 S 整
参 考 文 献
Ei丁 刚 . 述 软 件 开 发 中 模 拟 器 与仿 真 器 的 区别 [ B O ] l 详 E / L.
ht:/ tp / www1 t c r. n, 0 4—0 .i o c 2 0 . n 1—0 . 1
[]曹 长 江 , 双 宝 , 飚 . 于 US 2 0总线 的 TMS 2 V 5 0 5 马 詹 基 B. 30 C 42 HP 自举 的实 现 . E / ] t :/ e sew r .o c , I [ B OL .ht / n w .e o l cm.n p d
[ ]陈 朝 阳 , 峥 , 胜 江 . 用 Fah实 现 D P对 多 个 程 序 有 选 4 薛 郭 利 l s S
择 的 加 载 。 t : / w.s d w . o 2 0 0 0 . h t / ww i o n c m, 0 4— 4— 1 p p

嵌入式Linux按键驱动程序开发

嵌入式Linux按键驱动程序开发
嵌 入 式 Ln)内核 。 于德 海 (9 0一) 男 ,副 教 授 。研 究 方 iu 【 16 , 向 :嵌 入 式 系统 。
备包括 鼠标 、键盘 、串行 口等。 块设备 的读写都 由缓 存来支持 ,并且块 设备 必须能够随机存取(adm acs) r o ces ,是指那些在输 n 入输 出时数据处理 以块 为单位 的设 备 ,其采用 了 缓冲技术 ,支持数据 的随机读 写 ,系统可 以通 过
d、 e幽Vr udr I) ddIn) s i usd t a x p ekyor vr n m i ds r ei r c es ne el de u s s h Je姗 l0 t eba Ie 1 j c dc e i 1 e fh d e ads ep 吨dc e e 0 v 0 a
电子科技 2 o o 8年第 2 卷 第 1 1 2期
嵌 入 式 Ln x按 键 驱 动 程序 开 发 iu
杨俊成 ,于德 海 ,李艳波
( 长春工业 大学 计算机科学 与工 程学院 ,吉林 长春
摘 要
10 1 ) 3 0 2
文 中主要 阐述 了 L u i x驱动程序 的基 本概 念 以及字符设备 、块设备 和网络设备的特点 。通指存 取时没有缓 存 的设 备。因此 在对字符设备发 出读/ 写请求 时,实际的硬件 I0 / /

1 设备驱动程序概 述
1 1 设 备驱 动 程序 的概 念 .
般就紧接着发生了。字符设备是 Lnx i 设备中最 u
简单的一种 ,应 用程序可 以用 与存取文件 相 同的
Lnx系 统 的设 备 分 为字 符设 备 (hrdvc) iu ca ei 、 e
硬件进行嵌入式系统的开发 ,很大的工作量是为各 种设备编写驱动程序。键盘设备在嵌人式系统 中应 用的非常广泛,分析驱动程序的原理和编写相应 的
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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嵌入式系统概述11.2嵌入式系统的组成11.2.1嵌入式平台的硬件架构21.2.2板级支持包和嵌入式系统21.2.3嵌入式系统上的使用程序31.3嵌入式系统的开发流程和优势31.4嵌入式系统的方案选择51.4.1处理器的选择51.4.2嵌入式操作系统的选择51.5本书涉及的平台及linux内核版本7第2章linux内核和驱动程序2.1linux内核和arm82.2阅读arm linux内核源码82.3编译环境的建立92.4linux驱动程序122.4.1用户态和内核态122.4.2linux驱动程序结构132.4.3设备文件和设备文件系统13第3章简单的linux字符设备驱动程序3.1linux字符设备驱动程序结构183.2一个双色led的linux驱动程序193.2.1系统硬件平台组成原理193.2.2linux下的双色led驱动程序实现21 3.2.3双色led驱动程序的测试323.3按键的linux驱动程序333.3.1系统硬件平台组成原理343.3.2linux系统中断分析353.3.3linux下按键驱动程序的实现533.3.4按键驱动程序的测试60第4章can总线接口设计和linux驱动程序4.1can总线接口设计624.1.1can总线概述624.1.2嵌入式处理器上扩展can总线接口64 4.2can总线驱动程序的体系结构674.3can总线的linux驱动程序684.4can总线驱动测试程序79第5章触摸屏接口设计和linux驱动程序5.1触摸屏接口设计835.1.1触摸屏概述835.1.2嵌入式处理器上扩展触摸屏接口85 5.2触摸屏驱动程序的体系结构875.3触摸屏的linux驱动程序分析885.3.1自定义的字符设备885.3.2linux的输入设备945.4触摸屏驱动测试程序985.4.1自定义触摸屏设备985.4.2输入事件接口的触摸屏设备995.5触摸屏的校准方法101第6章i2c总线和linux驱动程序6.1i2c总线接口设计1066.1.1i2c总线概述1066.1.2嵌入式处理器上的i2c总线接口1096.2linux下i2c总线驱动程序体系结构1106.3s3c2410上的i2c总线驱动程序分析1116.4i2c总线驱动测试程序116第7章ps/2接口设计和linux键盘/鼠标驱动程序7.1ps/2接口设计1207.1.1键盘接口和ps/21207.1.2ps/2接口的物理标准1217.1.3ps/2接口的电气特性1227.1.4ps/2键盘的数据帧格式1247.1.5ps/2鼠标的数据帧格式1257.1.6嵌入式处理器上扩展ps/2接口1267.2linux键盘驱动程序体系结构1347.3up-netarm2410平台的ps/2接口驱动程序分析137 7.3.1现有的i2c总线驱动的不足1387.3.2对linux下i2c总线驱动程序的改造1387.3.3ps/2接口驱动的实现1417.3.4ps/2键盘驱动程序1497.3.5ps/2鼠标驱动程序1537.4ps/2接口驱动的测试1567.4.1ps/2键盘1567.4.2ps/2鼠标156第8章音频接口设计和linux驱动程序8.1音频总线1578.1.1i2s总线接口1588.1.2ac97总线接口1608.1.3音频接口的硬件设计1638.2linux音频驱动程序体系结构1648.3s3c2410平台的音频驱动分析1658.3.1dma的重要性1668.3.2标准的音频设备1678.4音频驱动的测试175第9章异步串口和linux驱动程序9.1异步串口概述1779.1.1异步传输的标准和分类1779.1.216c550兼容的异步串口控制器1829.1.3异步串口的硬件设计1849.2linux终端和控制台体系1859.2.1linux终端概述1859.2.2linux控制台的初始化过程1869.2.3linux启动命令行和控制台定义1899.2.4控制台和printk输出1919.3linux串口驱动程序和分析1929.3.1uart驱动注册函数1939.3.216c550驱动程序端口的初始化1979.3.3设备文件名和控制台名的问题1989.4linux串口的使用1999.4.1linux串口测试1999.4.2linux串口编程1999.4.3通过linux串口实现gprs拨号上网201第10章显示接口和linux帧缓冲10.1液晶显示概述20510.1.1液晶显示简介20510.1.2液晶屏接口20610.1.3vga接口21010.1.4tft接口到vga接口的转换21110.2嵌入式处理器上的lcd控制器21310.2.1lcd控制器21410.2.2显示缓存和显示点的对应关系21610.3linux帧缓冲驱动程序体系结构21710.4pxa270上简单的帧缓冲驱动程序22110.5linux帧缓冲的使用程序接口23010.5.1一个简单的linux帧缓冲的使用程序23010.5.2linux下常用的基于帧缓冲的gui234第11章ide接口和linux驱动程序设计11.1ide接口概述23511.1.1ide接口物理及电气特性23711.1.2ide接口寄存器24111.1.3使用于嵌入式系统的存储设备24311.1.4ide模式的cf卡24411.2嵌入式处理器的ide接口扩展24611.3linux的ide驱动程序接口24911.4up techpxa270上的ide接口驱动程序分析25011.4.1linux 2.4内核中ide接口驱动程序25011.4.2linux 2.6内核中ide接口驱动程序25211.5ide驱动程序测试25411.5.1硬盘分区工具25511.5.2常见的磁盘文件系统25511.5.3linux下fat和ext3文件系统的使用257第12章pcmcia接口和linux驱动程序结构12.1pcmcia接口25912.1.1pcmcia接口概述25912.1.2pcmcia接口引脚定义26012.1.3pcmcia卡的类型检测26512.1.4pcmcia和cf卡26712.2为嵌入式处理器扩展pcmcia接口27012.3linux下pcmcia驱动程序接口27512.4up netarm2410s平台的pcmcia接口驱动程序分析27612.5pcmcia接口测试28312.5.1pcmcia接口cf卡的使用28312.5.2pcmcia接口无线网卡的使用284第13章usb host接口和linux驱动程序设计13.1usb接口概述28613.2usb ohci标准28813.3usb host接口的硬件设计28913.4linux的usb ohci驱动程序接口分析29013.5usb host驱动程序测试29513.5.1热插拔脚本29613.5.2利用热插拔脚本实现u盘的自动加载298第14章建立flash上的文件系统14.1flash的特性30114.1.1flash的分类和比较30214.1.2nand flash和处理器的接口30314.2linux下mtd驱动程序体系结构30714.2.1up techpxa270平台上nor flash驱动程序309 14.2.2up techpxa270平台上nand flash驱动程序315 14.2.3mtd驱动程序的配置32014.3mtd驱动程序的接口和测试32014.4建立在flash上的文件系统32114.4.1jffsx文件系统32114.4.2yaffs/yaffs2文件系统32414.4.3cramfs文件系统326第15章以太网接口和linux网络驱动程序设计15.1以太网概述32815.1.1以太网mac层帧格式32915.1.2网络协议栈和常用的网络通信协议33015.2嵌入式处理器上扩展以太网接口33215.2.1带有mac层控制器的嵌入式处理器33215.2.2通过mac+phy的以太网芯片扩展33315.3linux网络驱动程序体系结构33415.3.1linux网络驱动程序的层次33415.3.2网络设备的初始化33515.3.3网络数据包的发送和接收33615.3.4网络设备的内核加载33715.3.5网络设备的模块加载33915.4ne2000兼容的网卡驱动程序的移植34015.5网络的使用和测试34415.5.1linux的网络配置34415.5.2网络数据嗅探器软件34515.5.3nfs文件系统的使用347第16章嵌入式linux的启动过程16.1bootloader35016.1.1bootloader概述35016.1.2常见的linux bootloader35216.1.3up techpxa270平台上的blob分析35316.2arm linux内核的启动过程36216.2.1编译生成linux内核36216.2.2up techpxa270平台上的linux启动过程364 16.3linux的根文件系统38216.3.1基本的linux根文件系统结构38216.3.2用busybox建立简单的根文件系统38316.3.3在flash上建立jffs2根文件系统386附录a键盘扫描码表a.1第1套键盘扫描码388a.2第2套键盘扫描码390a.3第3套键盘扫描码392附录barm mmu简介b.1arm mmu的基本结构394b.2arm的存储器访问方法395b.3允许和禁止mmu396b.4虚拟地址到物理地址的转换过程396b.4.1转换表基址397b.4.2取第一级表397b.4.3第一级描述符397b.4.4节的描述符和转换398b.5访问权限399b.6cp15寄存器399b.6.1寄存器1: mmu控制位400b.6.2寄存器2:转换表基地址400b.6.3寄存器3:域访问控制400b.6.4寄存器4:保留401b.6.5寄存器5:错误状态寄存器fsr401b.6.6寄存器6:错误地址寄存器far401b.6.7寄存器8: tlb功能401b.6.8寄存器10: tlb锁定402附录c本书用到的缩写参考文献。

相关文档
最新文档