AMP“双系统”加持,飞凌嵌入式RK3568核心板强实时性再升级

如果要选出飞凌嵌入式最热门的几款产品,FET3568-C系列核心板一定榜上有名。这款高性价比的全能型核心板上市两年来已赢得了数千家客户的青睐。飞凌嵌入式也在不断对它进行升级——从“配置新增”到“100%国产化认证”再到“新系统适配”,以满足更多行业客户的需求。

近期,飞凌嵌入式FET3568-C系列核心板再度迎来新升级——支持“AMP”双系统

1、什么是“AMP”

AMP(非对称多处理)简单来说就是:多核处理器的每个核之间相互隔离,可以相对独立地运行不同的操作系统或裸机程序。这种运行模式比较适合高实时性的应用。

2、FET3568-C核心板AMP

飞凌嵌入式FET3568-C核心板搭载的RK3568处理器采用四核Cortex-A55架构,从架构上看属于“同构多核架构”。

RK3568的AMP SDK与Linux SDK相比,区别在于Linux SDK中使用的是SMP(对称多处理)模式,即只运行一个Linux操作系统,在该操作系统中管理全部四个核;而AMP SDK使用AMP的模式,四个核心中的三个核心共同运行一个Linux操作系统,另一个核心单独运行裸机程序

由于高实时性任务是由运行裸机程序的核心专门处理的,所以这种运行模式可以很好地满足如电力互联网、电网继电保护、电力系统安全控制、工业自动化等领域的高实时性需求。

3、更低成本,更高实时性,更具优势

(1) 更低成本:

为了解决Linux系统主控实时性不足的问题,在传统应用中通常会采取外挂单片机的方式专门执行高实时性的程序。

而采用AMP系统就可以舍弃掉外置的单片机,在FET3568-C核心板上,可以将四个A55核中的一个核心分离出来作为实时核单独运行RT-Thread或裸机程序——只用一颗芯片就能够完成所有的工作,降低了硬件成本。

(2) 高实时性:

由于Linux系统实时性较低,所以无法用来执行对实时性要求高的任务。而裸机程序或者实时操作系统的实时性远高于Linux系统,同时也得益于FET3568-C核心板最高2.0GHz的高主频,运行实时操作系统的A55核也可以拥有很强的实时性。

4、核间通信

与其它多核异构架构的处理器相同,AMP也使用共享内存的方式在A核(Linux)与实时核(裸机或实时操作系统)之间进行数据传输。

通过物理内存DDR分配,将硬件层分为了两部分:TXVring Buffer(发送虚拟环状缓冲区)和RXVring Buffer(接收虚拟环状缓冲区);其中实时核从TXVring区发送数据,从RXVring区读取接收数据,A核反之。

5、AMP使用示例

目前飞凌嵌入式FET568-C核心板已提供GPIO、UART、SPI接口的使用示例,使用RPMSG进行核间通信。其它接口还在适配中,之后会陆续开放。裸机程序可以在提供的工具中使用JLINK仿真调试。

下面简要介绍一下裸机程序中UART接口的使用示例:

(1) 硬件连接

本示例使用的是UART5,使用跳线帽将OK3568-C开发板上的TX5与RX5短接。

(2) 设备树配置

为了防止Linux占用UART5的资源导致实时核无法使用UART5,需要先在设备树上的rockchip_amp节点添加对UART5的资源保护,包括时钟和pinctrl。

clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>,

pinctrl-names = “default”, ”uart5”;

pinctrl-1 = <&uart5m1_xfer>;

(3) 裸机程序的配置

UART接口使用介绍:

// 管脚配置:选择UART5的收发管脚。/* uart5 tx */
HAL_PINCTRL_SetIOMUX(GPIO_BANK3, GPIO_PIN_C2, PIN_CONFIG_MUX_FUNC4);
/* uart5 rx */
HAL_PINCTRL_SetIOMUX(GPIO_BANK3, GPIO_PIN_C3, PIN_CONFIG_MUX_FUNC4);
/* uart5 m1 */
HAL_PINCTRL_IOFuncSelForUART5(IOFUNC_SEL_M1);
// 通讯配置:波特率为115200,无校验,数据位8位,无流控,停止位1位。
/* uart5 config */
struct HAL_UART_CONFIG demo_uart_config = {
.baudRate = UART_BR_115200, // 波特率
.dataBit = UART_DATA_8B, // 数据位
.stopBit = UART_ONE_STOPBIT, // 停止位
.parity = UART_PARITY_DISABLE, // 校验
};
HAL_UART_Init(&g_uart5Dev, &demo_uart_config);
中断使能:配置并使能接收超时中断。
HAL_IRQ_HANDLER_SetIRQHandler(UART5_IRQn, uart5_isr, NULL);
HAL_GIC_Enable(UART5_IRQn);
HAL_UART_EnableIrq(g_uart5Dev.pReg, UART_IER_RDI);
// 执行流程
// 初始化完成后,会先发送一串数据。如果接收到数据,触发中断,然后将接收的数据从调试串口发送出来。
// 中断回调函数 int iir = 0;
iir = HAL_UART_GetIrqID(g_uart5Dev.pReg);
if (iir & UART_IIR_RX_TIMEOUT) {
do {
ret = HAL_UART_SerialIn(g_uart5Dev.pReg, &c, 1);
if (ret)
printf("%02x ", c);
} while (ret);
printf(“\n”);
}

示例使用:

根据OK3568-C开发板产品资料中提供的手册,在裸机程序的main函数中调用我们编写好的使用例程。

实验现象:

按照手册编译烧写完程序后,打开串口调试助手,打开对应串口,可以看到OK3568-C开发板开机后程序发出的数据。

在串口调试助手,输入任何数据并发送,触发接收中断,从实时核调试串口(uart4)就可以看到输入的数据了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Flutter GetX 之 国际化

今天给大家介绍一下 GetX 的国际化功能,在日常开发过程中,我们经常会使用到国际化功能,需要们的应用支持 国际化,例如我们需要支持 简体、繁体、英文等等。 上几篇文章介绍了GetX的 路由管理 和 状态管理,看到大家的点赞和收藏,还是很开心的,说明这两篇文章给大家起到了…

RPA发送预警短信,新加坡警方与4家银行联合,避免约6943万美元损失

近日&#xff0c;新加坡警方反诈骗中心&#xff08;ASC&#xff09;联合包括星展银行、大华银行、华侨银行和渣打银行在内的四家银行&#xff0c;共同运用机器人流程自动化&#xff08;RPA&#xff09;技术&#xff0c;针对就业、投资等类型的诈骗行为&#xff0c;有效识别受害…

编写RedisUtil来操作Redis

目录 ​编辑 Redis中文网 第一步&#xff1a;建springboot项目 第二步&#xff1a;导依赖 第三步&#xff1a;启动类 第四步&#xff1a;yml 第五步&#xff1a;Redis配置类 第六步&#xff1a;测试类 第七步&#xff1a;编写工具类 RedisUtil 第八步&#xff1a;编写…

MySQL视图索引基础练习

表定义 学生表&#xff1a;Student (Sno, Sname, Ssex , Sage, Sdept) 学号&#xff0c;姓名&#xff0c;性别&#xff0c;年龄&#xff0c;所在系 Sno为主键 课程表&#xff1a;Course (Cno, Cname,) 课程号&#xff0c;课程名 Cno为主键 学生选课表&#xff1a;SC (Sno, C…

码云星辰:未来运维的技术交响曲

&#x1f6a9;本文介绍 ​ 随着信息技术的迅猛发展&#xff0c;运维领域正经历着翻天覆地的变革。未来的运维工程师将需要拥有更广泛、更深入的技能&#xff0c;以适应日益复杂和多变的系统环境。本文将深入探讨运维未来的行业发展趋势&#xff0c;并详细分析需要掌握的关键技…

【性能优化】GSON解性能瓶颈分析

一、背景 GSON是Google提供的开源库&#xff0c;使用很便捷&#xff0c;但是在使用过程中也发现了其短板。在Bean类结构复杂时&#xff0c;进行反序列化耗时较长&#xff0c;尤其是很多在应用启动阶段需要反序列化一些内置的数据时&#xff0c;很让人头疼&#xff0c;通过抓Tra…

学生云服务器_学生云主机_学生云数据库_云+校园特惠套餐

腾讯云学生服务器优惠活动&#xff1a;轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年&#xff0c;轻量应用服务器4核8G配置112元3个月、352.8元6个月、646.8元一年&#xff0c;CVM云服务器2核4G3M公网带宽配置842.4元一年&#xff0c;腾讯云服务器网txyfwq.com分享…

力扣电话号码的组合

文章目录 题目说明做题思路代码实现代码解析 题目链接 题目说明 首先我们先分析一下这个题目题目中说呢先给出一个字符串这个字符串其实就是这个九键数字我们要按照要求将数字所代表的字符进行自由组合形成一个字符串并且这个字符串的长度和输入的数字字符串长度相同&#xff0…

element-ui tree树形结构全选、取消全选,展开收起

控制树形结构全选、取消全选&#xff0c;展开收起 <template><div><!-- 添加 ref"tree" 属性--><el-tree:data"data"show-checkboxdefault-expand-allnode-key"id"ref"tree"highlight-current:props"defa…

使用Python操纵Word自动编写离职报告

目录 一、背景介绍 二、技术原理 三、实现步骤 1、安装python-docx库 2、创建Word文档 3、添加标题和内容 4、添加表格和图片 5、设置样式和格式化文本 6、保存文档 四、注意事项与建议 总结 随着现代社会的发展&#xff0c;自动化和智能化已经成为各行各业追求的目…

Pytorch各种Dropout层应用于详解

目录 torch框架Dropout functions详解 dropout 用途 用法 使用技巧 参数 数学理论公式 代码示例 alpha_dropout 用途 用法 使用技巧 参数 数学理论公式 代码示例 feature_alpha_dropout 用途 用法 使用技巧 参数 数学理论 代码示例 dropout1d 用途 用…

每日一记:一个windows的bat脚本工具集

最近在工作上遇到要校验文件的问题&#xff0c;例如&#xff0c;下载了一个文件之后&#xff0c;通过查看文件的md5来校验文件是否完整&#xff0c;这个动作在linux上很简单&#xff0c;但在windows上也不难&#xff0c;可以通过 certutil 命令实现&#xff0c;该命令通常可用于…

vue流程图

效果图 组件 <template><div class="processBox" v-if="list.length"><div class="childs"><div class="child" v-for="(item,index) in list" :key="item.id +-child-+index"><div…

指定Top名校|管理学教师拜师香港理工大学院士麾下访学

X老师拟自费赴香港访学&#xff0c;并指定了香港Top5之内的高校。申请一个月后&#xff0c;我们落实了香港理工大学的访学职位&#xff0c;导师为香港工程科学院和国际系统与控制科学院的两院院士、讲座教授。 X老师背景&#xff1a; 申请类型&#xff1a;自费访问学者 工作背…

迷你洗衣机哪个牌子好用?家用小型洗衣机推荐

迷你洗衣机主要分为立式洗衣机、壁挂式洗衣机&#xff0c;在特定的情况下是能够为用户提供一定的方便的。就好比如说宝宝的衣物需要和大人的分开洗&#xff0c;或者我们日常都所要清洗内衣裤、袜子等等这些贴身的衣物&#xff0c;直接将这些小件的衣物放进到迷你洗衣机中分类单…

2024“华数杯”国际赛(B题ICM)|光伏发电|国际大学生数学建模竞赛建模解析,小鹿学长带队指引全代码文章与思路

我是小鹿学长&#xff0c;就读于上海交通大学&#xff0c;截至目前已经帮200人完成了建模与思路的构建的处理了&#xff5e; 完整内容可以在文章末尾领取&#xff01; 问题重述 这个问题涉及创建一个数学模型&#xff0c;以解决与光伏发电和中国电力供应相关的各个方面。 电…

计算机网络-甘晴void学习笔记

计算机网络 计科210X 甘晴void 202108010XXX 文章目录 计算机网络期中复习1计算机网络和因特网1.1 因特网1.2 网络边缘1.3 网络核心1.4 分组交换的时延/丢包和吞吐量1.5 协议层次与服务模型 2 应用层原理2.1 应用层协议原理2.2 Web和Http2.3 因特网中的电子邮件2.4 DNS&#x…

史星海先生入选 2024中英双语版《世界名人录》【综合22卷·文化卷】(中国)

史星海(中国) Shi Xinghai (China) 经海内外各界名人及世界相关权威文化机构的大力举荐&#xff0c;鉴于史星海先生在国内外文艺&#xff0c;经济&#xff0c;政治等领域的重大影响力&#xff0c;荣幸获得入编大型人物辞书2024中英双语版《世界名人录》&#xff08;综合卷文化…

Open CASCADE学习|显示模型

目录 1、编写代码 Viewer.h Viewer.cpp ViewerInteractor.h ViewerInteractor.cpp helloworld.cpp 2、配置 3、编译运行 1、编写代码 Viewer.h #pragma once ​ #ifdef _WIN32 #include <Windows.h> #endif ​ // Local includes #include "ViewerInteract…

各省快递量数据, shp+excel,2001-2021年,已实现数据可视化

基本信息. 数据名称: 各省快递量数据 数据格式: shpexcel 数据时间&#xff1a;2001-2021年 数据几何类型: 面 数据坐标系: WGS84 数据来源&#xff1a;网络公开数据 数据字段&#xff1a; 序号字段名称字段说明1a_2001快递量/万件_2001年2a_2002快递量/万件_2002年3…