成功开发和启动嵌入式系统需要各种工程学科的广泛技能。每个嵌入式系统开发团队都需要八个不同软件开发领域的知识。开发人员掌握嵌入式软件这八大支柱的程度将直接影响开发成本,代码可扩展性以及其他关键开发指标中的系统稳健性。
让我们来看看每个支柱及其在嵌入式软件开发中的作用。
1. 建筑
软件架构是应用程序的蓝图。经过深思熟虑的蓝图为开发人员提供了对主要软件组件,他们如何相互交互以及他们的环境的重要理解。该体系结构应提供可伸缩性,并使团队成员了解正在构建的系统。
2. 代码分析
开发嵌入式系统不仅仅是尽可能快地编写代码。许多系统需要健壮,并且必须对用户显示无错误(即使实际上不存在无错系统)。要在开发中实现这些属性,系统开发人员需要了解现代代码分析技术。静态,动态和最坏情况堆栈分析等技术只是有用技术的几个例子,但只是分析冰山的一角。团队分析代码,发现缺陷和错误以及暴露不合规情况的能力有助于确保用户安全并影响其公司的品牌。
3. 调试
当今嵌入式软件团队面临的最大挑战是调试他们的系统。嵌入式系统每年变得越来越复杂,系统越复杂,调试就越困难,耗时,成本也越高。为了最大限度地减少调试,开发人员需要精通现代调试技术,如实时跟踪。更少的调试时间意味着更多时间来添加创新的产品功能。
4.文件
在开发嵌入式系统时,文档是必不可少的。如果没有一些基本的需求, 定义描述正在构建的内容,就无法构建系统。同样,如果没有详细记录的代码库,开发人员无法正确维护代码。如果他们没有测试有效的产品功能,则回归测试是无用的。如果团队没有这方面的专业知识,那么开发文档可能会花费很多并且花费宝贵的时间,因此掌握文档可以帮助降低项目的总体拥有成本。
5. 编程语言技巧
并非所有编程语言都是平等的。不止一种语言可能会起作用,例如C,C ++,Python,或者其他语言,所以如果没有对语言的优缺点的深入了解,开发人员可能会遇到麻烦。例如,某些C编程语言区域具有不明确的定义,其中使用两个不同编译器的编译可能导致两个不同且不同的结果。同样地,某些构造是快速且有效的,而其他构造则使代码膨胀并使其变慢。如果开发人员不了解这些问题领域,那么糟糕的事情注定要发生。
6 . 标准
行业标准是开发人员应该谨慎遵循的关键支柱。标准通常包含开发人员见解和最佳实践,只有通过反复试验才能学习。MISRA,CERT和IEC 61508等行业标准及其行业衍生产品充满了卓越的工程实践。开发周期包含太少的时间让开发人员重新发明这些轮子。
7. 测试
即使通过回归测试,正确测试和验证软件的能力对于开发团队也是必不可少的。修复错误的最新修改是否会破坏其他任何内容?系统是否符合要求?是否已通过测试正确执行了每个代码分支?测试为开发人员提供了一个显着的舒适度,系统在受控条件下的行为符合预期。
8. 工具
专业的嵌入式软件开发人员需要访问并且应该知道如何使用他们的交易工具。对他们的工具和生态系统的理解可以使强大而优雅的系统与一款精致的业余产品区别开来。许多团队放弃了他们的行业工具,声称几千美元的投资不在预算范围内。然而,正确工作的合适工具可以通过节省劳动力十次支付工具,并对上市时间产生巨大影响。