“非对称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)程序串口终端

“国产双系统”出炉,RK3568J非对称AMP:Linux+RTOS/裸机的更多相关文章

  1. MVC5+EasyUI+EF6+Linq通用权限系统出炉(1)

    1.先晒一下结构吧,

  2. Windows 7硬盘安装CentOS 6.4 双系统 (WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04))

     WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04) 最近在看<鸟哥私房菜:基础学习篇>,觉得很不错,想要用U盘装个windows 7 和 ...

  3. 双系统下利用MbrFix.exe卸载LINUX系统

    前言:  不少同学笔记本都装的有双系统,一般都是LIUNX和WINDOWS的两个系统(由于以前对电脑各种无知)装了双系统,再次,小编就不在阐述双系统地各种不便,再次就强调一下,假若要卸载LINUX的话 ...

  4. MVC5+EasyUI+EF6+Linq通用权限系统出炉--登录(2)

    1.输入验证码后 自动识别验证码并登录.

  5. 从零开始安装搭建win10与ubuntu20.04双系统开发环境——集安装、配置、软件、美化、常见问题等于一体的——超详细教程

    目录 **前言 ** 关于系统安装配置与软件安装 一.Win10安装ubuntu20.04双系统 1.按照自己的需求分区 2.配置软件镜像源 软件包管理工具介绍 更换APT源--使用国内镜像 3.解决 ...

  6. 双系统下,Windows如何正确删除Linux系统

    一般电脑装了双系统,特别是Windows加Linux的电脑,不可以在Windows中直接删了linux,因为一般安装linux的时候,grub都写进了mbr,直接删了Windows就进不了了,除非原来 ...

  7. 【Linux-CentOS】CentOS安装Win双系统后Win启动项丢失及默认启动项修改

    转载自:搁浅bky,有部分更正,建议看此文. 1.Windows启动项消失的原因:   在安装Win7.8/10系统+CentOS7双系统后,默认会将mbr(Main Boot Record)改写为g ...

  8. CentOS 7与 Windows双系统丢失Windows启动项及默认启动项修改

    1.Windows启动项消失的原因:   在安装Win7.8/10系统+CentOS7双系统后,默认会将mbr(Main Boot Record)改写为grub2,默认的CentOS7无法识别Wind ...

  9. ARM开发板实现双系统引导的一种方法——基于迅为iTOP-4412开发板

    前言 本文所用的uboot代码为迅为官方提供,开发板是迅为iTOP-4412开发板.本文如有错误,欢迎指正. 首先,我们确定一下系统启动的流程:首先启动uboot,uboot启动内核并挂载rootfs ...

  10. Windows 10下使用U盘安装Ubuntu双系统

    问题描述:在Windows10下安装Ubuntu. 使用工具:Windows10.Ubuntu16.04 LTS安装包.UltraISO.easyBCD. 操作步骤: 1.安装之前要给Ubuntu分出 ...

随机推荐

  1. Solution Set - NOI真题

    NOI2024 RP++! NOI2018 Day1T1 Link&Submission. 考虑一个最高的水位线使所有点通过没有积水的边就可以连通,也就是求出了一棵海拔的最大生成树.会发现只有 ...

  2. 关于ITIL的习惯性误解

    关于ITIL的习惯性误解 1. ITIL是标准?不是!ITIL本质是一套适合西方社会信息化阶段的 模板原版教材 最佳实践(Best Practice),不是标准. 大量的培训师和咨询顾问将其包装成&q ...

  3. github、gitee冲突配置ssh key

    背景 当有多个git账号时,比如: a. 两个gitee,一个账号是用于公司内部的工作开发,一个账号是自己学习的个人账号: b. 一个github,用于自己进行一些开发活动: 操作: 生成不同的key ...

  4. Seata原理浅析

    前言 Seata是阿里开源的分布式事务解决方案,本文将详细介绍 Seata 的事务模式.原理以及使用.了解之前需清楚什么是分布式事务. 一.什么是 Seata Seata 是一款开源的分布式事务解决方 ...

  5. Chrome 浏览器插件 V3 版本 Manifest.json 文件中 Action 的类型(Types)、方法(Methods)和事件(Events)的属性和参数解析

    一.类型(Types) 一.OpenPopupOptions 1. 属性 windowId: number 可选 打开操作弹出式窗口的窗口 ID.如果未指定,则默认为当前活动窗口. 二.TabDeta ...

  6. unity 新input system 鼠标点在ui上检测的两种方法

    哪种有用就用哪种.EventSystem.current.IsPointerOverGameObject()有可能不好使. using System.Collections.Generic; usin ...

  7. jQuery模态框原理

    <!-- 引入jQuery.js --> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquer ...

  8. HTML——table表格标签

    一.table表格的完整写法 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  9. Django——messages消息框架

    在网页应用中,我们经常需要在处理完表单或其它类型的用户输入后,显示一个通知信息给用户.对于这个需求,Django提供了基于Cookie或者会话的消息框架messages,无论是匿名用户还是认证的用户. ...

  10. 人脸识别库 虹软 客户端 服务端 示例 基于虹软SDK在C/S 模式下的多人脸实时识别(C#)

    https://github.com/18628271760/MultipleFacesProcess 一.前言 虹软开发SDK以来,其免费使用的营销策略,成功降低了中小企业使用人脸识别技术的成本.然 ...