嵌入式Linux实战教程PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:河源职业技术学院
- 出 版 社:北京:电子工业出版社
- 出版年份:2014
- ISBN:7121229237
- 页数:377 页
第1章 嵌入式Linux开发环境 1
1.1 嵌入式介绍 1
1.1.1 嵌入式系统定义 1
1.1.2 嵌入式操作系统 1
1.1.3 常见的嵌入式操作系统 3
1.2 虚拟机及Linux系统安装 5
1.2.1 安装VMware Workstation软件 5
1.2.2 在VMware Workstation虚拟机安装Red Hat Linux系统 6
1.3 Linux常用命令 13
1.3.1 系统询问命令 13
1.3.2 文件操作命令 14
1.3.3 目录操作命令 15
1.3.4 口令、权限命令 16
1.3.5 文件压缩命令 17
1.3.6 网络相关命令 18
1.3.7 其他命令 18
1.4 Linux下的编辑工具 19
1.4.1 编辑器分类 19
1.4.2 VIM的使用 19
1.5 主机开发环境的配置 23
1.5.1 超级终端配置图解 23
1.5.2 Minicom配置 26
1.5.3 TFTP服务 28
1.5.4 NFS服务 29
1.5.5 Telnet服务 30
1.6 Red Hat下通过安装镜像文件使用yum安装软件 30
1.6.1 修改yum配置文件 30
1.6.2 安装卸载软件的方法 30
1.7 Makefile编写规则 31
1.7.1 Makefile简介 31
1.7.2 Makefile的基本结构 31
1.7.3 Makefile中的变量 33
1.7.4 Makefile的隐含规则 34
1.8 交叉编译工具基础知识 35
1.8.1 交叉编译工具链的安装 36
1.8.2 arm-linux-gcc选项 37
1.8.3 arm-linux-ld选项 38
1.8.4 arm-linux-objcopy 39
1.8.5 arm-linux-objdump 39
1.9 小知识 39
第2章 BootLoader移植与开发 41
2.1 U-Boot的目录结构 41
2.1.1 BootLoader简介 41
2.1.2 常用BootLoader介绍 42
2.1.3 U-Boot 1.3.4 目录介绍 43
2.2 U-Boot的制作过程 44
2.3 U-Boot运行过程 57
2.3.1 程序启动过程 57
2.3.2 U-Boot的两个阶段 58
2.4 U-Boot源码分析 59
2.5 U-Boot应用:主要用于启动内核进行准备工作 90
2.5.1 U-Boot的应用 90
2.5.2 BootLoader与内核的交互 90
2.6 U-Boot的重要数据结构 90
2.6.1 gd全局数据变量指针 91
2.6.2 bd电路板数据指针 91
2.6.3 环境变量指针 92
2.6.4 设备相关设置 92
2.6.5 命令结构体类型定义 93
第3章 Linux内核裁剪 95
3.1 嵌入式Linux内核启动过程 95
3.1.1 Linux版本及特点 95
3.1.2 内核代码初始化分析 96
3.1.3 setup_arch()函数分析 99
3.1.4 rest_init()函数分析 102
3.1.5 挂接根文件系统 104
3.1.6 初始化设备驱动程序 105
3.2 Linux内核源码目录介绍 108
3.3 Linux内核配置系统分析 110
3.3.1 内核中的Kconfig文件介绍 112
3.3.2 Linux内核源码Makefile文件分析 113
3.4 针对S3C2440开发板移植内核的过程 115
3.5 添加驱动程序到内核源码 120
第4章 根文件系统移植与制作 122
4.1 分析Linux文件系统层次标准 122
4.2 根文件系统各目录作用 122
4.3 移植Busybox开源代码、构造根文件系统 123
4.3.1 Busybox的诞生 123
4.3.2 Busybox许可证 124
4.3.3 POSIX环境 124
4.4 制作Linux根文件系统 125
4.4.1 下载并配置安装Busybox 125
4.4.2 完善根文件系统 128
4.4.3 通过NFS服务测试文件系统 130
第5章 Linux驱动介绍 131
5.1 驱动原理 131
5.2 内核模块的主要相关命令 131
5.3 设备分类 131
5.4 设备驱动程序工作原理 132
5.5 应用程序、库、内核、驱动程序的软件关系 132
5.6 Linux驱动程序开发步骤 132
5.7 驱动程序的加载和卸载 133
5.8 关键概念 133
5.8.1 不可剥夺型内核(non-preemptive kernel)(分时操作系统内核) 133
5.8.2 可剥夺型内核(preemptive kernel)(实时操作系统内核) 134
5.8.3 可重入函数 134
5.8.4 资源 134
5.8.5 共享资源 134
5.8.6 代码的临界段 134
5.8.7 实时系统的特点 134
5.8.8 死锁 135
5.8.9 Linux的进程状态描述 135
5.8.1 0 Linux内核的三种调度方法 135
5.8.1 1 所有任务都采用Linux分时调度策略时 136
5.8.1 2所有任务都采用FIFO调度策略时 136
5.8.1 3所有任务都采用RR调度策略时 137
5.8.1 4进程调度依据(系统进程调度原理) 137
5.8.1 5描述进程的数据结构task_struct(任务结构体) 139
5.8.1 6 Linux使用内核函数goodness()对进程进行加权处理 139
5.9 中断与异常 141
5.9.1 Linux异常处理体系结构概述 141
5.9.2 中断注册方法 144
5.1 0并发和竞态 144
5.1 0.1 并发及其管理 145
5.1 0.2 信号量和互斥体 145
5.1 0.3 自旋锁 147
第6章 字符设备驱动开发 150
6.1 主设备号和次设备号 150
6.2 重要数据结构 150
6.2.1 file_operations结构 150
6.2.2 file结构 154
6.3 字符设备注册方式 154
6.3.1 早期版本的字符设备注册(2.6 版本以前) 154
6.3.2 杂项(miscdevice)设备注册 155
6.3.3 Linux 2.6 的版本设备注册 155
6.4 打印信息 164
6.5 高级字符驱动程序操作 165
6.5.1 ioctl 165
6.5.2 定位设备(llseek实现) 167
6.5.3 休眠 167
6.5.4 阻塞和非阻塞操作 169
6.5.5 poll和select 170
6.5.6 与read和write的交互 171
6.5.7 刷新待处理输出 172
6.6 异步通知 172
6.7 内核同步机制 174
6.7.1 原子操作 174
6.7.2 信号量(semaphore) 176
6.7.3 自旋锁(spinlock) 177
第7章 LED驱动开发与应用编程 182
7.1 LED驱动程序(xyd2440_leds.c) 182
7.2 LED驱动程序的Makefile 185
7.3 LED驱动测试程序(leds_app.c) 185
7.4 操作步骤 186
第8章 按键驱动开发与应用编程 188
8.1 按键的硬件原理 188
8.2 按键驱动中的数据结构 188
8.3 按键驱动的模块加载函数和卸载函数 189
8.4 按键设备驱动中断处理程序 190
8.5 按键设备驱动的打开函数和释放函数 190
8.6 按键设备驱动的读函数 192
8.7 按键驱动程序范例 193
8.8 操作步骤 199
第9章 LCD驱动开发实例分析 201
9.1 FrameBuffer的原理 201
9.2 FrameBuffer在Linux中的实现和机制 202
9.3 Linux内核中的platform机制 207
9.4 S3C2440 LCD驱动分析 209
9.5 S3C2440LCD驱动移动移植 228
9.5.1 代码修改 228
9.5.2 修改Kconfig——添加新屏支持到内核菜单 231
9.5.3 修改内核配置 232
9.6 FrameBuffer应用例子 234
9.6.1 应用程序源码 234
9.6.2 操作步骤 235
第10章 输入子系统和触摸屏 237
10.1 认识输入子系统 237
10.1.1 为什么需要输入子系统 237
10.1.2 相关API 237
10.1.3 一个简单的按键驱动的例子 240
10.2 触摸屏驱动分析 241
10.2.1 Linux内核定时器 241
10.2.2 触摸屏驱动代码分析 243
10.3 触摸屏的校准 249
10.3.1 触摸屏的校准介绍 249
10.3.2 tslib库的编译使用 250
10.3.3 将tslib校准引用到自己的项目中 251
第11章 网络驱动开发与应用编程 253
11.1 TCP/IP概述 253
11.1.1 TCP/IP族 254
11.1.2 TCP和UDP 254
11.2 TCP/IP网络基础编程 255
11.2.1 socket概述 255
11.2.2 地址及顺序处理 256
11.2.3 socket基础编程 261
11.3 DM9000网卡驱动程序移植 273
11.3.1 DM9000网卡特性 273
11.3.2 DM9000网卡与S3C2440硬件连接 274
11.3.3 DM9000与开发板接口定义 275
11.3.4 DM9000驱动移植到S3C2440的步骤 276
11.4 DM9000网卡驱动源码解析 278
11.4.1 两个重要的结构体的简单介绍:sk_buff和net_device 278
11.4.2 驱动代码具体分析 285
11.4.3 dm9000_netdev_ops和dm9000_ethtod_ops 286
11.4.4 平台设备驱动的结构体定义 288
11.4.5 驱动初始化函数 288
11.4.6 probe函数 289
11.4.7 remove函数:设备的删除函数 304
11.4.8 打开、关闭函数和操作函数 305
第12章 基于Qt Creator环境的Qt开发 321
12.1 概要说明 321
12.2 安装步骤 321
12.3 QtCreator测试 325
12.4 Qt Ctreator中配置ARM版本交叉编译环境 328
12.5 交叉编译ARM版本Qt4程序 332
第13章 产品封装、发布 335
13.1 Linux内核镜像格式 335
13.2 Linux内核镜像的产生过程 336
13.3 嵌入式Linux常用文件系统 336
13.4 制作常用的文件系统镜像 338
13.4.1 制作Cramfs文件系统和部署 338
13.4.2 制作JFFS2文件系统镜像和部署 339
13.4.3 制作YAFFS2文件系统镜像和部署 340
第14章 S3C6410平台Linux环境搭建 342
14.1 概述 342
14.2 编译器的安装 342
14.3 编译U-Boot和内核 342
14.3.1 编译U-Boot 342
14.3.2 编译内核 343
14.4 烧写内核到NAND Flash 344
14.4.1 制作用于一键烧写Linux的SD卡 344
14.4.2 烧写Linux到开发板的NAND Flash中 347
14.5 文件程序或文件下载到开发板中 350
14.5.1 通过超级终端下载 350
14.5.2 通过SD卡复制 352
附录A Linux开发平台硬件介绍 355
A.1 S3C2440系列芯片介绍 355
A.2 S3C2440开发板硬件设计说明 357
A.2.1 电源设计 357
A.2.2 复位电路 358
A.2.3 系统时钟电路 358
A.2.4 JTAG接口电路 358
A.2.5 GPIO电路、指示灯电路、按键电路 359
A.2.6 蜂鸣器电路 360
A.2.7 串口电路 360
A.2.8 A/D和D/A电路 361
A.2.9 外部Flash芯片 362
A.2.10 SD卡接口电路 362
A.2.11 SDARM芯片模块 363
A.2.12 NOR Flash芯片模块 364
A.2.13 NAND Flash芯片模块 364
A.2.14 USB接口 365
A.2.15 网络模块 365
A.2.16 音频输入与输出电路 365
A.2.17 LCD接口和CMOS摄像接口 367
A.2.18 系统总线接口 368
A.2.19 开发板完整原理图 368
附录B JTAG仿真调试器下载程序的过程 369
附录C J-Link仿真调试器的使用 371
附录D Linux常用命令介绍 375
参考文献 377
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《激光加工实训技能指导理实一体化教程 下》王秀军,徐永红主编;刘波,刘克生副主编 2017
- 《AutoCAD 2019 循序渐进教程》雷焕平,吴昌松,陈兴奎主编 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《英语自学进阶教程全6册 3》爱尔兰迪尔德丽出版社著 2019
- 《Python3从入门到实战》董洪伟 2019
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《绿色过程工程与清洁生产技术 张懿院士论文集精选 上》《绿色过程工程与清洁生产技术》编写组编 2019
- 《刘泽华全集 先秦政治思想史 下》刘泽华著;南开大学历史学院编 2019
- 《AutoCAD 2018自学视频教程 标准版 中文版》CAD/CAM/CAE技术联盟 2019
- 《彩叶地被植物》(中国)杭州市临安区科学技术协会,杭州市临安区林业局(农业局) 2018
- 《江苏中小企业生态环境评价报告》南京大学金陵学院企业生态研究中心 2019
- 《天水师范学院60周年校庆文库 新工科视域下的工程基础与应用研究》《天水师范学院60周年校庆文库》编委会编 2019
- 《国学 第6集》四川师范大学中华传统文化学院四川省人民政府文史研究馆 2018
- 《Phoenix English凤凰英语分级阅读 第三级 第4辑》江苏凤凰科学技术出版社 2019
- 《西中有东》华大学国学院编;(美)包华石;王金凤译 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017