基于SystemC的实时操作系统模拟与AUTOSAR软件验证
1. 硬件相关软件与实时操作系统模拟
在硬件相关软件领域,考虑中断的方法较少,难以解决不可中断等待语句的问题。在SystemC实现中,PERFidiX为软件任务的可中断模拟提供了一种解决方案,但它仅局限于一种调度策略,且基于POSIX,无法在未确定操作系统的早期设计阶段应用。
2. 应用场景与集成流程
在汽车电子系统设计流程中,工业级的集成开发环境(IDEs)被广泛应用。这些环境通常包含编辑器、代码生成器、指令集模拟器和调试器,用于MIL、SIL和HIL测试。以下是将相关库集成到汽车电子系统设计流程的具体步骤:
1. 软件组件处理 :当前的IDEs(如与AUTOSAR兼容的SystemDesk)将软件组件(SWCs)组合成任务,最终配置并分配给单个微控制器(即电子控制单元,ECU)。
2. 模拟配置 :将各个配置和分配组合成一个DLL,可动态加载进行分析,通常模拟中不包含实际操作系统。现有的分析主要是不考虑任务持续时间的无时间模拟,而新方法会全面考虑所有定时效应,包括任务持续时间,以进行详细的调度分析。
3. 代码生成与接口 :一些汽车IDEs(如TargetLink)会自动在SWC代码中插入检查点(以C宏的形式)进行代码覆盖分析。这些检查点对应C代码中基本块的标记,可作为与定时RTOS模拟的接口。无需修改SWC代码本身,即可轻松重新定义检查点宏,用于SystemC任务注释,即从定时图中获取软件段的估计最坏情况执行时间,并插入对CONSUME TIME函数的调用。