支付宝|嵌入式开发:嵌入式软件的8个支柱

支付宝|嵌入式开发:嵌入式软件的8个支柱

成功开发和启动嵌入式系统需要广泛的技能范围和工程学科 。 每个嵌入式系统都需要八个不同的软件开发领域的知识 。 嵌入式开发人员掌握嵌入式软件 8 大支柱的程度将直接影响开发成本、代码可扩展性、系统稳健性以及其他关键开发指标 。 让我们检查每个支柱及其在嵌入式软件开发中的作用 。

支柱1 - 建筑
软件架构是应用程序的蓝图 。 一个经过深思熟虑的蓝图为开发人员提供了对主要软件组件、它们如何相互以及它们的环境交互的重要理解 。 架构应该提供可扩展性并让团队成员了解正在构建的系统 。 缺乏软件架构类似于在事先不知道建筑物的高度、楼层数和总面积的情况下建造建筑物 。 正如人们可能想象的那样 , 建造这样一座建筑在开始之前就注定要失败 。
支柱 2 – 代码分析
开发嵌入式系统不仅仅是尽快编写代码 。 许多系统需要健壮并且对用户来说似乎没有错误(即使现实中不存在没有错误的系统) 。 系统开发人员需要了解现代代码分析技术 。 静态、动态和最坏情况堆栈分析等技术只是几个例子 , 但只是分析冰山一角 。 团队分析其代码并发现缺陷、错误和暴露不符合项的能力可以确保用户安全或影响其公司品牌 。
支柱 3 – 调试
今天嵌入式软件团队面临的最大挑战是调试他们的系统 。 嵌入式系统每年都变得越来越复杂 , 系统越复杂 , 调试就越困难、耗时且成本高昂 。 为了最大限度地减少调试 , 嵌入式开发人员需要精通现代调试技术 , 例如实时跟踪 。 更少的调试时间意味着更多的时间来添加创新的产品功能 。
支柱 4 – 文档
开发嵌入式系统时 , 文档是必不可少的 。 如果没有一些描述正在构建的基本需求定义 , 就无法构建系统 。 如果没有记录良好的代码库 , 开发人员就无法正确维护代码 。 如果回归测试没有测试有效的产品特性 , 那么它们是无用的 。 如果团队不具备该领域的专业知识 , 则开发文档可能会很昂贵并且需要宝贵的时间 。 掌握文档有助于降低总拥有成本 。

支柱 5 – 语言技能
并非所有的编程语言都是平等的 。 不止一种语言可以完成这项工作 , 例如 C、C++、Python、或其他语言 。 如果没有深入了解一种语言的优势和劣势 , 开发人员可能会自找麻烦 。 某些 C 编程语言领域有不明确的定义 , 其中使用两个不同的编译器进行编译可能会导致两个截然不同的结果 。 某些结构快速高效 , 而另一些结构会使代码膨胀并减慢速度 。 如果开发人员没有意识到这些问题领域 , 那么注定会发生坏事 。
支柱 6 – 标准
行业标准是开发人员应谨慎遵循的关键支柱 。 标准通常包含开发人员的见解和最佳实践 , 只有通过反复试验才能学习到 。 开发周期对嵌入式开发人员来说重新发明轮子的时间太少了 , 许多行业标准 , 如 MISRA、CERT 和 IEC 61508 及其行业衍生品都充满了伟大的工程实践 。
支柱 7 – 测试
即使通过回归测试来正确测试和验证软件的能力对于开发团队来说也是必不可少的 。 修复错误的最新更改是否破坏了其他任何内容?系统是否满足要求?每个代码分支都通过测试正确执行了吗?测试为开发人员提供了系统在受控条件下按预期运行的舒适度 。
支柱 8 – 工具
专业的嵌入式软件开发人员需要访问并知道如何使用他们的行业工具 。 对他们的工具和生态系统的了解可以在一个健壮的系统和一个古怪的业余产品之间产生差异 。 正确的工具 , 虽然可以为正确的工作支付十倍的费用 , 但仍然对上市时间产生巨大影响 。