“双系统”出炉!瑞芯微RK3562J非对称AMP:Linux+RTOS/裸机

news/2025/1/16 17:53:06/文章来源:https://www.cnblogs.com/Tronlong818/p/18517404

“非对称AMP”双系统

AMP(Asymmetric Multi-Processing),即非对称多处理架构。“非对称AMP”双系统是指多个核心相对独立运行不同的操作系统或裸机应用程序,如Linux + RTOS/裸机,但需一个主核心来控制整个系统以及其它从核心。每个处理器核心相互隔离,拥有属于自己的内存,既可各自独立运行不同的任务,又可多个核心之间进行核间通信。

图 1 RK3562J AMP异构多核框架示意图

“非对称AMP”对工业有何意义

“系统实时性”更强

非对称AMP架构拥有更强的系统实时性,可使用固定的核心进行实时任务处理。在工业自动化控制领域中,非对称AMP架构可以兼顾复杂功能与实时性需求。AMP架构提高了系统实时性、执行效率、计算能力及响应速度。

“系统稳定性”更高

非对称AMP架构拥有更高的系统稳定性,核心之间独立且无需频繁交互数据,每个处理器核心拥有属于自己的内存,核心之间互不干扰。开发者可灵活分配任务或指定核心间通信,从而增强系统稳定性,减少崩溃风险,保障数据完整。

“系统硬件成本”更低

非对称AMP架构通过优化内部通信,仅需一套硬件电路即可实现复杂功能,显著降低系统硬件成本。其各核心能运行不同操作系统,并行处理多任务,无需额外硬件支持,高效且经济。

图 2

“非对称AMP”双系统的应用领域

随着对嵌入式系统要求的不断提高,非对称AMP架构如今已成为一种新选择,主要应用于工业领域,如工业PLC、运动控制器、机器人控制器、继电保护装置、小电流选线设备等。

图 3

RK3562J非对称AMP开发案例

本文主要介绍基于RK3562J的非对称AMP开发案例,适用开发环境如下。

Windows开发环境:Windows 7 64bit、Windows 10 64bit

Linux开发环境:VMware16.2.5、Ubuntu20.04.6 64bit

U-Boot:U-Boot-2017.09

Kernel:Linux-5.10.198

LinuxSDK:LinuxSDK-[版本号](基于RK3562_LINUX_SDK_RELEASE_V1.1.0_20231220)

硬件平台:创龙科技RK3562J工业评估板(TL3562-EVM)

为了简化描述,本文仅摘录部分方案功能描述与测试结果。

案例说明

案例功能:

(1)Cortex-A53(CPU0、CPU1、CPU2、CPU3)核心运行Linux系统与rpmsg_echo应用程序;Cortex-M0(MCU)核心运行RT-Thread或Baremetal程序,实现Linux端的rpmsg数据的接收与发送功能。

(2)Cortex-A53(CPU0、CPU1、CPU2)核心运行Linux系统与rpmsg_echo应用程序;Cortex-A53(CPU3)核心运行RT-Thread或Baremetal程序,实现Linux端的rpmsg数据的接收与发送功能。

案例程序流程图如下所示:

图 4

案例演示

下文以Cortex-A53(CPU0、CPU1、CPU2、CPU3)核心运行Linux系统与rpmsg_echo应用程序,Cortex-M0(MCU)核心运行Baremetal程序为例进行演示。

参考产品资料,固化案例的amp.img镜像至评估板并替换案例的评估板系统内核镜像。U-Boot启动后,将加载运行amp.img镜像,Baremetal程序的串口终端将打印程序运行信息。

图 5

执行如下命令运行Linux应用程序rpmsg_echo,发送8个rpmsg数据包至运行Baremetal程序的Cortex-M0核心,当Cortex-M0核心每收到1个rpmsg数据包就会将数据包发送回Linux端。rpmsg数据包内容为"hello there x!"(x是rpmsg数据包序号,每发送一次加1)。

Target# ./rpmsg_echo -n 8

图 6
查看更多RK3562J相关的案例演示,各位工程师可以通过公众号(Tronlong创龙科技)下载,快来试试吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/824572.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BitNet.cpp:革新性的1比特LLM推理框架,让CPU也能驾驭百亿参数大模型!

🌟 在人工智能的世界里,大型语言模型(LLM)以其强大的文本处理能力而闻名。但这些模型通常需要昂贵的GPU资源,这让许多开发者望而却步。今天,我们要介绍的BitNet.cpp,正是微软开源的1比特LLM推理框架,它能让你的CPU也能流畅运行百亿参数的巨型模型,这无疑是一场技术的…

Lattice ICE40LP8K开发

一、开发工具: ICEcube2,界面非常原始,只有PLL IP核添加功能,其他IP核貌似只能使用primitive替换。 不支持时序分析、在线仿真等功能。 二、原语使用全局布线资源在 iCE40 FPGA 设备中,有 8 个高驱动缓冲器,称为全局缓冲器(Global Buffers,GBUFx),它们连接到 8 条低偏…

安川YASKAWA工业机器人板卡维修策略

一、安川YASKAWA工业机器人板卡识别故障症状 首先,需要准确识别电路板故障的症状。这通常包括安川YASKAWA机器人操作不稳定、错误代码频繁出现、某些功能失效或整体性能下降等。通过仔细观察和诊断,可以确定问题是否源自电路板。 在工业机器人领域,广州子锐机器人技术有限公…

20222311 2024-2025-1 《网络与系统攻防技术》实验三实验报告

1.实践内容 (1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧正确使用msf编码器,使用msfvenom生成如jar之类的其他文件 veil,加壳工具 使用C + shellcode编程(2)通过组合应用各种技术实现恶意代码免杀 如果成功实现了免杀的,简单语言描述原理,不…

Linux安装Python 3.11

Linux安装python 在Linux上安装Python 3.11,你可以按照以下步骤进行。这些步骤以CentOS为例,但其他Linux发行版的过程大同小异,可能只需稍作调整。 1. 检查Python版本 首先,打开终端,检查系统上是否已安装Python 3.11: python3.11 --version # 或者 python3 --version如果…

java项目自启动方案——jar包做成服务(Windows版本)

需求:公司做的很多项目都是属于客户端—服务器形式,在客户端部分运行了属于面向用户操作的项目jar包,客户端机器就不像服务器那样,经常会遇到重启机器的情况,所以让我们的项目能自启动就是个必须的工作。方案: (1)环境:电脑需要安装Microsoft.NETFramework 4 ,如果有…

echarts 睡眠时间段+日期

效果图:关键方法代码:const initChartDataTwo = (scollectT, dataL) => {//给一个测试的数据 scollectT = [ "2024-10-29", "2024-10-25", "2024-10-24", "2024-10-22", "2024-10-18", "2024-10…

威联通NAS开机报错数据恢复

针对威联通NAS开机报错的数据恢复问题,以下是一些建议的解决步骤和恢复方法: 一、初步检查与诊断 检查硬件状态: 确保NAS设备的电源正常连接,并检查所有硬盘是否都正常工作。 如果可能,尝试重新插拔硬盘或更换故障硬盘。 2.查看错误代码和日志: 登录NAS管理界面(如果还能…

服务器漏洞修复和php一键安装包环境 nginx 安装拓展模块

服务器漏洞修复header头缺失问题https://blog.51cto.com/u_16213703/10249280add_header X-XSS-Protection 1; mode=block;add_header X-Frame-Options SAMEORIGIN;add_header X-Content-Type-Options nosniff;add_header X-Download-Options: noopen;add_header Set-Cookie &q…

为什么要有PDM数据管理系统

企业需要有PDM数据管理系统,是因为它具备如下功能:一、优化数据组织与存储;二、提升团队协作效率;三、确保数据安全与可追溯性;四、加快产品开发周期;五、支持智能决策和数据分析。优化数据组织与存储可以减少重复工作,并确保数据的一致性和可靠性。一、优化数据组织与存…

单据表头录入控件长度调整

单据表头的控件长度,如果单个控件改变长度,就会出现错位的情况,所以只有所有控件长度统一调整才行,方法如下 1、修改安装目录S3\Program目录下Web.Config中的相关配置2、记事本打开web.config找到DefaultSkin,把这个DefaultSkin改成owner 。改成: defaultSkinName="…

Vue组件化–知识补充

全局CSS和局部CSS 当我们需要CSS只在当前的.vue文件中生效可以在style后面添加scoped创建vue项目的方式 1.Vue Cli:vue create 基于--->webpack 2.npm init vue@latest 基于-->vite1.安装一个本地工具:create-vue2.使用create-vue创建一个Vue项目