嵌入式设计及Linux驱动开发指南 基于ARM 9处理器PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:孙天泽,袁文菊编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2007
- ISBN:712102361X
- 页数:451 页
第1章 嵌入式系统基础 1
1.1 嵌入式系统简介 1
1.1.1 嵌入式系统定义 1
1.1.2 嵌入式系统与PC 2
1.1.3 嵌入式系统的特点 4
1.2 嵌入式系统的发展 4
1.2.1 嵌入式系统现状 4
1.2.2 嵌入式系统发展趋势 5
1.3 嵌入式操作系统与实时操作系统 6
1.3.1 Linux 7
1.3.2 uC/OS 8
1.3.3 Windows CE 9
1.3.4 VxWorks 10
1.3.5 Palm OS 11
1.3.6 QNX 12
1.4 嵌入式系统选型 12
第2章 基于ARM9处理器的硬件开发平台 14
2.1 ARM处理器简介 14
2.1.1 ARM公司简介 14
2.1.2 ARM微处理器核 15
2.2 ARM9微处理器简介 19
2.2.1 与ARM7处理器的比较 20
2.2.2 三星S3C2410X处理器详解 21
2.3 FS2410开发平台 55
第3章 创建嵌入式系统开发环境 59
3.1 嵌入式Linux的开发环境 59
3.2 Cygwin 60
3.3 虚拟机 63
3.4 交叉编译的预备知识 65
3.4.1 Make命令和Makefile文件 66
3.4.2 binutils工具包 69
3.4.3 gcc编译器 93
3.4.4 Glibc库 95
3.4.5 GDB 97
3.5 交叉编译 102
3.5.1 创建编译环境 103
3.5.2 编译binutils 105
3.5.3 编译bootstrap_gcc 108
3.5.4 编译Glibc 110
3.5.5 编译完整的gcc 113
3.5.6 编译GDB 114
3.5.7 成果 114
3.5.8 其他交叉编译方法 115
3.7 开发套件 118
3.6 通过二进制软件包创建交叉编译环境 118
第4章 调试嵌入式系统程序 120
4.1 嵌入式系统调试方法 120
4.1.1 实时在线仿真 120
4.1.2 模拟调试 121
4.1.3 软件调试 121
4.1.4 BDM/JTAG调试 121
4.2 ARM仿真器 122
4.2.1 techorICETM ARM仿真器 122
4.2.2 ARM仿真器工作原理 123
4.2.3 ARM仿真器的系统功能层次 124
4.2.4 使用仿真器和ADS Debugger调试ARM开发板 125
4.3 JTAG接口 129
4.3.2 通过JTAG烧写Flash 130
4.3.1 JTAG引脚定义 130
4.3.3 烧写Flash技术内幕 134
第5章 Bootloader 144
5.1 嵌入式系统的引导代码 144
5.1.1 初识Bootloader 144
5.1.2 Bootloader的启动流程 146
5.2 Bootloader之vivi 147
5.2.1 vivi简介 147
5.2.2 vivi的配置与编译 148
5.2.3 vivi代码导读 149
5.3 Bootloader之U-Boot 164
5.3.1 U-Boot代码结构分析 165
5.3.2 编译U-Boot代码 165
5.3.3 U-Boot代码导读 166
5.3.4 U-Boot命令 179
5.4 FS2410的Bootloader 180
第6章 Linux系统在ARM平台的移植 182
6.1 移植的概念 182
6.2 Linux内核结构 182
6.3 Linux-2.4内核向ARM平台的移植 184
6.3.1 根目录 184
6.3.2 arch目录 185
6.3.3 arch/arm/boot目录 187
6.3.4 arch/arm/def-configs目录 188
6.3.5 arch/arm/kernel目录 188
6.3.6 arch/arm/mm目录 190
6.4.2 arch/arm/mach-s3c2410/devs.c 191
6.4.1 定义平台和编译器 191
6.3.7 arch/arm/mach-s3c2410目录 191
6.4 Linux-2.6内核向ARM平台的移植 191
6.4.3 arch/arm/mach-s3c2410/mach-fs2410.c 194
6.4.4 串口输出 195
6.5 编译Linux内核 195
6.5.1 代码成熟等级选项 196
6.5.2 通用的一些选项 197
6.5.3 和模块相关的选项 198
6.5.4 和块相关的选项 198
6.5.5 和系统类型相关的选项 199
6.5.6 和总线相关的选项 200
6.5.7 和内核特性相关的选项 201
6.5.8 和系统启动相关的选项 201
6.5.9 和浮点运算相关的选项 201
6.5.11 和电源管理相关的选项 202
6.5.10 用户空间使用的二进制文件格式的选项 202
6.5.12 和网络协议相关的选项 203
6.5.13 和设备驱动程序相关的选项 205
6.5.14 和文件系统相关的选项 209
6.5.15 和程序性能分析相关的选项 211
6.5.16 和内核调试相关的选项 212
6.5.17 和安全相关的选项 213
6.5.18 和加密算法相关的选项 214
6.5.19 库选项 214
6.5.20 保存内核配置 214
第7章 Linux设备驱动程序开发 216
7.1 设备驱动概述 216
7.1.1 设备驱动和文件系统的关系 217
7.1.2 设备类型分类 218
7.1.3 内核空间和用户空间 220
7.2.1 设备驱动中关键数据结构 221
7.2 设备驱动基础 221
7.2.2 字符设备驱动开发 225
第8章 网络设备驱动程序开发 252
8.1 网络设备驱动程序简介 252
8.1.1 device数据结构 253
8.1.2 sk_buff数据结构 259
8.1.3 内核的驱动程序接口 261
8.2 以太网控制器CS8900A 262
8.2.1 特性 262
8.2.2 工作原理 263
8.2.3 电路连接 264
8.2.4 引脚 264
8.3.1 初始化函数 266
8.2.5 操作模式 266
8.3 网络设备驱动程序实例 266
8.3.2 打开函数 272
8.3.3 关闭函数 275
8.3.4 发送函数 275
8.3.5 接收函数 276
8.3.6 中断处理函数 279
第9章 USB驱动程序开发 282
9.1 USB驱动程序简介 282
9.1.1 USB背景知识 282
9.1.2 Linux内核对USB规范的支持 283
9.1.3 OHCI简介 283
9.2 Linux下USB系统文件结点 293
9.3 USB主机驱动结构 294
9.3.2 USB设备连接/断开时序 296
9.3.1 USB数据传输时序 296
9.4 主要数据结构及接口函数 298
9.4.1 数据传输管道 298
9.4.2 统一的USB数据传输块 298
9.4.3 USBD数据描述 300
9.4.4 USBD与HCD驱动程序接口 301
9.4.5 USBD层的设备管理 304
9.4.6 设备类驱动与USBD接口 305
9.5 USBD文件系统接口 315
9.5.1 设备驱动程序访问 315
9.5.2 设备拓扑访问 317
9.5.3 设备信息访问 322
9.7.1 HUB驱动初始化 323
9.6 设备类驱动与文件系统接口 323
9.7 USB HUB驱动程序 323
9.7.2 HUB Probe相关函数 324
9.8 OHCI HCD实现 326
9.8.1 OHCI驱动初始化 326
9.8.2 与USBD连接 326
9.8.3 OHCI根HUB 330
9.9 扫描仪设备驱动程序 334
9.9.1 USBD接口 334
9.9.2 文件系统接口 336
9.10 USB主机驱动在S3C2410X平台的实现 338
9.10.1 USB主机控制器简介 338
9.10.2 驱动程序的移植 339
10.1 嵌入式系统中的GUI简介 340
10.1.1 MicroWindows 340
第10章 图形用户接口 340
10.1.2 MiniGUI 341
10.1.3 Qt/Embedded 341
10.2 MiniGUI编程 342
10.2.1 MiniGUI移植 343
10.2.2 MiniGUI编程 346
10.3 初识Qt/Embedded 349
10.3.1 Qt介绍 350
10.3.2 系统要求 350
10.3.3 Qt的架构 351
10.4 Qt/Embedded嵌入式图形开发基础 353
10.4.1 建立Qt/Embedded开发环境 353
10.4.2 认识Qt/Embedded开发环境 355
10.4.3 窗体 358
10.4.4 对话框 366
10.4.5 外形与感觉 370
10.4.6 国际化 372
10.5 Qt/Embedded实战演练 373
10.5.1 安装Qt/Embedded工具开发包 374
10.5.2 交叉编译Qt/Embedded库 374
10.5.3 Hello,World 375
10.5.4 发布Qt/Embedded程序到目标板 383
10.5.5 添加一个Qt/Embedded应用到QPE 385
第11章 Java虚拟机的移植 388
11.1 Java虚拟机概述 388
11.1.1 Java虚拟机的概念 388
11.1.2 J2ME 389
11.1.3 KVM 390
11.2.1 获得源码 391
11.2 Java虚拟机的移植 391
11.2.2 编译环境的建立 392
11.2.3 JDK的安装 395
11.2.4 KVM的移植及编译 395
11.2.5 KVM的测试 396
11.3 其他可选的虚拟机 397
11.4 性能优化 398
第12章 嵌入式文件系统 400
12.1 文件系统简介 400
12.2 Linux根文件系统 401
12.3 Linux系统的引导过程 403
12.3.1 启动内核 403
12.3.2 init 405
12.4.1 嵌入式文件系统的特点和种类 407
12.4 嵌入式文件系统 407
12.3.3 mingetty 407
12.4.2 常见的嵌入式文件系统 409
12.4.3 MTD 419
12.4.4 RAMDISK 422
12.4.5 网络文件系统 424
12.5 Busybox 427
第13章 系统设计开发 431
13.1 概述 431
13.2 硬件功能的实现 432
13.2.1 功能定义 433
13.2.2 原理图设计 434
13.2.3 PCB设计 447
13.2.4 硬件调试 449
参考文献 450
- 《近代旅游指南汇刊二编 16》王强主编 2017
- 《甘肃省档案馆指南》甘肃省档案馆编 2018
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《近代旅游指南汇刊 31》王强主编 2014
- 《近代旅游指南汇刊二编 10》王强主编 2017
- 《手工咖啡 咖啡爱好者的完美冲煮指南》(美国)杰茜卡·伊斯托,安德烈亚斯·威尔霍夫 2019
- 《近代旅游指南汇刊 13》王强主编 2014
- 《近代旅游指南汇刊 28》王强主编 2014
- 《近代旅游指南汇刊 23》王强主编 2014
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《中风偏瘫 脑萎缩 痴呆 最新治疗原则与方法》孙作东著 2004
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017