现成的操作系统通常假定其拥有整个 SoC,因此无法直接在无监督的 AMP 环境中运行,因为该环境要求合作使用共享资源,并且互斥地使用非共享资源。AMP 系统中每个参与的操作系统都要进行修改,以便通过合作方式使用共享资源。例如,远程操作系统不应复位和重新初始化已经在主机环境中使用的共享全局中断控制器;也不能修改共享时钟树或外设,以免导致冲突。这些变更通常包括对参与的操作系统内核或 BSP 源文件(或二者皆有)进行修改。
下一步是执行系统分区。必须在参与的操作系统之间对系统资源(例如存储器和非共享 I/O 器件)进行分区,这样,每个操作系统都只能显示和访问所分配的资源。为实现上述任务,您可以对提供给操作系统的平台数据(器件和存储器定义) 进行修改。例如,修改 Linux OS 的 Linux器件树源文件 (DTS) 中的存储器和器件定义;Nucleus RTOS 的平台定义文件中的存储器和器件定义;裸机环境中平台专用报头文件的存储器和器件定义。
使用 REMOTEPROC 进行生命周期管理
在完成系统级设计决策以及针对参与操作系统的修改后,就可使用应用软件的 Mentor 嵌入式多核框架。该框架提供相应的工作流程,用来封装 Linux、RTOS 或裸机软件映像以及所需的引导程序固件,从而生成 ELF 格式的远程固件映像。