前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >“国产双系统”出炉!复旦微FMQL20SM非对称AMP:Linux + 裸机

“国产双系统”出炉!复旦微FMQL20SM非对称AMP:Linux + 裸机

原创
作者头像
创龙科技Tronlong
发布于 2025-01-20 06:25:47
发布于 2025-01-20 06:25:47
1120
举报

“非对称AMP”双系统是什么

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

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

“非对称 AMP” 对工业的重大意义

更强“系统实时性”

在工业自动化控制的复杂场景中,对于系统实时性的要求极高。非对称AMP架构凭借其独特优势,能够运用固定的核心来处理实时任务,很好兼顾复杂功能与实时性需求。AMP架构全面提升了系统实时性、执行效率、计算能力以及响应速度,让工业生产更加精准、高效。

更高“系统稳定性”

非对称AMP架构在稳定性方面表现卓越。无需多个分立CPU之间频繁交互数据,每个处理器核心拥有属于自己的内存,核心之间互不干扰。开发者可灵活分配任务或指定核心间通信,大大增强了系统稳定性,有效减少崩溃风险,全方位保障数据的完整性。

更低“系统硬件成本”

成本控制一直是工业领域关注的重点。非对称AMP架构通过优化内部通信,仅需一套硬件电路即可实现复杂功能,显著降低系统硬件成本。其各核心能运行不同操作系统,并行处理多个任务,无需额外硬件支持,真正做到了高效且经济。相比之下,采用分立CPU方案则需要两套硬件电路(CPU/ROM/RAM/PMIC),系统硬件成本成倍增加。

图 2
图 2

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

随着嵌入式系统的发展,对其性能和功能的要求日益提高,非对称AMP架构如今已成为一种新选择,主要应用于工业领域,如电力DTU、数据采集器、继电保护设备、运动控制器、驱控一体控制器等。

图 3
图 3

FMQL20S400M 非对称AMP开发案例

接下来,为大家详细介绍基于FMQL20S400M异构多核SoC处理器PS端的AMP通信案例,适用开发环境如下。

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

Linux开发环境:Ubuntu 16.04.5 64bit

虚拟机:VMware16.2.5

PL端开发环境:Procise 2023.1

LinuxSDK:FMQL-Linux-SDK-Prj-20230801

U-Boot:U-Boot-2018.07

Kernel:Linux-4.14.55

硬件平台:创龙科技TLFM20S-EVM工业评估板

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

基于Linux启动AMP裸机程序

案例功能

本案例主要实现如下的功能:

(1)配置CPU0、CPU1、CPU2运行Linux系统,配置CPU3运行裸机程序。

(2)运行Linux系统的CPU核功能为:初始化系统;控制运行裸机程序的CPU核启动;与运行裸机程序的CPU核通信,控制LED亮灭。

(3)运行裸机程序的CPU核功能为:与Linux系统通信;接收Linux系统的控制命令,并根据命令控制LED亮灭。

案例演示

首先,请将案例的可执行程序拷贝至评估板文件系统任意目录下,参考产品资料进行环境配置,完成后,执行以下命令,加载裸机程序至PS端DDR地址0x19000000。

备注:我司提供的Linux系统已在PS端DDR内存中分配AMP裸机程序的内存空间,地址范围为0x1900 0000 ~ 0x19FF FFFF,容量为16MByte。

Target# ./filetomem ./amp_led_ctrl.bin 0x19000000

图 4
图 4

执行如下命令,设置CPU3核运行裸机程序。

Target# ./amp 3 0x19000000

图 5
图 5

执行如下命令,运行Linux端AMP应用程序,点亮或熄灭评估底板PS端LED1。

Target# ./led 1 on

Target# ./led 1 off

图 6
图 6

基于U-Boot启动AMP裸机程序

案例功能

本案例主要实现如下的功能:

(1)CPU0启动U-Boot,基于U-Boot配置CPU1/CPU2/CPU3其中一个核心运行裸机程序。

(2)CPU0功能为:初始化系统,控制运行裸机程序的CPU核启动。

(3)运行裸机程序的CPU核功能为:控制LED亮灭。

案例演示

首先,请将Linux系统启动卡通过读卡器插至PC机USB端口,并将案例的amp_led_flash.bin文件拷贝至Linux系统启动卡BOOT分区(FAT32格式)。

图 7
图 7

然后,在插入Linux系统启动卡后,启动评估板,进入U-Boot命令行,执行如下命令。加载Linux系统启动卡中的裸机程序至DDR地址0x19000000,并设置CPU3运行裸机程序。

U-Boot> dcache off

U-Boot> fatload mmc 0 0x19000000 /amp_led_flash.bin

U-Boot> bootamp 3 0x19000000

图 8
图 8

程序运行后,您就能看到评估底板PS端LED1每隔0.5s闪烁,是不是很神奇?

如果各位工程师想要了解更多 FMQL20SM 相关的案例演示,可以通过公众号(Tronlong创龙科技)查看,快来探索吧!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Oracle 11.2.0.4 DataGuard 环境打PSU,OJVM PSU补丁快速参考
环境:RHEL6.5 + Oracle 11.2.0.4 DataGuard physical standby 主库和备库都是单节点。 需求:主备库同时应用160719的PSU和OJVM PSU补丁。
Alfred Zhao
2019/05/24
8790
ADG级联备库环境PSU应用验证
我只在中间备库环境应用了PSU,解决了级联备库从中间备库duplicate数据库的问题:
Alfred Zhao
2023/05/27
2680
Oracle 11g RAC 应用补丁简明版
之前总结过《Oracle 11.2.0.4 RAC安装最新PSU补丁》, 这次整理为简明版,忽略一切输出的显示,引入一些官方的说明,增加OJVM PSU的补丁应用。
Alfred Zhao
2019/05/24
8690
【PSU】AIX 11g RAC自动打GI PSU5
一.3.3 安装PSU的一般性步骤 每个PSU安装包中都包含一个README.html或README.TXT文档,其中描述了如何安装该PSU,有些PSU是可以直接安装的,而有些PSU则必须要求安装了上一个版本的PSU之后才能继续安装。比如对于10.2.0.4版本的数据库来说,PSU 10.2.0.4.4可以直接安装在最原始的10.2.0.4.0版本中,而最新的PSU 10.2.0.4.8则必须要求先安装10.2.0.4.4。这些信息在README.html中都可以找到,所以请仔细阅读该文档。 通常安装PSU
jeanron100
2018/03/19
8450
Oracle 11g RAC 自动应用PSU补丁简明版
环境:Oracle RAC(GI 11.2.0.4 + DB 11.2.0.4) 本文应用补丁信息: Patch 23615403 - Combo of OJVM Component 11.2.0.4.160719 DB PSU + GI PSU 11.2.0.4.160719 (Jul2016)
Alfred Zhao
2019/05/24
8340
【ACDU推荐好文】手把手教你 DBCA 搭建 Oracle ADG
Oracle Data Guard是Oracle MAA (Maximum Availability Architecture)中的成员之一。从Oracle 7i版本开始推出STANDBY DATABASE的概念,慢慢受到大家的欢迎。随着Oracle数据库版本的更迭,搭建备库的方式多种多样。今天介绍一种创建物理备库的新方式,从12C版本开始推出:使用 DBCA 命令行。
数据和云
2021/07/09
9000
ADG单实例搭建系列之 (DBCA)
参考官方文档12c:Using DBCA to Create a Data Guard Standby 12C
Lucifer三思而后行
2021/08/17
1.7K0
ADG单实例搭建系列之 (DBCA)
【DB笔试面试855】在Oracle中,简单说说PSU升级的过程
首先需要了解一些有关PSU(Patch Set Update)、CPU(Critical Patch Update)、BP(Bundle Patch)等概念,参考下表:
AiDBA宝典
2020/08/13
6250
【DB笔试面试855】在Oracle中,简单说说PSU升级的过程
Oracle 11gR2 RAC 11.2.0.4 全自动打11.2.0.4.20170418 psu 步骤
说明:此次环境的patch p6880880_112000_Linux-x86-64.zip 和 p25476126_112040_Linux-x86-64.zip均放在/soft目录,
星哥玩云
2022/08/16
5890
Oracle 11.2.0.4单实例打PSU,OJVM PSU补丁快速参考
本次环境: RHEL 6.5 + Oracle 11.2.0.4 单实例 目前最新的PSU: 补丁程序23054359: DATABASE PATCH SET UPDATE 11.2.0.4.160719 目前最新的OJVM PSU: 补丁程序23177551: OJVM PATCH SET UPDATE 11.2.0.4.160719
Alfred Zhao
2019/05/24
1.2K0
Oracle 11G ADG 搭建 RAC to Single 详细教程(RMAN DUPLICATE)
经过交流群中朋友的多次要求,这次给大家分享一下 RAC to Single 的 ADG 搭建教程!
Lucifer三思而后行
2022/01/08
2K0
Oracle 11G ADG 搭建 RAC to Single 详细教程(RMAN DUPLICATE)
ADG单实例搭建系列之(Active Database Duplicate Using Image Copies)
参考自:Data Guard Physical Standby Setup in Oracle Database 11g Release 2
Lucifer三思而后行
2021/08/17
6490
ADG单实例搭建系列之(Active Database Duplicate Using Image Copies)
Oracle 11GR2 RAC 最新补丁 190416 安装指导
近期,由于 Oracle 发布了第一季度的补丁程序包,而安全又被重视了很多,那么我们运维的数据库则需要打升级补丁,避免被扫描到漏洞。天天在打补丁,连做梦都是,这里总结分享一下,避免后人踩坑,需要的可仔细阅读实践。
JiekeXu之路
2019/06/20
2K0
Oracle 11GR2 RAC 最新补丁 190416 安装指导
ADG单实例系列搭建之(Data Guard Broker)
ADG单实例搭建系列之(Active Database Duplicate Using Image Copies)
Lucifer三思而后行
2021/08/17
1.2K0
ADG单实例系列搭建之(Data Guard Broker)
19c ADG Switchover 切换测试
背景: 环境未配置DG Broker,手工切换ADG,19c也要比11g时代的切换更简单。 使用自己的测试环境,具体可参见: 单实例Primary快速搭建Standby RAC参考手册(19.16 ADG)
Alfred Zhao
2023/03/07
4430
部署19c ADG过程中的问题处理
回忆起来也是有些年没亲自动手搭建ADG了,今天正好有个机会重温,客户环境是19.16,恍惚记得上一次搭ADG还是在11.2.0.4的时代,时光荏苒啊。 正好看下19c的ADG和11g的ADG在部署方面有啥不同? 主备库都是RAC架构,数据库是CDB架构,包含有4个PDB,整个搭建过程还是遇到很多小问题,但基本也都知道原因并能快速解决,也有个别折腾了很久的,蛮有意思,所以记录下本次遇到的问题供日后参考,客户信息已脱敏。
Alfred Zhao
2022/11/28
9130
模拟生产搭建Standby RAC实验环境(11.2.0.4 DG)
目前,我有一套正常运行的Oracle 11.2.0.4 RAC实验环境。这是一套VirtualBox的虚拟化环境,整套环境均放在我的台式机服务器的D盘(SSD固态盘)。也就是说,这套RAC环境的系统磁盘和共享磁盘均在本地D盘。
Alfred Zhao
2019/05/24
9080
ADG单实例系列搭建之(RMAN备份恢复)
参考文章:Data Guard Physical Standby Setup in Oracle Database 11g Release 2
Lucifer三思而后行
2021/08/17
1.3K0
ADG单实例系列搭建之(RMAN备份恢复)
Oracle 11.2.0.4 RAC安装最新PSU补丁
环境:两节点RAC(RHEL 6.4 + GI 11.2.0.4 + Oracle 11.2.0.4) 需求:安装最新PSU补丁11.2.0.4.7
Alfred Zhao
2019/05/24
3.1K0
单实例Primary快速搭建Standby RAC参考手册(19.16 ADG)
上述为这里我做为演示环境的基本规划。 本文作为step by step的快速指导手册,方便快速部署此类ADG环境。
Alfred Zhao
2023/03/06
3960
相关推荐
Oracle 11.2.0.4 DataGuard 环境打PSU,OJVM PSU补丁快速参考
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档