v

您的位置:VeryCD图书教育科技

图书资源事务区


《ARM嵌入式Linux系统构建与驱动开发范例》高清文字版[PDF]

  • 状态: 精华资源
  • 摘要:
    图书分类科技
    出版社北京航空航天大学出版社
    发行时间2006年1月1日
    语言简体中文
  • 时间: 2013/09/13 23:43:33 发布 | 2013/09/16 22:37:01 更新
  • 分类: 图书  教育科技 

sxdgy

精华资源: 488

全部资源: 494

相关: 分享到新浪微博   转播到腾讯微博   分享到开心网   分享到人人   分享到QQ空间   订阅本资源RSS更新   美味书签  subtitle
该内容尚未提供权利证明,无法提供下载。
中文名ARM嵌入式Linux系统构建与驱动开发范例
图书分类科技
资源格式PDF
版本高清文字版
出版社北京航空航天大学出版社
书号7810777491
发行时间2006年1月1日
地区大陆
语言简体中文
简介

本书是高清文字版.非扫描.拒绝模糊.享受清晰!

无法下载的用户请到评论区一楼查看网盘地址!


IPB Image

内容介绍:

本书主要内容包括:介绍如何建立基于ARM7的交叉开发环境以及如何向ARM7芯片上移植μClinux;分析μClinux上一个已在ARM7上成功运行的最简单的内核模块等。

内容截图:

IPB Image



目录

第1章 μClinux内核简介15
1.1 μClinux简介15
1.2 μClinux内核与传统Linux内核的比较16
1.3 μClinux运行条件19
1.4 μClinux的目录结构19
1.5 μClinux的开发流程20
1.5.1 编译μClinux内核20
1.5.2 创建文件系统21
本章小结24
第2章 使用GNU Tools建立μClinux开发环境25
2.1 GNU Tools简介25
2.2 GCC编译器27
2.2.1 GCC使用示例28
2.2.2 编译内核时使用的编译选项35
2.3 binutils二进制工具集36
2.3.1 ar软件37
2.3.2 nm 软件39
2.3.3 objcopy软件43
2.3.4 objdump软件45
2.3.5 readelf软件48
2.4 ld链接器49
2.4.1 ld选项50
2.4.2 链接描述文件介绍51
2.4.3 链接描述文件的语法52
2.4.4 链接描述文件例子55
2.5 make介绍58
2.5.1 GNU make简介58
2.5.2 Makefile及其语法59
2.5.3 μClinux
dist2.4中的Makefile分析68
2.6 GDB调试器75
2.6.1 GDB简介75
2.6.2 GDB调试程序示例75
2.6.3 gdbserver介绍79
2.7 GNU Tools的制作和安装80
2.7.1 从源码制作交叉编译环境80
2.7.2 安装二进制的交叉工具链arm
elf工具80
2.8 使用GNU Tools编译μClinux内核和应用程序81
2.8.1 使用GNU Tools编译μClinux内核81
2.8.2 使用GNU Tools在μClinux中编译应用程序85
本章小结88
第3章 移植μClinux到LPC2200实例89
3.1 选择开发环境89
3.2 移植内核89
3.2.1 增加体系架构和机型相关的代码90
3.2.2 添加中断系统92
3.2.3 增加其他代码101
3.2.4 修改Makefile和配置菜单113
3.3 移植驱动程序116
3.3.1 时钟驱动程序的移植116
3.3.2 串口驱动程序的移植118
本章小结119
第4章 μClinux设备驱动程序概述120
4.1 设备驱动程序基础知识120
4.1.1 驱动程序分类120
4.1.2 加载和删除驱动程序121
4.2 最简单的内核模块122
4.2.1 内核模块的概念122
4.2.2 编写内核模块122
4.2.3 关于内核模块初始化(加载)函数124
4.2.4 关于内核模块清除(卸载)函数124
4.2.5 关于printk()函数124
4.3 编写Makefile文件125
4.3.1 Makefile文件整体介绍125
4.3.2 Makefile文件中的变量126
4.3.3 Makefile文件中的规则127
本章小结129
第5章 字符设备驱动程序初步130
5.1 几个概念130
5.1.1 关于主设备号和从设备号130
5.1.2 关于设备节点、节点文件和设备文件130
5.2 最简单的字符设备驱动程序131
5.2.1 驱动程序代码131
5.2.2 驱动程序的初始化函数134
5.2.3 驱动程序的清除函数134
5.2.4 保存设备信息的结构体135
5.2.5 关于file结构140
5.2.6 内核空间与用户空间交换数据143
5.2.7 内核空间与I/O空间交换数据144
5.2.8 ioctl()方法的编写145
5.2.9 一些宏定义149
5.2.10 关于头文件149
5.2.11 其他说明150
5.3 使用字符设备驱动程序150
5.3.1 建立设备文件150
5.3.2 加载驱动程序150
5.3.3 接口函数150
5.3.4 示例代码156
5.3.5 编写Makefile文件157
本章小结159
第6章 GPIO(字符设备)驱动程序编写范例160
6.1 在应用程序中使用GPIO驱动程序160
6.1.1 建立设备文件160
6.1.2 可使用的函数160
6.1.3 提供给应用程序的头文件161
6.1.4 设置GPIO口数据传输方向162
6.1.5 让GPIO口输出指定电平164
6.1.6 读GPIO口输出电平166
6.1.7 读GPIO口引脚上的电平167
6.2 编译168
6.3 源码分析169
6.3.1 初始化函数169
6.3.2 清除函数170
6.3.3 open()方法170
6.3.4 release()方法171
6.3.5 ioctl()方法171
6.3.6 其他说明178
本章小结179
第7章 PW M(字符设备)驱动程序编写范例180
7.1 在应用程序中使用PWM 驱动程序180
7.1.1 建立设备文件180
7.1.2 可使用的函数181
7.1.3 提供给应用程序的头文件181
7.1.4 PWM 总体控制183
7.1.5 允许某路PWM 输出184
7.1.6 禁止某路PWM 输出184
7.1.7 设置某路PWM 高电平宽度185
7.2 编译186
7.3 源码分析187
7.3.1 为驱动程序增加中断服务程序187
7.3.2 关于临界区189
7.3.3 初始化函数190
7.3.4 清除函数190
7.3.5 open()方法及中断处理191
7.3.6 release()方法192
7.3.7 ioctl()方法194
7.3.8 其他说明200
本章小结200
第8章 A/D(字符设备)驱动程序编写范例201
8.1 在应用程序中使用A/D驱动程序201
8.1.1 建立设备文件201
8.1.2 可使用的函数202
8.1.3 提供给应用程序的头文件202
8.1.4 设置A/D工作频率203
8.1.5 设置A/D转换精度203
8.1.6 读取A/D转换结果204
8.2 编译204
8.3 源码分析205
8.3.1 初始化函数205
8.3.2 清除函数206
8.3.3 open()方法208
8.3.4 release()方法209
8.3.5 ioctl()方法210
8.3.6 read()方法211
8.3.7 其他说明214
本章小结214
第9章 SPI(字符设备)驱动程序编写范例215
9.1 在应用程序中使用SPI驱动程序215
9.1.1 建立设备文件215
9.1.2 使用SPI的特殊注意点216
9.1.3 可使用的函数216
9.1.4 提供给应用程序的头文件217
9.1.5 设置SPI分频值218
9.1.6 SPI时钟相位控制218
9.1.7 SPI时钟极性控制219
9.1.8 SPI数据传输顺序控制220
9.1.9 开始和结束SPI操作221
9.1.10 发送同时接收一字节数据221
9.1.11 写数据到SPI从器件222
9.1.12 从SPI从器件读数据222
9.2 编译223
9.3 源码分析224
9.3.1 初始化函数224
9.3.2 清除函数224
9.3.3 open()方法225
9.3.4 release()方法227
9.3.5 ioctl()方法228
9.3.6 write()方法233
9.3.7 read()方法236
9.3.8 其他说明238
本章小结238
第10章 I^2C(字符设备)驱动程序编写范例239
10.1 在应用程序中使用I^2C总线驱动程序239
10.1.1 建立设备文件239
10.1.2 可使用的函数240
10.1.3 提供给应用程序的头文件240
10.1.4 设置I^2C总线频率241
10.1.5 写数据到I^2C从器件241
10.1.6 从I^2C从器件读数据242
10.2 编译242
10.3 源码分析244
10.3.1 初始化函数244
10.3.2 清除函数245
10.3.3 open()方法245
10.3.4 release()方法247
10.3.5 I^2C中断处理247
10.3.6 ioctl()方法250
10.3.7 write()方法252
10.3.8 read()方法254
10.3.9 其他说明256
本章小结256
第11章 块设备驱动程序初步257
11.1 几个概念257
11.1.1 关于主设备号和从设备号257
11.1.2 关于设备节点、节点文件和设备文件257
11.2 最简单的块设备驱动程序258
11.2.1 驱动程序代码258
11.2.2 注册初始化函数和清除函数260
11.2.3 驱动程序的初始化函数261
11.2.4 驱动程序的清除函数261
11.2.5 保存设备信息的结构体262
11.2.6 一些宏定义268
11.2.7 关于头文件268
11.2.8 其他说明269
11.3 使用块设备269
11.3.1 建立设备文件269
11.3.2 加载驱动程序269
11.3.3 把块设备(的某个分区)映射到指定的目录270
11.3.4 取消目录映射270
11.3.5 卸载驱动程序270
本章小结270
第12章 简单的块设备编写范例271
12.1 使用范例271
12.1.1 范例简介271
12.1.2 编译驱动程序271
12.1.3 使用驱动程序272
12.2 范例程序源码分析274
12.2.1 关于主设备号274
12.2.2 几个数据结构276
12.2.3 驱动程序的初始化函数276
12.2.4 驱动程序的清除函数277
12.2.5 open()方法278
12.2.6 release()方法281
12.2.7 ioctl()方法282
12.2.8 check_media_change()方法284
12.2.9 revalidate()方法284
12.2.10 关于数据传输285
12.2.11 其他说明292
本章小结292
第13章 基于ZLG/FS驱动程序的通用块设备驱动程序293
13.1 背景知识293
13.1.1 驱动程序简介293
13.1.2 ZLG/FS简介293
13.2 ZLG/FSV1.10驱动程序使用指南294
13.2.1 接口函数295
13.2.2 参数295
13.3 使用范例298
13.3.1 编译驱动程序298
13.3.2 使用驱动程序299
13.4 范例程序源码分析301
13.4.1 块设备信息结构体302
13.4.2 注册ZLG/FSV1.10驱动程序303
13.4.3 注销ZLG/FSV1.10驱动程序303
13.4.4 关于分区设备304
13.4.5 检测分区305
13.4.6 驱动程序的初始化函数308
13.4.7 驱动程序的清除函数309
13.4.8 open()方法310
13.4.9 release()方法312
13.4.10 ioctl()方法315
13.4.11 check_media_change()方法317
13.4.12 revalidate()方法318
13.4.13 数据传输320
13.4.14 其他说明325
本章小结325
第14章 转换ZLG/FSV1.10驱动为μClinux驱动326
14.1 转换步骤326
14.2 转换实例之CF卡驱动330
14.3 转换实例之SD卡驱动332
14.4 转换实例之ZLG/FFS驱动334
14.5 模板源码分析338
14.5.1 驱动程序的初始化函数338
14.5.2 驱动程序的清除函数339
14.5.3 open()方法339
14.5.4 release()方法340
14.5.5 get_info()方法340
14.5.6 其他说明342
本章小结342
第15章 网络设备驱动程序初步343
15.1 最简单的网络设备驱动程序343
15.1.1 驱动程序代码343
15.1.2 驱动程序的初始化函数346
15.1.3 驱动程序的清除函数347
15.1.4 保存设备信息的结构体347
15.1.5 数据接收与中断服务程序356
15.1.6 关于头文件358
15.1.7 其他说明358
15.2 使用网络设备驱动程序358
本章小结359
第16章 RTL8019驱动程序编写范例360
16.1 硬件原理360
16.2 使用源代码362
16.3 源码分析363
16.3.1 初始化函数363
16.3.2 清除函数364
16.3.3 init()方法365
16.3.4 open()方法366
16.3.5 stop()方法370
16.3.6 set_config()方法371
16.3.7 hard_start_xmit()方法371
16.3.8 set_mac_address()方法374
16.3.9 中断服务程序375
本章小结380
第17章 DM9000驱动程序编写范例381
17.1 硬件原理381
17.2 使用源代码381
17.3 源码分析384
17.3.1 头文件DM9000.h384
17.3.2 底层硬件操作函数386
17.3.3 初始化函数388
17.3.4 清除函数389
17.3.5 init()方法389
17.3.6 open()方法391
17.3.7 stop()方法394
17.3.8 set_config()方法395
17.3.9 hard_start_xmit()方法396
17.3.10 set_mac_address()方法397
17.3.11 中断服务程序398
本章小结401
附录A 版权声明及许可协议402
附录B SmartARM2200教学实验开发平台404
B.1 产品概述404
B.2 产品目标405
B.3 产品特点405
B.4 产品组成409
B.5 硬件结构说明410
B.6 应用环境410
B.7 产品部件规格描述410
附录C MagicARM2200教学实验开发平台411
C.1 产品概述411
C.2 产品目标412
C.3 产品特点412
C.4 产品组成417
C.5 硬件结构说明418
C.6 应用环境418
C.7 产品部件规格描述418
附录D MagicARM2200 S教学实验开发平台419
D.1 产品概述419
D.2 产品目标420
D.3 产品特点420
D.4 产品组成423
D.5 硬件结构说明425
D.6 应用环境425
D.7 产品部件规格描述425

正在读取……

这里是其它用户补充的资源(我也要补充):

暂无补充资源
正在加载,请稍等...

点击查看所有6网友评论

 

(?) [公告]留口水、评论相关规则 | [活动]每日签到 轻松领取电驴经验

    小贴士:
  1. 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  2. 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  3. 勿催片。请相信驴友们对分享是富有激情的,如果确有更新版本,您一定能搜索到。
  4. 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
  5. 如果您发现自己的评论不见了,请参考以上4条。