嵌入式Linux C语言开发入门与编程实践PDF电子书下载
- 电子书积分:18 积分如何计算积分?
- 作 者:商斌编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2008
- ISBN:712106331X
- 页数:614 页
第1篇 嵌入式Linux开发介绍第1章 嵌入式系统基础 3
1.1 嵌入式系统概述 4
1.1.1 身边的嵌入式系统 4
1.1.2 什么是嵌入式系统 6
1.1.3 嵌入式系统发展趋势 9
1.2 嵌入式操作系统 11
1.2.1 概述 11
1.2.2 嵌入式Linux系统 11
1.2.3 其他嵌入式操作系统介绍 15
1.3 ARM处理器平台介绍 17
1.3.1 嵌入式处理器特点与分类 17
1.3.2 ARM处理器介绍 19
1.3.3 ARM体系结构 20
1.4 搭建嵌入式Linux系统开发环境 24
1.4.1 嵌入式Linux系统的组成及设计步骤 24
1.4.2 嵌入式Linux开发工具链 25
1.4.3 系统引导程序的移植 26
1.4.4 VIVI移植实现 31
1.5 本章小结 33
第2章 嵌入式Linux C语言开发介绍 35
2.1 嵌入式Linux与C语言 36
2.2 基本编辑器vi的使用 36
2.2.1 进入和退出vi 36
2.2.2 vi的基本编辑命令 37
2.2.3 vi的高级编辑命令 40
2.3 高级编辑器Emacs的使用 43
2.3.1 Emacs的启动与退出 43
2.3.2 Emacs的基本操作 45
2.3.3 Emacs的高级命令 46
2.4 编译器GCC的使用 50
2.4.1 GCC简介 50
2.4.2 GCC的编译过程 50
2.4.3 GCC的常用模式 51
2.4.4 GCC的常用选项 52
2.4.5 GCC的警告功能 53
2.5 调试器GDB的使用 55
2.5.1 GDB的调试过程 55
2.5.2 GDB的基本命令 58
2.5.3 GDB的高级命令 60
2.6 Make工程管理器 64
2.6.1 Make管理器简介 64
2.6.2 Makefile的描述规则 65
2.6.3 一个简单示例 66
2.6.4 make如何工作 67
2.6.5 指定变量 69
2.6.6 自动推导规则 70
2.6.7 另类风格的Makefile 71
2.6.8 清除工作目录过程文件 71
2.7 本章小结 72
第3章 C语言基础回顾 73
3.1 C语言的“基础字符”与“词汇” 74
3.2 数据类型 75
3.2.1 常量和变量 77
3.2.2 整型数据 78
3.2.3 浮点型数据 81
3.2.4 字符型数据 83
3.2.5 变量初始化 86
3.2.6 各类数值型数据间的混合运算 87
3.3 运算符与表达式 88
3.3.1 算术运算符和算术表达式 89
3.3.2 赋值运算符和赋值表达式 93
3.3.3 逗号运算符和逗号表达式 97
3.4 程序流程控制 98
3.4.1 选择语句 100
3.4.2 循环语句 107
3.5 字符输入/输出 117
3.5.1 单字符输入/输出 118
3.5.2 格式输入与输出 119
3.6 函数 126
3.6.1 函数的定义与声明 128
3.6.2 函数的参数、值和基本调用 128
3.6.3 函数的嵌套与递归调用 134
3.6.4 数组函数 137
3.6.5 局部变量 141
3.6.6 全局变量和外部变量 142
3.6.7 变量的存储类别 143
3.6.8 内部函数和外部函数 148
3.7 本章小结 150
第2篇 嵌入式Linux C语言开发入门第4章 嵌入式Linux C语言常用数据类型与修饰符 157
4.1 指针 158
4.1.1 指针的概念 158
4.1.2 指向指针的指针 161
4.1.3 指针数组 162
4.1.4 函数指针 164
4.1.5 链表 165
4.1.6 嵌入式Linux中指针使用实例 165
4.2 数组 167
4.2.1 一维数组 168
4.2.2 多维数组 170
4.2.3 字符数组 173
4.2.4 嵌入式Linux中数组使用实例 176
4.3 结构体与共用体 177
4.3.1 结构体的声明与定义 178
4.3.2 结构体的引用与初始化 181
4.3.3 结构体数组 182
4.3.4 结构体指针 184
4.3.5 共用体 188
4.3.6 typedef的使用 193
4.3.7 嵌入式Linux中结构体与共用体使用实例 195
4.4 数据类型修饰符 198
4.4.1 const和volatile 199
4.4.2 signed和unsigned 199
4.4.3 short和long 200
4.4.4 near和far 200
4.4.5 嵌入式Linux数据类型修饰符使用实例 200
4.5 存储类修饰符 201
4.6 本章小结 205
第5章 嵌入式Linux C语言预处理器与重要函数 207
5.1 头文件的概念和配置 208
5.2 预处理器 210
5.2.1 预处理的概念 211
5.2.2 预定义宏 211
5.2.3 文件包含 214
5.2.4 条件编译 215
5.2.5 行号控制 217
5.3 字符串函数 218
5.3.1 char数据类型 218
5.3.2 字符串输入 221
5.3.3 字符串输出 222
5.3.4 字符串函数 224
5.3.5 嵌入式Linux中字符串编程实例 235
5.4 文件输入/输出函数 238
5.4.1 嵌入式Linux C文件概述 238
5.4.2 基本I/O函数 240
5.4.3 文件打包和压缩 246
5.4.4 其他I/O函数 250
5.4.5 嵌入式Linux中文件输入/输出编程实例 252
5.5 内存操作函数 254
5.5.1 类型转换 254
5.5.2 分配和释放内存 261
5.5.3 内存块操作 264
5.5.4 位操作 267
5.5.5 内存关键字 270
5.5.6 嵌入式Linux中内存操作编程实例 273
5.6 Linux内核函数 276
5.6.1 Linux内核介绍 276
5.6.2 进程管理函数 277
5.6.3 文件操作函数 285
5.6.4 时间函数 297
5.6.5 信号处理函数 298
5.6.6 消息管理函数 306
5.6.7 线程操作函数 310
5.6.8 网络编程函数 318
5.6.9 嵌入式Linux内核的移植和修改 326
5.6.10 嵌入式Linux中内核编程实例 329
第6章 嵌入式LinuxC语言常用数据结构 333
6.1 链表 334
6.1.1 链表概述 334
6.1.2 单向链表 335
6.1.3 循环链表 340
6.1.4 双向链表 342
6.1.5 链表与数组 344
6.1.6 链表与栈 345
6.1.7 嵌入式Linux中链表使用实例 351
6.2 树 352
6.2.1 树概述 352
6.2.2 二叉树 353
6.2.3 平衡二叉树 358
6.2.4 嵌入式Linux中树的使用实例 359
6.3 哈希表 360
6.3.1 哈希表概述 360
6.3.2 哈希表构造 360
6.3.3 哈希表处理冲突的方法 362
6.3.4 嵌入式Linux中哈希表使用实例 363
6.4 本章小结 364
第7章 嵌入式Linux C语言嵌入汇编语言与移植性问题 365
7.1 嵌入汇编语言 366
7.1.1 内嵌汇编的语法 366
7.1.2 GCC对内嵌汇编语言的处理方法 370
7.1.3 嵌入式Linux中嵌入汇编实例 371
7.2 移植性问题 374
7.2.1 字长和数据类型 374
7.2.2 数据对齐 376
7.2.3 字节顺序 378
7.2.4 嵌入式Linux中代码移植实例 378
7.3 本章小结 379
第3篇 嵌入式Linux C语言编程实践第8章 工控触摸屏人机界面系统的开发 383
8.1 嵌入式数控系统人机界面介绍 384
8.1.1 嵌入式数控系统及其人机界面概述 384
8.1.2 工控触摸屏人机界面系统的现状 385
8.2 嵌入式数控系统硬件结构 386
8.2.1 CEB270开发板介绍 386
8.2.2 嵌入式数控系统硬件总体结构 387
8.2.3 Intel Xscale PXA 270处理器 388
8.2.4 Flash 390
8.2.5 SDRAM 390
8.3 人机界面程序开发模式 391
8.3.1 嵌入式数控系统软件结构 391
8.3.2 数控系统人机界面特点 391
8.3.3 嵌入式数控系统的软件开发模式 392
8.3.4 宿主机与目标机 392
8.3.5 交叉编译 393
8.3.6 远程调试 393
8.3.7 数控系统人机界面开发环境 394
8.4 嵌入式Linux系统移植基础 395
8.4.1 Bootloader的作用 395
8.4.2 Bootloader移植 397
8.4.3 U-BOOT的移植 400
8.4.4 内核启动部分的移植 401
8.5 设备驱动移植基础 406
8.5.1 设备驱动程序接口 408
8.5.2 设备驱动程序模块 409
8.5.3 设备驱动程序结构 410
8.6 文件系统移植基础 411
8.6.1 JFFS2文件系统 411
8.6.2 嵌入式根文件系统 413
8.7 移植U-BOOT到人机界面开发板上 416
8.7.1 选择U-BOOT的原因 416
8.7.2 U-BOOT主要目录结构 417
8.7.3 U-BOOT支持的主要功能 417
8.7.4 U-BOOT移植过程 418
8.7.5 将U-BOOT移植到开发板的具体过程 419
8.8 人机界面开发板的Linux内核移植 421
8.8.1 准备Linux内核源代码 421
8.8.2 修改Linux内核源代码 421
8.8.3 内核调试 423
8.8.4 总结 423
8.9 本章小结 424
第9章 基于PCI总线的无线网卡驱动开发 425
9.1 Linux设备驱动程序概述 426
9.1.1 Linux设备驱动程序与内核的关系 426
9.1.2 Linux内核的组成 426
9.1.3 Linux硬件驱动架构 427
9.1.4 设备驱动程序与内核的接口 428
9.1.5 内核为驱动程序提供的支持 429
9.2 Linux设备驱动程序开发基础 431
9.2.1 内存管理问题 431
9.2.2 中断处理 433
9.2.3 I/O端口 438
9.2.4 DMA处理 439
9.2.5 时间流 440
9.3 Linux下的设备与模块分类 443
9.4 Linux字符设备驱动开发介绍 444
9.4.1 主设备号和次设备号 444
9.4.2 字符设备驱动程序的组成 445
9.4.3 文件操作 446
9.5 块设备的驱动程序 448
9.6 网络设备接口驱动程序 449
9.6.1 网络设备概述 449
9.6.2 网络设备与字符设备、块设备的不同点 450
9.6.3 网络设备的运行机制 450
9.6.4 数据包的发送与接收 451
9.6.5 网络设备驱动的实现模式 452
9.7 Ralink无线网卡介绍 453
9.7.1 Ralink无线网卡结构 453
9.7.2 无线通信协议的选用 454
9.8 Ralink无线网卡驱动开发 455
9.8.1 Ralink无线网卡驱动程序的开发概述 455
9.8.2 关键数据结构的开发 455
9.8.3 802.11帧结构的设置 460
9.8.4 设备初始化模块驱动程序开发 463
9.8.5 设备打开模块驱动程序的开发 465
9.8.6 数据发送模块驱动程序的开发 471
9.8.7 中断处理模块驱动程序的开发 478
9.8.8 设备关闭模块驱动程序的开发 481
9.8.9 设备卸载模块驱动程序的开发 482
9.8.10 驱动程序IOCTL函数 484
9.8.11 驱动程序的调试 493
9.9 本章小结 494
第10章 基于Linux的嵌入式微浏览器的设计与开发 495
10.1 嵌入式微浏览器概述 496
10.1.1 嵌入式微浏览器的定义 496
10.1.2 嵌入式微浏览器的发展历程 496
10.1.3 浏览器的应用 497
10.1.4 嵌入式微浏览器的应用 498
10.1.5 嵌入式微浏览器的设计要求 499
10.1.6 嵌入式微浏览器与桌面浏览器的区别 500
10.1.7 嵌入式微浏览器的特点 501
10.1.8 当前主流嵌入式微浏览器分析 502
10.1.9 3G的概念与业务分类 505
10.1.10 嵌入式微浏览器与3G的结合 507
10.1.11 嵌入式微浏览器与WAP技术的结合 508
10.1.12 嵌入式微浏览器与Java技术的结合 509
10.2 嵌入式微浏览器的相关协议介绍 510
10.2.1 HTTP概述 510
10.2.2 HTTP报文 510
10.2.3 HTTP请求 513
10.2.4 HTTP响应 515
10.2.5 HTTP实体 516
10.2.6 TCP/IP 516
10.2.7 Socket套接字 518
10.2.8 GPRS 519
10.2.9 PPP 524
10.2.10 WAP规范 529
10.3 嵌入式微浏览器相关规范与标准介绍 532
10.3.1 HTML规范 532
10.3.2 HTML的语法树 534
10.3.3 CSS 2.0介绍 534
10.3.4 XHTML 535
10.3.5 XML 536
10.3.6 无线标记语言WML 537
10.3.7 DOM技术标准 549
10.3.8 DOM的发展历程 550
10.3.9 XPCOM组件对象模型 552
10.3.10 XPCOM组件 554
10.3.11 XPCOM组件内部机制 556
10.4 嵌入式微浏览器相关技术难点剖析 559
10.4.1 网页标记的取舍 559
10.4.2 HTML标记的容错处理 560
10.4.3 系统内存优化 563
10.4.4 页面的布局合理性问题 565
10.4.5 可移植性问题 565
10.4.6 DOM的基本接口 566
10.4.7 DOM接口对XHTML的操作 570
10.4.8 图形用户界面 572
10.5 基于Linux的嵌入式微浏览器的总体设计 575
10.5.1 体系结构设计 575
10.5.2 总体模块结构 576
10.5.3 主要数据结构 577
10.5.4 嵌入式微浏览器的数据流程 578
10.6 关键模块的设计与开发 578
10.6.1 系统设计概述 579
10.6.2 HTTP设计和实现 581
10.6.3 HTML解析模块 587
10.6.4 DOM模块 595
10.6.5 Content模块 602
10.6.6 Layout排版模块 602
10.6.7 显示引擎的设计 602
10.6.8 GFX模块 603
10.6.9 Widget模块 608
10.6.10 View模块 611
10.6.11 Embeding API 612
10.7 嵌入式微浏览器在模拟环境下的运行情况 613
10.8 本章小结 614
- 《HTML5从入门到精通 第3版》(中国)明日科技 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《Python3从入门到实战》董洪伟 2019
- 《语文教育教学实践探索》陈德收 2018
- 《彼得·布鲁克导演实践研究》邓小玲著 2019
- 《反思性实践》胡红梅, 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《环境影响评价公众参与理论与实践研究》樊春燕主编 2019
- 《学校特色教育探索与实践》管升起著 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017