文章图片
嵌入式软件开发的开发过程和技术往往落后于一般软件行业 。 即使在今天 , 通用软件行业已经采用构建管道、持续集成和测试工具 , 而通用嵌入式行业似乎没有意识到这些流程的存在 , 开发更复杂的构建管道会对嵌入式软件开发生命周期产生巨大影响 。 让我们看看嵌入式开发人员如何创建自己的构建管道 。
构建管道概述
开发更复杂的构建管道会对嵌入式软件开发生命周期产生巨大影响 。 例如 , 在软件产品的整个生命周期中 , 经过深思熟虑的构建管道可以:
提高软件质量
减少调试时间
降低项目成本
提高按时完成任务的能力
简化软件部署过程
软件构建管道只不过是用于管理、测试和部署应用程序的过程和工具 。 例如 , 嵌入式软件开发人员通常会将他们的软件提交到修订控制系统 , 手动测试他们的代码 , 然后发布可以手动部署到他们的系统的应用程序映像 。 这个构建管道非常传统 , 但它缺乏现代构建管道可以提供的复杂性和自动化 。
嵌入式开发人员可以利用的更现代的构建管道由四个阶段组成 , 这些阶段可以完全自动化和手动启动 。 这些阶段包括:
提交软件(手动触发)
构建和分析(自动化)
测试和报告(自动化)
部署(自动或手动)
每个阶段都有自己的流程和与之关联的工具 , 但最后三个阶段都可以作为持续集成/持续部署流程 (CI/CD) 的一部分来完成 。 CI/CD 背后的想法是 , 开发人员可以在一天结束时将他们的代码提交到存储库 , 然后启动一系列自动构建、度量和测试 , 这些可以在第二天或一切顺利的情况下为开发人员提供反馈 , 自动将固件部署到现场设备 。 此过程的概述和所涉及的一般工具如下图所示:
请注意 , 此图由两部分组成 , 上半部分描述所遵循的过程 , 下半部分描述所涉及的工具 。 测试和报告阶段与部署阶段之间也存在障碍 。 除了所有的测试用例之外 , 软件只有在通过了所有的构建和分析标准时才应该被部署 。 如果任何构建或测试用例产生警告或错误 , 则可以将此反馈报告给嵌入式开发人员 , 这会触发对软件的更新 , 然后是新的提交 , 然后再次启动自动化阶段 。
增强嵌入式软件构建管道
创建自动化构建管道不会一蹴而就 。 研究正确的工具、实施它们、测试过程 , 然后培训工程师如何正确使用它需要时间 , 那么如何去增强他们的软件构建管道呢?
首先 , 确保你拥有健全的修订控制流程非常重要 。 当今大多数团队都使用版本控制 , 与几年前相比 , 这是一个很大的改进 , 但许多团队都会提到他们每周只提交一次代码 , 甚至更少 。 软件应该以足够小的块开发 , 代码每天至少提交一次 , 如果不是一天几次的话 , 这样会让管道更频繁地提供反馈 。
其次 , 你需要实现一个持续集成服务器 。 嵌入式软件开发人员也可以使用的最流行的之一是 Jenkins(尽管还有其他的) 。 持续集成服务器旨在自动构建和部署软件 , 你会发现通常有许多集成可用于自动化几乎任何你可能想要的东西 。
第三 , 嵌入式开发人员需要确保自己的编译器和静态代码分析工具可以通过命令行界面执行 , 或者它们包含用于自己的持续集成服务器的插件 。 如果没有静态代码分析工具怎么办? 静态代码分析是软件开发过程中的重要一步 , 现在是寻找分析的好时机 。
- 目前而言|苹果为何取消开发屏下指纹识别
- 芯片|清华大学开发出0.34nm晶体管:这可能是摩尔定律最后一个节点
- Java|我的转行之路(Java开发从入门到放弃)之三:抉择与反思
- 在去年10月22日的华为开发者大会2021(Together)上|华为harmonyos3开发者预览版3月开启内测
- 根据一项新公布的专利显示|三星正在研究开发透明屏幕手机
- 软件|开发类似美团的同城惠购软件应配备哪些功能?
- 本文转自:澎湃新闻近日|澳大利亚量子公司开发自动纠错技术,提高量子算法在硬件上成功率
- 本文转自:澎湃新闻近日|德国投入超10亿欧元实施量子计划,开发本国量子计算机
- 华为|俄罗斯3个重要决定出炉,AutoCAD开发商不想看到的事发生了
- 《羞辱》开发商为新作招聘关键人员 或大概率跳票