技术#1–嵌入式DevOps
在过去10年左右的时间里,软件DevOps对一般软件开发做出了重大改进,但嵌入式开发人员通常会忽略它。这部分是因为大多数电气工程师和嵌入式软件开发人员在学校或职业生涯早期都没有接触过它。因此,尽管他们可能知道它的存在,但他们对项目的持续努力阻止了他们成功构建DevOps流程。
对于希望恢复软件开发方式的开发人员,以下是一些建议。首先,学习如何使用Docker设置嵌入式工具链。接下来,使用CI/CD服务器自动化构建过程。最后,如果时间允许,可以通过添加代码分析、单元测试、集成测试等来继续改进CI/CD流程。到今年年底,您将拥有一个出色的DevOps流程。
技术#2–自动化硬件在环测试
除了调试,嵌入式开发人员和团队遇到的首要问题是测试。测试总是一个问题,原因有很多,例如:
测试通常是一个手动过程
硬件的自动化测试似乎既复杂又耗时
团队渴望编写代码,测试是一种事后思考
软件接口设计不当
硬件在环测试不是一件新鲜事,但它是一种经常被忽视的功能。因此,测试可能会被忽略,因为您需要考虑DevOps才能正确执行测试。
技术#3–多核微控制器开发
未来几年,多核微控制器的使用将大幅增加。我认为它们在嵌入式开发中无处不在的原因有几个,例如:
许多应用程序需要隔离运行时环境
低功耗应用程序可以从打开和关闭函数目标内核中获益
将应用程序划分为运行时域在架构上是有意义的
多核微控制器的成本正在急剧下降(除了一些供应链问题)。
技术#4–Arm TrustZone
安全是一个重要的驱动因素,或者应该是我们设计和制造产品的主要驱动因素。因此,我们需要在2022年及以后掌握安全技术,以保护我们的知识产权(固件)、客户数据和隐私。
微控制器有许多可用的安全解决方案,包括使用多核处理器创建隔离的运行时环境。尽管如此,我认为仅将TrustZone作为一种学习技术是合理的,原因如下:
新的ARM微控制器架构具有TrustZone选项
TrustZone工具正在进入大多数商业甚至开源工具
TrustZone提供了更接近许多开发人员熟悉的软件模型的单核解决方案
技术#5–学习C++
多年来,C++在嵌入式应用程序中越来越流行。该标准不断更新,为嵌入式开发人员提供了现代面向对象的工具来设计和构建他们的系统。在过去两年中,许多公司编写的C++项目比C还要多!