功能模拟器与持续集成:嵌入式开发的高效策略
功能模拟器概述
功能模拟是指在非目标平台上执行生产源代码,该平台能提供大部分功能(但不一定具备实时性能)。简单来说,功能模拟能让开发者在没有目标硬件的情况下开发、执行和测试生产代码。
从项目管理角度看,硬件的功能模拟消除了软件对硬件的完成 - 开始依赖关系,允许硬件和软件并行开发。即使没有硬件,也能进行有意义的软件开发和测试。例如,有一个项目中,团队在硬件准备好之前的 18 个月就开始进行软件开发,这得益于创建了功能模拟器。
创建功能模拟器的大部分精力在于规划。关键是采用解耦设计,有效隔离特定于编译器或平台的代码。另一个重要因素是使用主模式构建应用程序,这意味着顶级创建者依赖于目标平台的所有细节(包括编译器),并负责将所有模块连接在一起,类似于分层硬件原理图中的顶级图。通过使用主模式,构建目标应用程序和功能模拟器的差异被隔离到顶级创建者,功能模拟器使用的模块与实际应用程序有超过 80% 是相同的。但要实现这种连接,所有特定于平台的功能必须有明确的接口边界。
应用与平台依赖关系
一个假设的嵌入式应用程序与其目标平台存在多种依赖关系,如业务逻辑、驱动程序、服务、通信等模块依赖于硬件组件、操作系统、处理器、编译器、印刷电路板组件(PCBA)和用户界面(UI)等。
通过使用硬件抽象层(HAL)接口和操作系统抽象层(OSAL)接口,可以将核心应用程序与目标平台解耦。不过,特定于平台的实体分离可以使用任何抽象接口,这里使用 HAL 和 OSAL 接口是因为它们更常见且概念上更容易理解。
| 依赖类型 |
|---|
超级会员免费看
订阅专栏 解锁全文
26

被折叠的 条评论
为什么被折叠?



