“非对称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. 1.简单的C语言程序

    简单的C语言程序 什么是计算机程序? 什么是计算机语言? 所谓程序,就是一组计算机能识别和执行的指令. 什么是计算机语言? 机器语言(0,1 '低级语言'),汇编语言(符号化 '低级语言'),高级语言 ...

  2. Table 实现固定行和固定列

    需要用到的2个属性 table-layout : fixed position : sticky table-layout table-layout属性有两种特定值: auto(预设值)-表格的总宽度 ...

  3. String.split()遇到空字符串不解析的情况

    1.split的api说明 stringObj.split([separator,[limit]]) stringObj:要被分解的 String separator:字符串或正则表达式对象 limi ...

  4. 鸿蒙Blank

    Blank组件占剩余空间,类似占位组件一样

  5. uniapp有意思的api之openSetting

    点击查看代码 <details> <summary>解决用户拒绝授权问题</summary> uni.openSetting({ success(res) { co ...

  6. 全面系统的AI学习路径,帮助普通人也能玩转AI

    前言 现如今AI技术和应用的发展可谓是如火如荼,它们在各个领域都展现出了巨大的潜力和影响力.AI的出现对于我们这些普通人而言也是影响匪浅,比如说使用AI工具GPT来写文档查问题.使用AI辅助编程工具帮 ...

  7. CSS---鼠标悬浮时逐渐变大样式

    .tuijian_2:hover{ transform: scale(1.3); transition: all 1s; }

  8. nginx日志缓存open_log_file_cache

    nginx日志缓存,提升磁盘性能 将多个日志进行积累,达到一定量级后写入到磁盘,可以减少磁盘旋转,从而降低磁盘i/o,提升nginx能效 语法: access_log path access_log ...

  9. [SWPUCTF 2021 新生赛]gift_F12

    首先我们打开环境会发现花里胡哨的,而题目中有提示:F12,所以我们直接F12查看源码 然后ctrl+f信息检索flag.直接找到flag提交 但要注意提交格式为NSSCTF{}

  10. 程序员面试金典-面试题 01.03. URL化

    题目: URL化.编写一种方法,将字符串中的空格全部替换为%20.假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的"真实"长度.(注:用Java实现的话,请使用字符数组实 ...