嵌入式开发:如何定义理想的嵌入式构建系统

更新时间: 2023-08-11 14:58:43来源: 粤嵌教育浏览量:7858

  如果没有一个清晰的构建系统的愿景,你可能会发现嵌入式开发团队没有他们应有的生产力。他们将错过驱动更快和更可靠的软件开发的基本特性和概念。在本帖中,我们将讨论嵌入式软件构建系统的理想愿景、它们的输入和输出,以及如何开始开发理想的构建系统。

  构建系统由什么组成?

  构建系统应被视为包含以下部分:

  存储库——从构建中提取源代码的地方。(可能一个或多个)。

  源代码——这些是系统的输入,包括平台配置源、生成的和手写的代码。

  测试——这些是用于验证代码行为的单元、集成和系统测试。

  构建配置——这些定义了构建输出是什么。

  构建工具——该工具收集所有输入并生成所需的输出。

  在你的构建系统中,有两个方面需要特别注意;构建配置和源代码。

  定义理想的构建配置

  嵌入式开发人员应该使用的五种构建配置:

  l 分析–对代码库执行度量分析

  l 模拟–构建在主机环境中执行的代码,而不是在目标环境中执行

  l 测试——构建并运行单元、集成和回归测试

  l 发布–在客户硬件上构建发布代码

  l 调试–在实验室中构建在目标上执行的代码

  每个现代嵌入式软件构建系统都应该包括这五种配置。然而,如果你没有讨论和定义你需要你的构建系统做什么,你可能只有一个调试配置。



  定义理想的软件堆栈

  你可能认为你的软件堆栈与构建系统无关;但是,你选择的内部版本配置可能会决定软件的组织方式。毕竟,模拟应用程序代码的构建不应该包括低级目标驱动程序。事实上,你可能会发现,即使你使用的中间件也完全不同!定义理想的构建配置可能会影响软件堆栈,反之亦然。

  现代嵌入式软件堆栈将包括通过HAL和API粘合在一起的多个独立软件层。嵌入式开发人员的软件堆栈可能包含以下内容:

  l 平台配置–由目标工具生成的软件,如低级驱动程序、操作系统(如RTOS)和中间件。

  l 模型生成的应用程序代码–由建模工具生成的软件。软件可以是状态机、DSP算法等等。

  l 配置管理代码–由你的系统代码生成和管理的软件。例如,应用程序中包含的加热器或阀门的数量。它实际上是基于YAML或其他配置格式文件的配置代码。

  l 手写应用程序代码–由你的团队在没有其他工具帮助的情况下编写的软件。

  l 测试配置–成功运行单元、集成、系统和模拟测试的各种测试配置和代码。

  当你仔细定义你的软件堆栈,并说明代码在堆栈中的位置以及它是如何生成的,你会发现很多好处。例如,我们讨论的软件堆栈将在多个应用程序中创建易于配置、可移植和重用的软件。虽然你可能认为这是不必要的,但我看到了一种趋势,即公司希望创建内部平台,允许他们基于核心代码库推出大量产品。要成功地做到这一点,你需要一个灵活的软件堆栈和支持它们的构建配置。

  结论

  在嵌入式开发中,一旦你有了理想的构建系统,看看你的构建系统现在在哪里。随着你慢慢建立它,你会发现你对软件的工作方式有了新的能力和见解,它将变得更加强大和可靠。

免费预约试听课