物联网嵌入式软件 原书第3版
作者:(丹麦)克劳斯 埃尔克著
出版时间: 2019年版
内容简介
本书帮助读者了解物联网设备背后的技术细节。本书不仅提供了物联网的概述,还提供了构建和维护嵌入式系统所需的代码、版本控制和缺陷跟踪等方面的良好实践。本书首先介绍了互联网和万维网的历史,然后介绍了现代CPU和操作系统,*后深入研究了物联网的核心领域,包括有线网络和无线网络、数字滤波器、嵌入式系统和网络化系统的安全性,以及工业4.0统计过程控制。本书适用于准备进军嵌入式领域或者正在使用嵌入式系统的软件开发人员。
目录
译者序
前言
第1章 引言 1
1.1互联网的故事 1
1.2云 2
1.3物联网 3
1.4物联网相关术语 4
部分 基本体系
第2章 如何选择操作系统 8
2.1无操作系统和严格的轮询 9
2.2协程 12
2.3中断 12
2.4小型实时内核 14
2.5非抢占式操作系统 16
2.6完整的操作系统 18
2.7开源、GNU许可和Linux 20
2.8操作系统结构 22
2.9扩展阅读 22
第3章 使用哪个CPU 24
3.1概述 24
3.2CPU核心 26
3.3CPU架构 27
3.4字长 29
3.5内存管理单元 30
3.6RAM 30
3.7缓存 30
3.8EEPROM和闪存 31
3.9浮点运算器 31
3.10DSP 32
3.11加密引擎 32
3.12升级路径 32
3.13第二来源 33
3.14价格 33
3.15出口控制 33
3.16RoHS合规性 34
3.17评估板 34
3.18工具链 35
3.19基准测试 35
3.20功耗 36
3.21JTAG调试器 36
3.22外设 36
3.23自制或外购 40
3.24扩展阅读 42
第二部分 实践
第4章 软件架构 44
4.1性能设计 44
4.2从零开始的恐惧 46
4.3分层 47
4.4不仅仅是API——还有更多的文件 48
4.5对象模型(包含层次结构) 49
4.6案例:CANOpen 49
4.7消息传递 51
4.8中间件 52
4.9案例:LAN-XI的架构重用 52
4.10理解C语言 54
4.11扩展阅读 56
第5章 调试工具 58
5.1模拟器 58
5.2在线仿真器 59
5.3后台或JTAG调试器 59
5.4目标的替代品 60
5.5调试器 60
5.6strace 62
5.7调试时不使用特殊工具 63
5.8监控消息 64
5.9测试流量 64
5.10扩展阅读 68
第6章 代码维护 70
6.1穷人备份 70
6.2版本控制及git 71
6.3构建和虚拟化 75
6.4静态代码分析 77
6.5检查 78
6.6跟踪缺陷和特性 79
6.7白板 82
6.8文档 82
6.9Yocto 82
6.10OpenWRT 84
6.11扩展阅读 85
第三部分 物联网技术
第7章 网络 88
7.1互联网协议简介 88
7.2瑟夫和卡恩:互联网是网中网 88
7.3数据包的生命周期 89
7.4数据包之前的生命周期 95
7.5获取IP地址 98
7.6DHCP 99
7.7网络掩码、CIDR和特殊范围 101
7.8保留的IP范围 102
7.9 NAT 102
7.10DNS 103
7.11引入 HTTP 105
7.12REST 107
7.13Windows下IPv4的TCP套接字 109
7.14IP分片 116
7.15引入IPv6地址 118
7.16Linux下IPv6的TCP套接字 120
7.17数据传输 125
7.18UDP套接字 128
7.19案例:IPv6上的UDP 130
7.20应用层协议 133
7.21套接字API的替代品 136
7.22以太网电缆 137
7.23物理层的问题 139
7.24扩展阅读 140
第8章 网络工具 141
8.1查找IP地址 141
8.2交换机作为一种工具 143
8.2.1镜像 143
8.2.2统计 144
8.2.3模拟丢帧 145
8.2.4暂停帧 145
8.3tap 146
8.4SNMP 147
8.5Wireshark 148
8.6网络命令 149
8.7扩展阅读 149
第9章 无线网络 151
9.1引言 151
9.2Wi-Fi基础 154
9.3接入点作为中继器 155
9.4如何计算速度 157
9.5案例:Wi-Fi数据传输 159
9.6案例:信标 161
9.7案例:奇怪的滞后 163
9.8聚合帧 164
9.9信道评估 166
9.10低功耗蓝牙 167
9.11认证 169
9.12扩展阅读 170
第10章 安全 171
10.1引言 171
10.2黑客的目标 173
10.3网络安全概念 174
10.4散列函数 176
10.5对称密钥加密 177
10.6 案例:Enigma 178
10.7非对称密钥加密 179
10.8数字签名 181
10.9证书 182
10.10消息认证码 183
10.11nonce 184
10.12安全的套接字通信 185
10.13OpenSSL 187
10.14案例:心血漏洞 188
10.15案例:Wi-Fi安全 189
10.16软件加密库 191
10.17可信平台模块 192
10.18嵌入式系统 193
10.19嵌入式系统中的漏洞 194
10.20出口管制 197
10.21扩展阅读 199
第11章 数字滤波器 201
11.1数字化的原因 201
11.2为何需要滤波器 202
11.3采样频率 203
11.4时域和频域 203
11.5模拟和数字定义 205
11.6更多的二元性 206
11.7表现良好的系统 212
11.8IIR滤波器基础知识 213
11.9IIR的实现 214
11.10FIR滤波器基础知识 217
11.11FIR的实现 220
11.12动态范围与精度 222
11.13整数 222
11.14定点运算 224
11.15Q记号和乘法 225
11.16除法 226
11.17BCD 226
11.18扩展阅读 227
第12章 统计过程控制 228
12.1简介 228
12.2重要术语 231
12.3控制图 231
12.4查找控制限制 233
12.5子组 236
12.6案例:绝缘板 236
12.7EWMA控制图 240
12.8过程能力指数 240
12.9扩展阅读 241
后记 242