具体描述
《嵌入式系统设计的艺术(第2版)》针对嵌入式系统开发中的一些本质问题提出了大量深刻见解,内容涵盖嵌入式系统的开发过程、代码编写、实时性问题等方面。附录部分还给出了固件标准、设计样例及设计指南等方面的丰富内容。
《嵌入式系统设计的艺术(第2版)》是从事嵌入式系统设计和开发的工程技术人员的必备参考书,也可供高等学校相关专业师生参考。
作者简介
Jack Ganssle,嵌入式系统领域世界级权成。目前任Ganssle集团CEO,美国国家航空航天局(NASA)顾问。他有20多年从业经验。曾经创办过3家电子公司,包括一家领先的嵌入式开发工具厂商;主持开发了100多种嵌入式系统产品,包括美国白宫的安全系统,在线仿真器等等。他长年活跃于嵌入式开发社区,热心于传道解惑,多次在Embedded Systems Conference等业界顶级技术大会做主旨演讲,他的大师研讨斑帮助英特尔、西门子、TI等众多公司和成千上万的开发者提高了自己的嵌入式系统开发技能。他也是著名的技术作家,现任权威杂志Embedded stems Programming的技术主编,除本书外,他还撰写了The Art of Programming EmbeddedSystems等著作。
目录信息
第2章 工程项目 4
2.1 分割 4
2.1.1 开发效率崩溃 4
2.1.2 cocomo 6
2.1.3 分割技巧 8
2.1.4 减少nre,节省大笔开支 10
2.1.5 超级程序员效应 12
2.1.6 渐进式开发固件 15
2.1.7 什么是smp 17
2.1.8 总结 20
2.2 计划表 21
2.2.1 wideband delphi法 22
2.2.2 猜测游戏 23
2.2.3 更多启发 25
第3章 代码 27
3.1 固件标准 27
3.2 代码检测 34
3.3 根据合同设计 39
3.3.1 合同 41
.3.3.2 良好的合同 43
3.3.3 c语言中的dbc 43
3.3.4 其他选择 45
3.3.5 总结 46
3.3.6 资源 47
3.4 其他保证代码质量的方法 47
3.4.1 misra 47
3.4.2 lint 49
3.4.3 静态分析 52
3.5 封装 52
3.5.1 问题 52
3.5.2 全局变量的备选方案 53
3.5.3 难题 55
3.5.4 故事的另一面 55
第4章 实时 56
4.1 实时意味着马上 56
4.1.1 中断 56
4.1.2 调试int/inta周期 63
4.1.3 找到丢失的中断 64
4.1.4 避免nmi 65
4.1.5 中断标记问题 65
4.1.6 简单的isr调试 66
4.1.7 rtos 66
4.2 可重入性 68
4.2.1 原子型变量 68
4.2.2 另外两个规则 70
4.2.3 保持代码的可重入性 70
4.2.4 递归 72
4.2.5 异步硬件/固件 72
4.2.6 竞态条件 73
4.2.7 选择 73
4.2.8 其他的rtos 75
4.2.9 亚稳状态 75
4.2.10 固件,而不是硬件 77
4.3 极端手段 79
4.3.1 性能的测评 83
4.3.2 输出数据 83
4.3.3 vom方法 85
4.3.4 r-2r 87
4.4 浮点近似 88
4.4.1 根 90
4.4.2 求幂 95
4.4.3 其他的指数运算 98
4.4.4 对数运算 98
4.4.5 三角函数:一般说明 100
4.4.6 余弦和正弦 101
4.4.7 更高精度的余弦运算 105
4.4.8 正切函数 107
4.4.9 更高精度的正切函数 111
4.4.10 反正切、反正弦和反余弦 112
4.4.11 精度 115
第5章 现实世界 116
5.1 适用于固件人员的电磁学 116
5.1.1 频率参数 116
5.1.2 反射 117
5.1.3 固件相关 119
5.2 消抖 120
5.2.1 数据 121
5.2.2 抖动情况 122
5.2.3 抖动分析 125
5.2.4 硬件消抖 128
5.2.5 rc消抖电路 129
5.2.6 设计匹配电路 131
5.2.7 其他想法 132
5.2.8 软件消抖 133
5.2.9 消抖策略 133
5.2.10 计数算法 134
5.2.11 一种代替算法 135
5.2.12 处理多输入 136
5.2.13 总结 137
第6章 严格的开发 138
6.1 严格的开发 138
6.1.1 任何人都会写代码 138
6.1.2 在大学里固件是最昂贵的东西 139
6.1.3 固件值多少钱 139
6.1.4 质量很重要,但不是免费的 140
6.1.5 cmmi 140
6.2 7步计划 143
6.2.1 第1步:购买并使用vcs 143
6.2.2 第2步:制定一份硬件标准手册 145
6.2.3 第3步:进行代码检查 145
6.2.4 第4步:创造一个安静的工作环境 145
6.2.5 第5步:估算你的错误率 148
6.2.6 第6步:估算你的代码生成效率 150
6.2.7 第7步:不断地学习软件工程的知识 152
6.2.8 总结 152
6.3 项目总结 153
6.3.1 工程管理 154
6.3.2 项目总结 155
附录a 固件标准 158
附录b 简单的图画系统 170
附录c 对老板关于改善流程的忠告 180
· · · · · · (收起)
读后感
谈一谈翻译的问题。 开始的几章是技术经济分析,翻译起来大概比较容易吧。后来我就不是在读书,而是在做校对的工作了。 从第四章开始,大概是涉及到了底层操作,翻译同志陷入了痛苦的深渊。 比如p57: “...然后推进返回地址...” “...推进处理器的状态..." 读到这里,大...
读书笔记: 本书读完后的感觉感觉像是一本嵌入式开发人员的软件工程书籍,以第一人称的方式讲述作者的项目经历。从第一章的项目工程开始讲起, 工程项目:合理的安排时间,适当的回馈总结,系统的模块之间的耦合性 代码:固件检测;代码质量检测;按照需求合同进行设计;...
读书笔记: 本书读完后的感觉感觉像是一本嵌入式开发人员的软件工程书籍,以第一人称的方式讲述作者的项目经历。从第一章的项目工程开始讲起, 工程项目:合理的安排时间,适当的回馈总结,系统的模块之间的耦合性 代码:固件检测;代码质量检测;按照需求合同进行设计;...
读书笔记: 本书读完后的感觉感觉像是一本嵌入式开发人员的软件工程书籍,以第一人称的方式讲述作者的项目经历。从第一章的项目工程开始讲起, 工程项目:合理的安排时间,适当的回馈总结,系统的模块之间的耦合性 代码:固件检测;代码质量检测;按照需求合同进行设计;...
谈一谈翻译的问题。 开始的几章是技术经济分析,翻译起来大概比较容易吧。后来我就不是在读书,而是在做校对的工作了。 从第四章开始,大概是涉及到了底层操作,翻译同志陷入了痛苦的深渊。 比如p57: “...然后推进返回地址...” “...推进处理器的状态..." 读到这里,大...
用户评价
这本书的标题,让我联想到那些曾经让我惊叹不已的科技产品,它们轻巧的身躯里却蕴含着强大的能力,仿佛拥有着自己的生命。我深信,这种“生命力”,正是源于对嵌入式系统设计理念的深刻把握。我特别想知道,书中是否会探讨一些关于“嵌入式软件开发流程”的优化方法,如何才能在保证代码质量的同时,提高开发效率?例如,敏捷开发在嵌入式领域的应用,以及如何利用版本控制工具,协同开发,这些都是现代软件工程中不可或缺的实践。我非常期待书中能够提供一些关于代码风格、模块化设计、以及代码复用的经验分享,让我们能够写出更易于理解、更易于维护的代码。同时,我也对书中关于“固件更新”和“远程管理”的讨论感到好奇,如何在不接触硬件的情况下,为嵌入式设备进行软件升级和故障排查,这对于产品的后期维护和客户服务来说,具有重要的意义。
当我看到“嵌入式系统设计的艺术”这个书名时,我立刻联想到了那些精密钟表,或是优雅的建筑,它们都以一种看似简单却蕴含着无限智慧的方式,展现着人类创造力的巅峰。这本书,我想正是要把这种“艺术”的力量,注入到我们对冰冷的电子元件和代码的理解之中。我特别好奇书中会如何阐述“系统集成”的挑战,如何将来自不同供应商的硬件模块,以及不同开发者编写的软件代码,无缝地整合在一起,最终形成一个稳定可靠的整体。这其中涉及到的接口协议、数据格式、时序控制等等,无疑是一项极其复杂的工程。我非常期待书中能够提供一些关于系统集成的方法论和工具链介绍,让我们能够更好地应对这些挑战。同时,我也想了解一些关于嵌入式系统测试和调试的经验,如何有效地发现和修复系统中的bug,如何确保产品在上市前达到预期的质量标准,这方面的知识对于保证嵌入式项目的成功至关重要。
翻开这本书,我立刻被其严谨而又富有逻辑性的章节安排所吸引。它并非直接跳入技术细节,而是从一个宏观的视角开始,描绘了嵌入式系统在现代社会中扮演的关键角色,以及它们是如何渗透到我们生活的方方面面的。我特别注意到书中用了很多篇幅来阐述“系统”这个概念,不仅仅是硬件的堆砌,更是软件与硬件的深度融合,以及它们之间如何协同工作,达成最终的目标。我一直觉得,很多技术书籍往往过于偏重某一方面,要么是纯粹的硬件设计,要么是纯粹的软件编程,而这本书似乎致力于打通这两者之间的隔阂,让我从一个更全面的角度去理解嵌入式系统。我尤其对书中关于“实时性”和“资源受限”的讨论感到好奇,这似乎是嵌入式系统最核心的挑战之一。如何在有限的计算能力和存储空间下,保证系统能够及时响应外部输入,并高效地完成任务?这其中的权衡和取舍,我想一定蕴含着许多精妙的设计思想。我非常期待书中能够提供一些具体的算法和设计模式,来指导我们如何应对这些挑战,如何写出既高效又鲁棒的嵌入式代码。毕竟,理论的知识固然重要,但如何将其转化为实际可行的解决方案,才是真正考验设计能力的关键。
我一直对那些能够让“静止”变为“动态”,让“无能”变为“有能”的技术充满着好奇。这本书,以“嵌入式系统设计的艺术”为名,恰如其分地勾勒出了我对于这个领域的想象。我希望它不仅仅是讲解理论,更是一种引导,一种启发,让我能够真正地领略到其中的“设计之美”。我尤其对书中关于“传感器数据采集与处理”的论述感到兴趣,如何从各种传感器中获取原始数据,如何对这些数据进行滤波、校准、以及特征提取,使其能够被系统有效地理解和利用,这其中的每一个环节,都充满了挑战与智慧。我期待书中能够提供一些关于常用传感器接口的介绍,以及数据处理的算法示例,让我们能够更直观地掌握如何将物理世界的信息转化为数字信号,并最终赋能于嵌入式系统。此外,我也想了解一些关于嵌入式系统与云端协同工作的知识,如何将嵌入式设备连接到云平台,实现数据的上传、分析以及远程控制,这无疑是构建物联网应用的关键。
我一直认为,真正的“设计”不仅仅是实现功能,更是对“如何实现”的深入思考,是对效率、美观、以及用户体验的极致追求。这本书,以“艺术”为名,似乎在暗示着嵌入式系统设计同样可以是一门充满创造性和感染力的学科。我特别关注书中关于“需求分析”和“系统建模”的章节,我深信,任何一个优秀的设计,都始于对需求的深刻理解和对系统结构的清晰描绘。如何将模糊的用户需求转化为清晰的技术指标?如何通过建模的方式,直观地展示系统的功能和交互?这些都是我非常想学习的内容。我期待书中能够提供一些实用的工具和方法,例如UML(统一建模语言)等,来帮助我们进行系统建模,并对各种设计方案进行评估。此外,我也对书中关于“原型开发”的探讨感到兴趣,如何在有限的资源下,快速构建出系统的原型,并进行验证,这对于缩短开发周期,降低项目风险,无疑具有重要的意义。
这本书的封面,给我一种“化繁为简”的感觉,仿佛在告诉读者,即便面对错综复杂的电子元件和代码,也能找到其中的规律和美感。我一直在思考,“设计”这两个字在嵌入式系统领域究竟意味着什么?它是否包含了对成本、功耗、性能、可靠性等多个维度的权衡与优化?我非常希望这本书能够深入探讨这些“权衡”的过程,揭示工程师们在实际项目中是如何做出艰难的选择,并最终找到最佳的解决方案。我特别期待书中能够提供一些关于功耗优化的技巧和方法,毕竟,对于很多便携式或电池供电设备来说,功耗是决定产品生命力的关键因素。例如,如何通过选择合适的低功耗芯片,如何优化软件算法,以及如何利用休眠模式等,来最大限度地延长设备的续航时间。此外,书中对于嵌入式系统架构的探讨也让我充满期待,如何才能构建出一个既灵活又易于扩展的系统架构,以便于未来的升级和功能的增加,这其中的设计思路,我想一定非常宝贵。
在我看来,嵌入式系统设计不仅仅是工程师们在实验室里进行的一项枯燥的工作,它更是现代文明进步的基石,是科技创新最活跃的土壤。这本书,以其充满诗意的书名,将这一严肃的技术领域赋予了艺术的灵动,让我不由得对其产生了浓厚的兴趣。我非常好奇书中会如何将抽象的“设计原则”与具体的“技术实现”相结合,如何带领读者从宏观的系统架构,一步步深入到微观的硬件选型和软件编码。我一直认为,一个优秀的嵌入式系统设计,应该像一位技艺精湛的工匠,在保证功能强大的同时,还能做到精巧、高效、可靠。书中是否会探讨一些关于嵌入式系统可靠性设计的最佳实践?例如,如何处理异常情况,如何进行故障诊断,如何确保系统在恶劣环境下依然能够稳定运行?这些问题,我想对于任何一个想要深入了解嵌入式系统的人来说,都是至关重要的。我特别期待书中能够提供一些实际的案例分析,通过真实的项目,展示嵌入式系统设计中的挑战与解决方案,让我能够更直观地理解书中的理论知识,并从中汲取经验。
我常常在想,那些让我们生活变得更加便捷的智能设备,比如智能音箱、智能手表、智能冰箱,它们背后究竟隐藏着怎样的一套“智慧”?它们是如何感知我们的指令,又是如何做出相应的反应?这本书的书名,恰如其分地捕捉到了我内心深处的这份好奇,它不仅仅是一本技术手册,更像是一扇通往“智能世界”的窗户。我希望这本书能够详细地阐述嵌入式系统的基本构成,从微控制器到传感器,再到执行器,以及它们之间的通信方式。我尤其对书中关于“人机交互”的部分感到期待,如何设计出既友好又高效的用户界面,让普通人也能够轻松地与这些复杂的系统进行交互,这无疑是嵌入式系统设计中的一个重要课题。我希望书中能提供一些关于用户体验设计的指导,让我们不仅关注技术本身,更能从用户的角度出发,设计出真正满足需求的系统。同时,我也想了解一些关于嵌入式系统安全性的知识,毕竟,随着智能设备的普及,网络安全问题也日益突出,如何确保嵌入式系统不被攻击,保护用户隐私,这方面的知识也同样不可或缺。
这本书的封面设计着实吸引了我,那是一种深邃的蓝色,上面跃动着几笔充满力量的银色线条,仿佛勾勒出了数字世界的脉络,又像是某种精密仪器内部流动的电信号。我拿到这本书的时候,就感觉到它沉甸甸的分量,这不仅仅是纸张和油墨的堆砌,更是一种知识和智慧的沉淀,一种将抽象概念具象化的努力。我一直对那些能够让“无形”变为“有形”的技术深感兴趣,尤其是那些隐藏在我们生活中的、默默工作的“幕后英雄”,比如智能家居里的遥控器,甚至是那辆我每天开的车,它们背后都有一个看不见的“大脑”在运转,控制着一切。这本书的名字,虽然直接点出了“嵌入式系统设计”,但我更愿意将它理解为一种“创造智能的艺术”。我期待它能带领我一步步揭开这些“大脑”的面纱,理解它们是如何思考、如何决策、如何与世界互动的。我希望这本书不仅仅是讲解枯燥的理论,更重要的是能通过生动的案例和深入的剖析,让我感受到那种将零散的电子元件组合起来,最终赋予它们生命力的过程,那种从无到有,从简单到复杂的创造过程,我想这其中一定充满了智慧的火花和工程师们的心血。我一直在思考,当我们在感叹智能设备的便捷时,是否有想过它们背后的逻辑是怎样的?是否了解那些微小的芯片是如何承载如此复杂的任务?这本书,我想就是解答这些疑问的金钥匙。
我一直对那些让事物“动起来”的技术充满着迷恋,无论是简单的机械臂,还是复杂的无人机,它们都拥有着一种独立思考和执行的能力,而这一切的源头,我想都离不开嵌入式系统。这本书的书名,就如同在召唤我进入一个充满无限可能的世界,一个由代码和硬件编织而成的奇妙领域。我尤其欣赏书中对于“设计”二字的强调,它不仅仅是技术的堆砌,更是一种智慧的结晶,一种对问题深刻理解后的解决方案。我希望这本书能够教会我如何像一个真正的“艺术家”一样去设计,不仅仅是满足功能需求,更要考虑系统的可维护性、可扩展性,甚至是美学上的考量。例如,当我们在设计一个智能穿戴设备时,除了要保证心率监测的准确性,还要考虑它的功耗、体积,以及用户佩戴时的舒适度,这些都是“设计”的范畴。我非常期待书中能够深入探讨不同类型的嵌入式处理器,了解它们的特点和适用场景,以及如何根据具体需求选择最合适的硬件平台。同时,我也希望能够学习到一些关于操作系统选择和配置的知识,比如RTOS(实时操作系统)的原理和应用,这对于构建复杂的嵌入式系统至关重要。
挺经典也挺高屋建瓴的,语言幽默,实际,简练。
虽然这话很不想说:总觉得英美人写的书只要翻译不坑,都完爆中文书籍。
2012
虽然这话很不想说:总觉得英美人写的书只要翻译不坑,都完爆中文书籍。
虽然这话很不想说:总觉得英美人写的书只要翻译不坑,都完爆中文书籍。