图书介绍
嵌入式软件【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- 拉伯罗斯等著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121084447
- 出版时间:2009
- 标注页数:451页
- 文件大小:74MB
- 文件页数:471页
- 主题词:软件开发
PDF下载
下载说明
嵌入式软件PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 嵌入式编程的基本概念1
1.1 数字系统1
1.2 符号二进制数3
1.2.1 定点二进制数4
1.2.2 浮点二进制数5
1.2.3 交互数字系统5
1.2.4 二—十进制编码6
1.2.5 ASCII7
1.2.6 错误检测7
1.3 数据结构8
1.3.1 简单数据类型9
1.3.2 复杂数据类型13
1.4 通信协议18
1.4.1 简单数据广播18
1.4.2 事件驱动简单传输19
1.4.3 事件驱动多元传输20
1.5 数学22
1.5.1 二进制加法和减法23
1.5.2 二进制乘法24
1.5.3 二进制除法25
1.6 数值比较27
1.6.1 条件语句28
1.6.2 循环33
1.6.3 其他流控制语句34
1.7 状态机35
1.7.1 数据索引状态机38
1.7.2 执行索引状态机40
1.7.3 混合状态机43
1.8 多任务44
第2章 设备驱动50
2.1 本章梗概50
2.2 实例1:中断处理的设备驱动程序53
2.2.1 中断优先级56
2.2.2 上下文切换59
2.2.3 中断设备驱动程序的伪代码实例59
2.2.4 中断处理和性能66
2.3 实例2:存储器设备驱动程序67
2.4 实例3:板级总线设备驱动程序83
2.5 板级I/O驱动程序实例88
2.5.1 实例4:初始化一个以太网驱动程序89
2.5.2 实例5:初始化一个RS-232驱动程序102
2.6 本章小结106
第3章 嵌入式操作系统107
3.1 本章梗概107
3.2 什么是进程110
3.3 多任务和进程管理112
3.3.1 进程执行112
3.3.2 进程调度122
3.3.3 任务间通信和同步129
3.4 内存管理135
3.4.1 用户内存空间136
3.4.2 内核内存空间145
3.5 I/O和文件系统管理145
3.6 操作系统标准实例:POSIX(可移植操作系统接口)147
3.7 操作系统性能指南148
3.8 操作系统和板级支持包(BSP)149
3.9 本章小结150
第4章 组网151
4.1 RCM3200 Rabbit Core的介绍152
4.2 Dynamic C开发环境介绍153
4.2.1 开发153
4.2.2 调试153
4.3 Dynamic C库简介154
4.4 Dynamic C的内存空间154
4.4.1 Rabbit的内存分段155
4.4.2 Dynamic C中无独立的指令和数据空间时的内存使用155
4.4.3 把函数放入XMEM157
4.4.4 独立的指令和数据内存158
4.4.5 综合所有内容159
4.5 代码是如何编译和运行的160
4.5.1 在传统开发环境下代码是如何被构建的160
4.5.2 代码是如何在Dynamic C下构建的161
4.6 将一台电脑设置为RCM3200开发系统161
4.7 开始编写代码162
4.7.1 项目:第一个Rabbit程序162
4.7.2 Dynamic C的调试特性163
4.7.3 Dynamic C帮助163
4.7.4 单步调试164
4.7.5 增加断点165
4.7.6 监视表达式165
4.7.7 Dynamic C不是ANSI C166
4.7.8 Dynamic C存储空间168
4.8 嵌入式网络171
4.9 Dynamic C对于网络协议的支持172
4.9.1 通用网络协议172
4.9.2 Dynamic C库的可选模块174
4.10 典型的网络设置174
4.10.1 典型的企业网络174
4.10.2 典型的家庭网络176
4.11 建立核心模块的网络设置176
4.11.1 设置IP地址177
4.11.2 链路层的选择178
4.11.3 在编译时定义TCP/IP178
4.11.4 程序运行时的TCP/IP定义179
4.11.5 调试网络宏命令179
4.12 项目1:建立用于网络的Rabbit核心模块180
4.12.1 静态地址的配置180
4.12.2 配置动态地址182
4.12.3 动态地址分配的特殊情况183
4.13 客户端/服务器范例183
4.14 Berkeley Sockets接口184
4.15 嵌入式应用程序中TCP和UDP的比较186
4.16 Socket编程中重要的Dynamic C库函数187
4.16.1 用于通信初始化或通信终止的函数187
4.16.2 用于确定Socket状态的函数188
4.16.3 用于发送和接收数据的函数188
4.16.4 阻塞函数和非阻塞函数188
4.17 项目2:实现RabbitTCP/IP服务器188
4.17.1 服务器的TCP/IP状态机189
4.17.2 和通用TCP工具一起工作191
4.17.3 和Java TCP/IP客户端一起工作191
4.17.4 和C++ TCP/IP客户端一起工作192
4.18 项目3:实现一个Rabbit TCP/IP客户端194
4.18.1 关闭Windows XP防火墙196
4.18.2 检查客户端代码197
4.18.3 与Java TCP/IP服务器一起工作198
4.18.4 使用C#实现的TCP/IP服务器一起工作200
4.19 项目4:实现一个Rabbit UDP服务器201
4.19.1 与Java UDP客户端一起工作203
4.19.2 与C++ UDP客户端一起工作204
4.20 一些有用(并免费)的网络工具204
4.20.1 Ping204
4.20.2 Traceroute205
4.20.3 Ethereal206
4.20.4 Netcat206
4.20.5 在线工具207
4.21 最后的思考207
第5章 错误处理和调试208
5.1 嵌入式系统开发和故障排除之道208
5.1.1 开发者208
5.1.2 回归测试——早测试、常测试209
5.1.3 案例分析——一次性集成和无回归测试套件209
5.1.4 发现者210
5.1.5 修复者211
5.2 避免集中调试——灵巧地编码212
5.2.1 准则#1:使用小函数212
5.2.2 准则#2:使用指针格外小心212
5.2.3 准则#3:良好的注释代码212
5.2.4 准则#4:避免“幻数”212
5.3 主动调试212
5.4 栈和堆213
5.5 植入内存214
5.6 逃逸代码215
5.7 专用解码器216
5.8 MMU217
5.9 小结217
5.10 用闪存实现可下载固件218
5.11 微程序器218
5.12 微程序器的优点219
5.13 微程序器的不足219
5.14 接收一个微程序器219
5.15 基本的微程序器220
5.16 常见问题及其解决方案221
5.16.1 调试者不喜欢可写的代码空间221
5.16.2 调试者不喜欢自我重定位的代码222
5.16.3 无法生成位置独立的代码224
5.16.4 启动时无固件224
5.16.5 无限的看门狗超时224
5.16.6 意外断电225
5.17 硬件上的选择226
5.17.1 隔离代码和数据226
5.17.2 灵活安全227
5.18 内存诊断228
5.19 ROM测试228
5.20 RAM测试229
5.21 非易失性存储器232
5.22 监督电路232
5.23 多字节写234
5.24 测试236
5.25 小结236
5.26 构建一个强大的看门狗236
5.27 内部WDT238
5.28 外部WDT240
5.29 强大WDT的特征241
5.30 使用内部WDT243
5.31 使用外部WDT244
5.32 用于多任务的WDT245
5.33 总结和其他思路246
第6章 软/硬件协同验证248
6.1 嵌入式系统设计过程248
6.1.1 需求248
6.1.2 系统架构248
6.1.3 选择微处理器248
6.1.4 硬件设计249
6.1.5 软件设计249
6.1.6 软/硬件的整合249
6.2 验证和确认249
6.2.1 验证249
6.2.2 确认250
6.3 人际交互250
6.4 协同验证252
6.4.1 软/硬件协同验证的历史252
6.4.2 协同验证的定义254
6.4.3 协同验证方法257
6.4.4 协同验证法样例260
6.4.5 协同验证指标(协同验证参数)270
第7章 嵌入式媒体处理技术275
7.1 媒体处理系统简介276
7.1.1 核心处理过程276
7.1.2 输入/输出子系统——外设接口277
7.1.3 存储子系统279
7.2 系统资源的划分和代码优化280
7.3 事件产生和处理280
7.4 编程方法282
7.5 高效编程的结构特点283
7.5.1 单周期多重操作283
7.5.2 硬件循环结构284
7.5.3 专用寻址模式285
7.5.4 联锁指令流水线287
7.6 为达到有效编程,编译器的考虑因素288
7.7 系统和内核同步292
7.7.1 存取同步292
7.7.2 排序293
7.7.3 原子操作294
7.8 存储结构——管理所需294
7.8.1 存储器访问权衡294
7.8.2 指令存储管理——高速缓存或DMA295
7.8.3 数据存储管理296
7.8.4 选择DMA和cache的系统方针297
7.8.5 内存管理单元(MMU)300
7.9 物理数据传输301
7.9.1 分组转换到最小化内存总线翻转301
7.9.2 了解内核和DMA SDRM的存取303
7.9.3 保持SDRAM行开放,实现数据的多通路303
7.9.4 优化系统时钟设置,确保刷新率,调整SDRAM运行时的速率304
7.9.5 利用系统资源之间的优先权和仲裁策略305
7.10 媒体处理框架305
7.11 定义框架306
7.12 非对称和对称的双核处理器311
7.13 编程模型312
7.13.1 非对称编程模型312
7.13.2 均匀的编程模型313
7.14 构建框架的策略314
7.14.1 实时处理数据314
7.14.2 编程轻便型胜过性能316
7.14.3 基于性能的框架317
7.14.4 框架提示320
7.15 关于媒体框架的其他问题320
7.15.1 音频、视频同步320
7.15.2 管理系统流322
7.15.3 框架和算法的复杂性323
第8章 嵌入式系统中的DSP324
8.1 嵌入式系统及实时系统概述328
8.2 实时系统328
8.3 硬件实时系统和软件实时系统329
8.3.1 简介329
8.3.2 实时系统和分时系统的区别329
8.3.3 DSP系统是硬实时系统329
8.3.4 实时事件的特点——实时事件的分类330
8.4 有效执行和执行环境331
8.4.1 效率概述331
8.4.2 资源管理331
8.5 实时系统设计挑战332
8.5.1 响应时间332
8.5.2 从故障中恢复332
8.5.3 分布式和多处理器的体系结构333
8.5.4 嵌入式系统333
8.6 总结337
8.7 运用DSP的嵌入式系统研发周期概述338
8.8 使用DSP的嵌入式系统研发周期338
8.8.1 步骤1:研究系统所有的功能需要339
8.8.2 步骤2:选择系统需要的硬件组件340
8.8.3 硬件门340
8.8.4 软件可编程化340
8.8.5 通用处理器340
8.8.6 微控制器341
8.8.7 FPGA解决方案341
8.8.8 数字信号处理器342
8.8.9 通用信号处理解决方案342
8.8.10 DSP加速上的选择343
8.8.11 步骤3:了解DSP的基础和体系结构345
8.8.12 DSP处理模式347
8.8.13 输入/输出选择348
8.8.14 计算DSP性能348
8.8.15 DSP软件351
8.8.16 DSP构架352
8.9 优化数字信号处理(DSP)软件354
8.10 什么是优化354
8.11 处理过程354
8.12 加快经常性事件的速度356
8.13 加快经常性事件的速度——DSP体系架构356
8.14 加快经常性事件的速度——DSP算法358
8.15 加快经常性事件的速度——DSP编译器358
8.16 DSP优化的深入讨论363
8.17 直接存储器访问363
8.18 使用DMA364
8.18.1 将数据分段365
8.18.2 挂起和轮询367
8.18.3 管理内部存储器368
8.19 循环展开369
8.19.1 填充执行单元370
8.19.2 减少循环开销371
8.19.3 让循环适合寄存器的空间372
8.19.4 折中373
8.20 软件流水线化374
8.20.1 一个例子375
8.20.2 使软件流水线化379
8.20.3 中断和流水线代码379
8.21 更多的关于DSP的编译器和优化技术380
8.21.1 编译器架构和流380
8.21.2 编译器优化380
8.21.3 编译进行时的选项386
8.22 程序员协助编译器387
8.22.1 附注387
8.22.2 内联函数388
8.22.3 关键字390
8.22.4 函数内嵌390
8.22.5 减少堆栈存取时间391
8.22.6 程序员协助编译器392
8.22.7 编码建议总结392
8.23 基于剖面的编译395
8.23.1 优点395
8.23.2 调试优化代码的问题396
8.23.3 代码优化过程总结396
8.23.4 总结399
第9章 实用嵌入式编码技术400
9.1 重入400
9.2 原子变量400
9.3 另两个规则401
9.4 保持代码为重入402
9.5 递归403
9.6 异步硬件/固件403
9.7 竞争条件404
9.8 选项405
9.9 其他RTOS406
9.10 亚稳态407
9.11 固件,非硬件408
9.12 中断延迟410
9.13 取数据412
9.14 理解C编译器:如何最小化代码大小413
9.15 现代的C编译器413
9.15.1 编译器的结构414
9.15.2 程序的含义415
9.15.3 基本转换415
9.15.4 寄存器分配416
9.15.5 函数调用417
9.15.6 函数内联417
9.15.7 低级代码压缩418
9.15.8 链接器418
9.15.9 编译器优化控制418
9.15.10 内存模型419
9.16 编程建议419
9.16.1 使用正确的数据尺寸419
9.16.2 使用最好的指针类型419
9.16.3 结构和填充420
9.16.4 使用函数原型421
9.16.5 使用参数421
9.16.6 不要取地址421
9.16.7 不要使用内联汇编语言422
9.16.8 不要写聪明的代码422
9.16.9 为跳转表使用switch423
9.16.10 在使用位域前先检查423
9.16.11 心库函数423
9.16.12 使用额外的提示424
9.17 最后说明424
9.18 致谢424
第10章 开发技术及趋势425
10.1 如何为片上系统设计选择CPU425
10.1.1 设计复杂度425
10.1.2 设计重用425
10.1.3 内存架构和保护425
10.1.4 CPU性能426
10.1.5 功耗426
10.1.6 成本426
10.1.7 软件因素426
10.1.8 多核SoC427
10.1.9 小结427
10.2 嵌入式系统软件开发的新兴技术427
10.2.1 微处理器设备技术427
10.2.2 系统架构428
10.2.3 设计构成428
10.2.4 软件内容429
10.2.5 编程语言429
10.2.6 软件团队规模和分布430
10.2.7 UML和建模430
10.2.8 关键技术430
10.2.9 小结431
10.3 选择开发工具431
10.3.1 开发工具链431
10.3.2 编译特性432
10.3.3 嵌入式系统的扩展432
10.3.4 优化433
10.3.5 构建工具:关键点重述434
10.3.6 调试434
10.3.7 调试工具:关键点重述437
10.3.8 标准和开发工具的集成437
10.3.9 选择建议437
10.3.10 小结438
10.4 Eclipse——将嵌入式工具集中438
10.4.1 Eclipse平台的理念439
10.4.2 平台439
10.4.3 Eclipse如何变成嵌入式的440
10.4.4 小结441
10.5 嵌入式软件和UML441
10.5.1 为什么使用UML建模441
10.5.2 将应用程序和体系结构分离443
10.5.3 xtUML代码生成446
10.5.4 小结449
10.6 用xtUML进行基于模型的系统开发449
10.6.1 为什么构建嵌入式系统如此困难449
10.6.2 更好的解决方案451
10.6.3 经验到此为止451
10.7 展望未来451
热门推荐
- 3488233.html
- 2036862.html
- 1001059.html
- 1412600.html
- 3233488.html
- 492851.html
- 3313513.html
- 1326281.html
- 366171.html
- 3060232.html
- http://www.ickdjs.cc/book_2311544.html
- http://www.ickdjs.cc/book_109573.html
- http://www.ickdjs.cc/book_810078.html
- http://www.ickdjs.cc/book_2415409.html
- http://www.ickdjs.cc/book_1929109.html
- http://www.ickdjs.cc/book_2461186.html
- http://www.ickdjs.cc/book_1805129.html
- http://www.ickdjs.cc/book_944992.html
- http://www.ickdjs.cc/book_1970288.html
- http://www.ickdjs.cc/book_1159410.html