本帖最后由 Tronlong创龙 于 2024-7-22 10:37 编辑
“非对称AMP”双系统是什么 AMP(Asymmetric Multi-Processing),即非对称多处理架构。“非对称AMP”双系统是指多个核心相对独立运行不同的操作系统或裸机应用程序,如Linux + RTOS/裸机,但需一个主核心来控制整个系统以及其它从核心。每个处理器核心相互隔离,拥有属于自己的内存,既可各自独立运行不同的任务又可多个核心之间进行核间通信。 随着对嵌入式系统要求的不断提高,非对称AMP架构如今已成为一种新选择,主要应用于工业领域,如工业PLC、运动控制器、机器人控制器、继电保护装置、小电流选线设备等。
“非对称AMP”对工业有何意义
更强“系统实时性” 非对称AMP架构拥有更强的系统实时性,原因在于可使用固定的核心进行实时任务处理。因此在工业自动化控制领域中采用非对称AMP架构时,兼顾了工业系统控制设备需要的复杂功能和实时性。AMP架构能够极大地提高系统实时性,从而提高系统执行效率、计算能力及响应外部事件速度等。
更高“系统稳定性” 非对称AMP架构拥有更高的系统稳定性,是因为无需多个分立CPU之间进行频繁数据交互。AMP架构中,每个处理器核心又相互隔离,拥有属于自己的内存,核心之间互不干扰。开发者可根据开发需要灵活指定某个任务仅某个核心上运行,亦可指定不同核心系统之间进行通信,因此系统稳定性将大大提高,有效地降低系统崩溃概率,从而保证数据信息完整性。
更低“系统硬件成本” 内部通信的方式决定了仅需一套硬件电路即刻实现复杂的功能,使得非对称AMP架构方案拥有更低的系统硬件成本。AMP架构中各核心可运行不同的操作系统,可并行执行多个任务,在开发中不需额外搭建其他系统硬件设备支持,在提高效率的同时大大降低系统硬件成本。而采取分立CPU方案,需要两套硬件电路(CPU/ROM/RAM/PMIC),系统硬件成本成倍增加。
RK3568J非对称AMP开发案例 创龙科技RK3568J工业核心板(SOM-TL3568)已提供了非对称AMP开发案例,并继续快速完善中。目前提供了GPIO、UART控制功能案例,同时计划在近1~2个月陆续提供基于AMP架构的SPI、I2C、CAN、PCIe等案例。 SOM-TL3568核心板CPU、ROM、RAM、电源、晶振、连接器等所有器件均采用国产工业级方案,国产化率100%。 下面以串口回显功能演示非对称AMP案例的开发基本流程。 实现串口回显功能案例
案例功能:CPU0、CPU1、CPU2核心运行Linux系统;CPU3核心运行Baremetal、RT-Thread(RTOS)程序,实现RS485 UART7串口的回显功能。
图 1
请将案例产品资料案例提供的amp.img镜像拷贝至评估板文件系统,执行如下命令将其固化至Linux系统启动卡对应分区。 备注:如需固化至eMMC,请将设备节点修改为"/dev/mmcblk0p8"。 Target# dd if=amp.img of=/dev/mmcblk1p8 conv=fsync Target# sync Target# reboot
图 2
将评估板上电启动,在U-Boot倒计时结束之前按下空格键进入U-Boot命令行模式,执行如下命令关闭设备树uart0和uart7配置,避免Linux内核占用案例的外设资源。 U-Boot# fdt set /serial@fdd50000 status "disable" U-Boot# fdt set /serial@fe6b0000 status "disable" U-Boot# boot
图 3
U-Boot启动后,将加载运行amp.img镜像,RS232 UART0串口终端将打印程序运行信息。
图 4 Baremetal程序串口终端
图 5 RT-Thread(RTOS)程序串口终端
在RS485 UART7串口终端输入8个字符后按回车,串口终端将回显接收到的字符。
图 6
同时RS232 UART0串口终端打印如下程序运行信息。
图 7 Baremetal程序串口终端
图 8 RT-Thread(RTOS)程序串口终端
|