嵌入式C语言技术实战开发PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:杨源鑫,侯继红,陈锦勇,刘凯强编著
- 出 版 社:北京:北京航空航天大学出版社
- 出版年份:2018
- ISBN:9787512427105
- 页数:389 页
第1章 什么是嵌入式开发 1
1.1 概述 1
1.2 嵌入式开发需要的知识储备 1
1.2.1 嵌入式硬件知识 1
1.2.2 嵌入式软件知识 5
1.3 常见的嵌入式开发平台 5
1.3.1 单片机系列 5
1.3.2 ARM系列 5
1.4 嵌入式ARM Linux系统的构成 6
1.4.1 硬件电路基础 6
1.4.2 bootloader 6
1.4.3 内核 6
1.4.4 文件系统 6
1.4.5 应用程序 6
1.5 本章小结 8
第2章 嵌入式Linux系统基础 9
2.1 Linux系统简介 9
2.1.1 使用VMware虚拟机安装Linux操作系统 12
2.1.2 Linux的基本命令 19
2.2 Linux中vim编辑器的操作与编程 35
2.2.1 vim编辑器的操作 35
2.2.2 在Linux下Linux C语言编程快速入门 41
2.2.3 在Linux下使用GDB调试代码 43
2.2.4 在Linux下Shell脚本基础编程快速入门 47
2.3 利用Makefile管理软件工程 59
2.4 在Linux下制作静态库和动态链接库的方法 62
2.5 本章小结 64
第3章 C语言在嵌入式开发中的应用 65
3.1 嵌入式开发必知必会 65
3.1.1 数据段、代码段、堆栈段、BSS段的区别 65
3.1.2 位、字、字节、字符等基础知识 68
3.1.3 进制转换基础知识 68
3.1.4 嵌入式常用位运算基础与深入学习 71
3.2 位运算项目 74
3.2.1 应用(一):如何分离一个数的高低位 74
3.2.2 应用(二):如何将两个字节合并为一个字节 76
3.2.3 应用(三):Linux内核中实现的高低位互换函数 77
3.2.4 应用(四):用嵌入式C语言快速翻转一个数的二进制高低位 78
3.2.5 实战1:如何对一个有规律的数组表进行位移(LED彩灯案例) 80
3.2.6 实战2:分离一个十六进制数取出相应的位1或位0(简单的音频解码案例) 82
3.3 预处理、const、static以及字符串处理在嵌入式中的应用 86
3.3.1 宏定义与typedef的区别 86
3.3.2 const关键字 96
3.3.3 static关键字 98
3.3.4 sizeof运算符 103
3.3.5 strcat函数 105
3.3.6 strcpy函数 107
3.3.7 strlen函数 109
3.3.8 strcmp函数 111
3.4 C语言的内存管理与指针 113
3.4.1 一维数组 113
3.4.2 二维数组 119
3.4.3 C语言之指针 122
3.4.4 为什么内存是线性分布的 131
3.4.5 深入浅出剖析函数指针与回调函数 135
3.5 面向过程的C语言也能面向对象 144
3.5.1 C语言之结构体 144
3.5.2 C语言之结构体对齐 147
3.5.3 C语言结构体实现原理深入分析 150
3.5.4 结构体的封装性之结构体内嵌函数指针 152
3.5.5 结构体的继承性之结构体内嵌结构体 153
3.5.6 结构体的多态性之结构体中的void*万能指针 155
3.5.7 Linux内核中offsetof宏与container_of宏深度剖析 157
3.5.8 什么是共用体、联合体与大小端 160
3.6 C语言之标准C文件操作应用 163
3.6.1 fopen函数和fclose函数 163
3.6.2 fread函数和fwrite函数 165
3.6.3 fseek函数 167
3.6.4 sprintf函数 168
3.7 必须掌握的基本数据结构 170
3.7.1 链表 170
3.7.2 队列 179
3.7.3 栈 181
3.8 实战项目 184
3.8.1 熟悉STM32单片机库函数的使用 184
3.8.2 弹弹方块C语言实现 194
3.8.3 学生信息管理系统的实现 201
3.8.4 空洞文件与一次性产生多个文件 216
3.8.5 CheckSum软件的设计原理与应用 218
3.8.6 使用C语言编写一个将二进制文件转换为C数组头文件的程序 220
3.8.7 数据压缩与解压缩算法的C语言实现 224
3.8.8 字符串编码解压缩算法 227
3.8.9 C语言之查表法项目运用 229
3.9 本章小结 231
第4章 嵌入式Linux应用开发基础 232
4.1 文件I/O基础编程 232
4.1.1 open函数与close函数 233
4.1.2 read函数与write函数 235
4.1.3 lseek函数 237
4.1.4 ioctl函数 238
4.1.5 opendir函数、readdir函数与closedir函数 239
4.1.6 stat函数 240
4.1.7 文件I/O小结 242
4.2 进程的实战开发 242
4.2.1 进程的定义 242
4.2.2 进程与程序的区别 243
4.2.3 fork函数 243
4.2.4 vfork函数 246
4.2.5 exec函数族 248
4.2.6 特殊进程 251
4.3 进程间通信 256
4.3.1 管道 257
4.3.2 消息队列 261
4.3.3 共享内存 268
4.3.4 信号 274
4.3.5 信号量 278
4.4 多线程编程 281
4.4.1 线程与多线程的定义 281
4.4.2 进程与线程的区别与联系 281
4.5 网络编程 287
4.5.1 TCP/IP协议栈 287
4.5.2 TCP协议 288
4.5.3 UDP协议 300
4.6 实战项目 304
4.6.1 Linux下音频应用编程 304
4.6.2 Linux下FrameBuffer简介 314
4.6.3 Linux下C语言BMP图操作编程 320
4.6.4 Linux下C语言input系统应用编程 324
4.6.5 简易Linux终端版聊天室应用编程 329
4.7 本章小结 338
第5章 C语言在Linux驱动中的应用 339
5.1 简单的Kconfig编程 339
5.2 手把手教你实现字符设备驱动 345
5.3 手把手教你实现misc设备驱动 355
5.4 手把手教你实现外部中断 359
5.5 手把手教你实现中断底半部tasklet实现 364
5.6 手把手教你实现中断底半部work queue实现 371
5.7 手把手教你实现简单的Linux定时器 375
5.8 手把手教你实现input设备驱动程序 379
5.9 本章小结 386
参考文献 387
后记 389
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《Python3从入门到实战》董洪伟 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《星空摄影后期实战》阿五在路上著 2020
- 《幼儿园课程资源丛书 幼儿园语言教育资源》周兢编 2015
- 《半小时漫画股票实战法》财经杂质著 2019
- 《深度学习与飞桨PaddlePaddle Fluid实战》于祥 2019
- 《数字插画实战 人像创作30例》王鲁光著 2019
- 《物联网与嵌入式技术及其在农业上的应用》马德新 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019