逐步式实时操作系统软件细化的混合级仿真环境
1. 引言
实时操作系统(RTOS)模型的引入将软件感知抽象提升到了真正的电子系统级设计层面。如今,即使是具有多个CPU的复杂设计的实时属性也能得到有效验证。通常,RTOS模型会将功能分段的C代码的原生执行封装在SystemC或SpecC等系统级设计语言中,通过应用程序编程接口(API)提供RTOS服务,并通过实现特定的实时调度策略来实现任务同步。
在进行时序分析和估算时,软件会被划分为多个段,并标注时序信息。这些信息可以通过在目标CPU上测量或从静态时序分析中获取。然而,由于知识产权保护等原因,有时无法获取功能段的时序信息,此时就不能采用需要对代码进行分区和标注的抽象RTOS仿真,而必须使用指令集模拟器(ISS)对应用软件和RTOS进行完全仿真。但ISS的执行速度通常较慢,难以进行高效的详细分析。
为了解决这个问题,我们开发了一种新方法,将ISS的优势与RTOS抽象的速度相结合。该方法沿着系统调用的自然接口清晰地分离软件和操作系统,明确区分应用软件与操作系统及其服务。应用软件通常在用户空间以无特权的用户模式运行,只有通过系统调用才能获得内核模式访问权限。而系统服务和驱动程序则必须在内核空间以内核模式运行,以执行特权指令并完全访问硬件。
为了实现高仿真速度,我们将开源的QEMU软件模拟器用于指令集仿真,并与SystemC结合。QEMU通过先进的动态二进制翻译技术,能够快速执行交叉编译的目标代码。结合快速执行时间估算方法和高效的同步方案,我们实现了比传统ISS与SystemC协同仿真更高的仿真速度。
在最初的细化级别中,内核空间由抽象RTOS模型进行抽象。通过将其与用户模式的QEMU仿真相结合,对于
超级会员免费看
订阅专栏 解锁全文
1146

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



