图书介绍
Linux环境嵌入式系统开发基础PDF|Epub|txt|kindle电子书版本网盘下载
- 刘彦文,李丽芬编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302391159
- 出版时间:2015
- 标注页数:523页
- 文件大小:175MB
- 文件页数:540页
- 主题词:Linux操作系统-高等学校-教材
PDF下载
下载说明
Linux环境嵌入式系统开发基础PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 嵌入式系统组成简介1
1.1 嵌入式系统简介1
1.1.1 嵌入式系统定义1
1.1.2 嵌入式系统发展历程1
1.1.3 嵌入式系统应用举例2
1.1.4 嵌入式系统特点2
1.2 嵌入式系统硬件及软件组成4
1.2.1 嵌入式系统硬件组成4
1.2.2 嵌入式系统软件组成5
1.3 主流嵌入式微处理器5
1.3.1 嵌入式微处理器分类5
1.3.2 主流嵌入式微处理器简介7
1.4 主流嵌入式操作系统简介10
1.4.1 嵌入式操作系统的主要特点10
1.4.2 主流嵌入式操作系统简介11
1.5 Linux支持的处理器结构简介14
1.5.1 Linux对处理器的支持14
1.5.2 Linux支持的处理器结构15
1.5.3 μCLinux支持的处理器结构15
习题16
第2章 微处理器组成及程序员模型17
2.1 S3C2410A微处理器概述17
2.2 S3C2410A微处理器的组成与引脚信号18
2.2.1 S3C2410A微处理器的组成18
2.2.2 S3C2410A芯片封装、引脚编号与引脚信号名22
2.2.3 S3C2410A特殊功能寄存器简介26
2.3 ARM920T核26
2.4 ARM程序员模型26
2.4.1 处理器操作状态27
2.4.2 存储器格式和数据类型27
2.4.3 处理器操作方式29
2.4.4 寄存器29
2.4.5 程序状态寄存器33
2.4.6 异常34
2.4.7 中断延迟39
2.4.8 Reset39
2.5 OMAP3530微处理器39
2.5.1 OMAP3530微处理器概述40
2.5.2 OMAP3530应用举例40
2.5.3 OMAP3530微处理器组成42
习题44
第3章 存储器控制器及Nand Flash控制器46
3.1 存储器控制器46
3.1.1 S3C2410A与存储器相关的特性简介46
3.1.2 与存储器芯片连接的S3C2410A引脚信号及使用48
3.1.3 存储器总线周期举例54
3.1.4 存储器控制器特殊功能寄存器57
3.2 存储器组成举例63
3.2.1 使用Nor Flash芯片作为引导ROM63
3.2.2 使用SDRAM芯片举例68
3.3 Nand Flash芯片工作原理78
3.3.1 两种引导模式78
3.3.2 Nand Flash概述78
3.3.3 K9F2808U0C Nand Flash芯片工作原理78
3.4 Nand Flash控制器83
3.4.1 Nand Flash控制器83
3.4.2 Nand Flash控制器特殊功能寄存器86
3.4.3 Nand Flash控制器与Nand Flash芯片连接举例87
3.5 应用举例87
3.5.1 U-Boot对存储器控制器特殊功能寄存器初始化87
3.5.2 存储器控制器与以太网控制器的连接91
3.5.3 S3C44B0X与Nand Flash芯片的连接91
习题92
第4章 时钟与电源管理、DMA与总线优先权95
4.1 功耗管理、时钟与电源管理概述95
4.1.1 微处理器功耗管理基础95
4.1.2 时钟与电源管理概述96
4.1.3 时钟与电源管理用到的S3C2410A引脚信号97
4.2 时钟管理98
4.2.1 时钟与电源管理结构框图98
4.2.2 片外时钟源的选择99
4.2.3 锁相环99
4.2.4 时钟控制逻辑100
4.3 电源管理102
4.3.1 电源管理模式的转换102
4.3.2 4种电源管理模式103
4.3.3 S3C2410A电源引脚107
4.4 时钟与电源管理特殊功能寄存器及设置107
4.4.1 时钟与电源管理特殊功能寄存器107
4.4.2 U-Boot对特殊功能寄存器的初始设置110
4.5 DMA基础112
4.5.1 DMA含义112
4.5.2 DMAC控制输入传输举例112
4.5.3 总线主设备、从设备114
4.6 DMA传输114
4.6.1 DMA概述114
4.6.2 存储器到外设DMA传输举例115
4.6.3 DMA用到的S3C2410A引脚信号117
4.7 DMA请求、有限状态机和协议117
4.7.1 硬件DMA请求与软件DMA请求117
4.7.2 用于DMA操作的有限状态机118
4.7.3 外部DMA请求/响应协议119
4.7.4 Unit/Burst传输、数据尺寸与自动重装120
4.7.5 外部DMA请求/响应协议传输举例121
4.8 DMA特殊功能寄存器122
4.9 DMA存储器到存储器传输测试举例127
4.10 总线优先权130
习题131
第5章 GPIO端口及中断控制器133
5.1 GPIO端口概述及引脚信号133
5.1.1 GPIO端口概述133
5.1.2 与GPIO端口及其他寄存器相关的S3C2410A引脚信号134
5.2 GPIO端口控制135
5.3 GPIO端口特殊功能寄存器136
5.3.1 端口A~端口H寄存器组136
5.3.2 其他寄存器144
5.4 GPIO端口程序举例151
5.4.1 GPIO端口特殊功能寄存器在程序中定义151
5.4.2 GPIO端口初始化配置153
5.4.3 GPIO端口使用举例154
5.5 中断控制器概述155
5.5.1 与中断有关的寄存器155
5.5.2 中断处理过程157
5.6 中断控制器操作、中断源及中断优先权158
5.6.1 中断控制器操作158
5.6.2 中断源159
5.6.3 中断优先权产生模块159
5.7 中断控制器特殊功能寄存器161
5.8 中断程序举例167
习题174
第6章 片内功能模块177
6.1 脉宽调制定时器177
6.1.1 PWM定时器概述177
6.1.2 PWM定时器操作179
6.1.3 PWM定时器特殊功能寄存器184
6.1.4 PWM定时器应用举例188
6.2 实时时钟191
6.2.1 RTC概述191
6.2.2 RTC组成与操作192
6.2.3 RTC特殊功能寄存器193
6.2.4 RTC程序举例197
6.3 看门狗定时器199
6.3.1 WDT概述199
6.3.2 WDT操作200
6.3.3 WDT特殊功能寄存器200
6.3.4 WDT程序举例202
6.4 通用异步收发器205
6.4.1 串行异步通信基础205
6.4.2 UART组成及操作210
6.4.3 UART特殊功能寄存器216
6.4.4 UART与RS-232C接口连接举例222
6.4.5 UART程序举例224
6.4.6 UART与红外收发器连接及程序举例227
6.5 模数转换器与触摸屏接口229
6.5.1 ADC与TS接口基础知识229
6.5.2 ADC与TS接口概述232
6.5.3 ADC与TS接口操作233
6.5.4 ADC与TS接口特殊功能寄存器236
6.5.5 ADC程序举例239
6.5.6 ADC与TS接口程序举例240
6.6 IIC、IIS、SPI总线接口及SD主控制器概述243
6.6.1 IIC总线接口概述243
6.6.2 IIS总线接口概述245
6.6.3 SPI总线接口概述247
6.6.4 MMC/SD/SDIO概述249
习题251
第7章 Linux及嵌入式开发系统组成简介256
7.1 Linux起源及发展256
7.1.1 UNIX和GNU软件256
7.1.2 Linux的发展257
7.2 内核、shell、文件系统及实用程序258
7.2.1 Linux内核258
7.2.2 shell简介258
7.2.3 文件系统261
7.2.4 实用程序262
7.3 使用Linux的理由及Linux的不足之处262
7.3.1 使用Linux的理由262
7.3.2 使用Linux的不足之处263
7.4 Linux环境嵌入式开发系统组成简介264
7.4.1 Linux环境嵌入式开发系统组成264
7.4.2 主机264
7.4.3 目标板264
7.4.4 主机与目标板的连接264
7.4.5 主机中运行的程序265
7.4.6 目标板中运行的程序265
7.4.7 开发系统附带的光盘文档266
7.5 主机安装的Linux发行版267
7.5.1 常用的Linux发行版267
7.5.2 Linux发行版在主机的安装方式268
习题、操作与实验269
第8章 主机及目标板的运行271
8.1 终端基础知识271
8.1.1 tty271
8.1.2 早期的终端及终端与主机的连接271
8.1.3 X-Window、GNOME及KDE简介273
8.2 主机系统引导、登录及退出Linux274
8.2.1 主机系统引导274
8.2.2 登录Linux275
8.2.3 Linux的终端276
8.2.4 查看及修改用户使用的shell278
8.2.5 通过退出与shell的会话退出Linux280
8.2.6 关闭运行的Linux系统281
8.2.7 使用帮助命令help和man281
8.3 目标板初次运行283
8.3.1 目标板连接的电源、端口及安装的操作系统283
8.3.2 目标板引导过程简述284
8.3.3 装入装载引导程序(vivi)286
8.3.4 装入装载引导程序(u-boot)287
8.3.5 主机在Windows环境下的超级终端287
8.3.6 主机在Linux环境下的minicom仿真终端(Linux企业版4.0)290
8.3.7 主机在Linux环境下的minicom仿真终端(Linux企业版5.0)293
8.3.8 在虚拟机中增添串口设备296
8.3.9 装载引导程序支持的命令简介(vivi)300
8.3.10 装载引导程序支持的命令简介(u-boot)302
8.3.11 目标板运行的Linux登录、退出讨论306
8.3.12 目标板安装的Linux306
8.3.13 目标板运行的Linux命令举例(S3C2410A)307
8.3.14 目标板运行的Linux命令举例(OMAP3530)310
习题、操作与实验311
第9章 主机开发环境配置313
9.1 交叉开发平台基础313
9.1.1 本地开发及交叉开发313
9.1.2 GNU跨平台工具链组成314
9.1.3 如何获取工具链314
9.1.4 工具链的组件及GDB简介315
9.2 交叉工具链安装举例316
9.2.1 交叉工具链安装举例(S3C2410A)316
9.2.2 交叉工具链安装举例(OMAP3530)318
9.3 主机Linux环境网络配置举例(S3C2410A)321
9.3.1 主机Linux环境IP地址设置322
9.3.2 主机Linux环境网络防火墙设置325
9.3.3 主机与目标板网络通信测试326
9.3.4 主机Linux环境NFS设置328
9.3.5 输入、编译、运行一个程序全过程举例332
9.4 主机Linux环境网络配置举例(OMAP3530)333
9.4.1 主机Linux环境IP地址设置333
9.4.2 主机Linux环境网络防火墙设置335
9.4.3 主机与目标板网络通信测试337
9.4.4 主机Linux环境NFS设置337
9.4.5 输入、编译、运行一个程序全过程举例340
习题、操作与实验342
第10章 应用程序编程举例及驱动程序分析(一)343
10.1 读取、转换时间函数编程举例343
10.1.1 Linux查看、设置时间的命令343
10.1.2 常用的读取、转换时间的函数344
10.1.3 读取、转换时间的函数编程举例(S3C2410A)345
10.1.4 例10.1 对应的Makefile文件(S3C2410A)347
10.1.5 读取、转换时间的函数编程举例(OMAP3530)348
10.1.6 例10.2 对应的Makefile文件(OMAP3530)348
10.1.7 执行例10.2 程序前的操作步骤举例(OMAP3530)349
10.2 多线程编程举例350
10.2.1 Linux线程概述350
10.2.2 线程、互斥量、条件变量函数351
10.2.3 生产者、消费者编程举例(S3C2410A)353
10.3 串行端口及标准输入/输出/错误编程举例358
10.3.1 Linux标准输入/输出/错误系统调用358
10.3.2 Linux标准输入/输出/错误系统调用编程举例(S3C2410A)360
10.3.3 Linux标准输入/输出/错误系统调用编程举例(OMAP3530)361
10.3.4 串行端口设备与文件关联及系统调用362
10.3.5 串行端口设备与文件关联及系统调用编程举例(S3C2410A)363
10.3.6 串行端口设备与文件关联及系统调用编程举例(OMAP3530)365
10.3.7 C语言标准输入/输出/错误函数367
10.3.8 C语言标准输入/输出/错误函数编程举例(S3C2410A)368
10.3.9 C语言标准输入/输出/错误函数编程举例(OMAP3530)369
10.4 ADC应用程序编程举例(S3C2410A)369
10.4.1 ADC编程基础369
10.4.2 ADC应用程序编程举例371
10.5 ADC驱动程序源代码分析(S3C2410A)375
10.5.1 概述375
10.5.2 Linux设备驱动程序概述376
10.5.3 s3c2410-adc.h头文件源代码分析380
10.5.4 s3c2410.h_chip.h头文件源代码分析381
10.5.5 s3c2410-adc.c设备驱动程序源代码分析383
习题、操作、实验及编程389
第11章 目标板出厂软件烧写实验(S3C2410A)392
11.1 目标板出厂软件烧写概述392
11.1.1 目标板出厂软件392
11.1.2 Linux环境要烧写的文件392
11.1.3 什么情况下烧写目标板出厂软件392
11.1.4 烧写环境393
11.2 目标板出厂软件烧写实验(一)393
11.2.1 主机Windows环境下安装JTAG驱动程序393
11.2.2 通过JTAG端口传送并烧写装载引导程序vivi394
11.2.3 通过串口传送并烧写内核zImage395
11.2.4 通过串口传送并烧写根文件系统root.cramfs397
11.2.5 通过网口传送并烧写应用程序yaffs.tar.bz2397
11.2.6 格式化闪存以及通过串口传送并烧写vivi402
11.3 目标板出厂软件烧写实验(二)402
11.3.1 通过网口传送并烧写内核zImage403
11.3.2 通过网口传送并烧写根文件系统root.cramfs406
11.4 目标板出厂软件烧写实验(三)407
11.4.1 通过JTAG端口传送并烧写装载引导程序u-boot407
11.4.2 通过网口传送并烧写内核uImage409
11.4.3 通过网口传送并烧写根文件系统root.cramfs411
11.4.4 通过网口传送并烧写应用程序yaffs.tar.bz2412
11.5 目标板出厂软件烧写小结413
习题、操作与实验413
第12章 应用程序编程举例及驱动程序分析(二)415
12.1 DAC应用程序编程举例及驱动程序分析415
12.1.1 DAC硬件基础415
12.1.2 DAC应用程序编程举例(S3C2410A)417
12.1.3 DAC驱动程序源代码分析(S3C2410A)419
12.2 PWM直流电机应用程序编程举例及驱动程序分析422
12.2.1 PWM直流电机(S3C2410A)422
12.2.2 编译、加载驱动程序模块(S3C2410A)423
12.2.3 PWM直流电机应用程序编程举例(S3C2410A)426
12.2.4 PWM直流电机驱动程序源代码分析(S3C2410A)428
12.3 LED应用程序编程举例及驱动程序分析429
12.3.1 七段LED概述429
12.3.2 8×8点阵LED显示概述432
12.3.3 CPLD与七段LED、8×8点阵LED连接举例(S3C2410A)435
12.3.4 七段LED、8×8点阵LED应用程序编程举例(S3C2410A)437
12.3.5 LED驱动程序源代码分析(S3C2410A)439
习题、操作、实验及编程442
第13章 装载引导程序443
13.1 常见的装载引导程序443
13.2 U-Boot概述444
13.3 编译、烧写、运行U-Boot及装入内核446
13.3.1 对标准开发板源代码进行编译、链接并烧写U-Boot446
13.3.2 U-Boot等映像文件在开发板存储位置举例446
13.3.3 加电运行U-Boot及U-Boot装入内核447
13.4 U-Boot监视命令及环境变量448
13.4.1 使用命令及在源代码中配置监视命令448
13.4.2 环境变量449
13.5 顶层目录、编译过程及配置头文件举例451
13.5.1 U-Boot源代码顶层目录及编译指定的开发板451
13.5.2 标准开发板配置头文件及举例453
13.6 U-Boot启动过程及举例456
习题、操作与实验459
第14章 内核461
14.1 内核简介461
14.1.1 内核461
14.1.2 内核在嵌入式Linux系统中的位置及内核组成461
14.2 内核映像、Linux启动过程及输出信息463
14.2.1 常见内核映像文件zImage和uImage463
14.2.2 Linux启动过程简介464
14.2.3 Linux启动期间控制台输出的信息467
14.3 Linux内核源代码468
14.3.1 获得内核源代码468
14.3.2 Linux内核源代码树及内核目录469
14.4 内核配置文件及配置编辑器472
14.4.1 内核配置文件472
14.4.2 内核配置编辑器473
14.4.3 顶层.config文件内容及Kconfig文件内容举例475
14.5 联编内核及联编内核模块477
14.5.1 联编内核举例478
14.5.2 联编内核模块举例480
14.5.3 清理480
习题、操作与实验481
附录A Linux基础483
A.1 用户和组483
A.1.1 账户483
A.1.2 与用户和组关联的文件484
A.1.3 与用户和组相关的命令486
A.2 文件系统及Linux常用命令488
A.2.1 目录结构及根的基本目录488
A.2.2 创建和删除目录489
A.2.3 常用目录操作命令491
A.2.4 文件类型及链接493
A.2.5 文件和目录的权限494
A.2.6 创建、修改和删除文件495
A.2.7 常用文件操作命令496
A.2.8 元字符500
A.3 用vi输入源程序500
A.3.1 vi功能简介500
A.3.2 常用vi操作501
A.3.3 输入、保存源程序举例502
A.4 make及Makefile举例504
A.4.1 make、Makefile文件内容简介504
A.4.2 编译文件509
A.5 主机运行用户程序举例510
A.5.1 运行一个程序举例510
A.5.2 输入、编译、运行程序过程总结512
习题512
附录B 英汉名词术语对照表514
参考文献523