0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RK3562J技术分享 | AMP双系统下的裸核中断嵌套初体验

飞凌嵌入式 2024-07-29 10:11 次阅读

多核异构系统是⼀种使同⼀颗SoC芯片中不同核心分别独立运行不同平台的计算系统。通过合理的处理器核心及外设资源划分,使⼀颗SoC芯片能够独立运行Linux系统和实时性系统,在满足系统软件功能和硬件外设丰富性要求的同时,也满足系统的实时性要求,具有突出的性价比优势和产品体积优势。

1. 瑞芯微多核异构系统

“瑞芯微多核异构系统”是瑞芯微提供的⼀套通用多核异构系统解决方案。

在运行平台方面:

Linux提供标准的Linux Kernel,RTOS提供开源的RT-Thread ,Bare-metal提供基于RK HAL硬件抽象层的裸机开发库。同时,瑞芯微多核异构系统支持客户自行适配更多的运行平台,例如可以基于RK HAL硬件抽象层适配指定的RTOS等。

在处理器核心方面

瑞芯微多核异构系统支持SoC中同构的ARM Cortex-A核心独立运行。也支持SoC中异构的ARM Cortex-M或RISC-V核心独立运行。瑞芯微多核异构系统通过合理的处理器核心资源划分,将适当的任务分配到最适合的核心进行处理,从而使SoC发挥出更优秀的性能和能效表现。

目前,瑞芯微多核异构系统采用无监督的AMP方案。不使用虚拟化管理,从而在运行实时性系统时获得更快的中断响应,以满足电力、工控等行业应用中严苛的硬实时性要求。

2. RK3562J处理器核心及AMP支持情况

处理器核心

wKgZomam-kCAZ86MAACAMD8cXz841.jpeg

AMP支持情况

wKgaomam-j-AWD7HAACFJnHetlg19.jpeg

3. 中断嵌套机制

中断嵌套是一种有效的中断处理机制,它允许系统根据中断的优先级来响应和处理中断,从而确保关键任务能够及时得到处理,具有实时性高、灵活性好、响应快速等特点,但传统的Linux系统为了简化设计、提高系统的稳定性和可预测性、减少资源竞争和死锁等风险、以及提高兼容性和可维护性,不支持中断嵌套。这种设计选择使得Linux内核在许多应用场景中表现出色,但对于高实时性场景下的应用就显得力不从心了。

4. 案例实践分享

开发板型号:OK3562J-C

资料版本:OK3562-C_Linux 5.10.198_用户资料_R1

测试思路:

使用两个GPIO,分别为GPIO4B1和GPIO0B0,其中GPIO4B1设置为输出,GPIO设置为输入并且中断配置为下降沿触发。硬件上短接GPIO4B1和GPIO0B0。

使用Timer4定时器每秒产生一个定时器中断,在中断处理函数中控制GPIO4B1产生一个下降沿并延时,如果出现了GPIO0B0中断处理函数中的打印信息则证明成功发生了中断抢占。

测试步骤:

(1)编写测试程序fltest_irq_preempt.c开启TIEMR4和GPIO0B0的中断并且将GPIO0B0配置为下降沿触发,在定时器中断处理函数中将GPIO4B1拉高拉低,使之触发GPIO0B0的中断,在GPIO0B0的中断处理函数中打印一句话来表明当前进入了GPIO0B0的中断;

(2)修改中断路由,添加TIMER4和GPIO0的中断并使之绑定给CPU3,并设置TIMER4的中断优先级高于GPIO0;

(3)重新编译镜像并烧写;

(4)在uboot菜单中打开AMP并重启OK3562J-C开发板,此时RTOS调试串口打印如下:

wKgZomam-j-AFrWUAACf2ue6Mzg49.jpeg

按tab键可以打印出当前的所有命令:

wKgaomam-j-ASaQVAAB5AmO0ltY84.jpeg

可以看到我们的命令已经注册成功了。

现在执行我们刚刚编写的fl_irq_test这条命令,即可看到效果:

wKgaomam-j-Ae4gxAAAo-_BYyJA68.jpeg

可以看到GPIO0B0的中断抢占了当前的TIMER4中断。

我们将二者的优先级调换一下再重新编译烧写,然后再次执行该程序,可以看到GPIO0B0的中断在TIMER4中断结束之后才被处理,未发生抢占。

wKgaomam-kCAWXXeAAArE_dbVBI53.jpeg
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 瑞芯微
    +关注

    关注

    23

    文章

    374

    浏览量

    51040
  • Amp
    Amp
    +关注

    关注

    0

    文章

    77

    浏览量

    47082
  • 双系统
    +关注

    关注

    0

    文章

    7

    浏览量

    5982
  • 中断嵌套
    +关注

    关注

    0

    文章

    7

    浏览量

    6820
  • RK3568
    +关注

    关注

    4

    文章

    475

    浏览量

    4692
收藏 人收藏

    评论

    相关推荐

    延时仅33us,Linux-RT实时性能测试分享—基于瑞芯微RK3562J国产平台

    ](基于RK3562_LINUX_SDK_RELEASE_V1.1.0_20231220) RK3562J实时性测试数据本文使用Cyclictest延迟检测工具测试Linux系统实时性,分别在CPU空载
    发表于 08-22 13:51

    新一代低价开发板芯片RK3562来啦! — 触觉智能RK3562开发板

    3566,RK3568之类的,咋最近还出了个RK3562啊。这个RK3562可以认为是RK3568的低配版,可以进一步的降低价格。RK3562
    的头像 发表于 08-15 17:42 593次阅读
    新一代低价开发板芯片<b class='flag-5'>RK3562</b>来啦! — 触觉智能<b class='flag-5'>RK3562</b>开发板

    RK3562对比RK3568有何不同?

    迅为iTOP-RK3562核心板资料怎么样?
    的头像 发表于 08-15 10:45 174次阅读
    <b class='flag-5'>RK3562</b>对比<b class='flag-5'>RK</b>3568有何不同?

    RK3562J技术分享 | 使用SPI挂载数字式RTD温度传感器的方法

    在OK3562J-C开发板上使用SPI2挂载MAX31865(数字式RTD温度传感器)设备的方法
    的头像 发表于 08-06 14:26 914次阅读
    <b class='flag-5'>RK3562J</b><b class='flag-5'>技术</b>分享 | 使用SPI挂载数字式RTD温度传感器的方法

    如何在RK3562JAMP双系统实现中断嵌套机制

    AMP方案。不使用虚拟化管理,从而在运行实时性系统时获得更快的中断响应,以满足电力、工控等行业应用中严苛的硬实时性要求。 2. RK3562J处理器核心及
    发表于 07-29 16:29

    新品发布 ▏全新国产多核异构瑞芯微RK3562J核心板,低功耗,高性价比,引领高效能“芯”时代

    ]HZ-CORE-RK3562J-S核心板其主处理器为四Cortex-A53,辅以独立的Cortex-M0控制核心,主频高达1.8GHz,兼具强大计算能力与高能效,适用于各种高
    的头像 发表于 07-26 17:52 583次阅读
    新品发布 ▏全新国产多核异构瑞芯微<b class='flag-5'>RK3562J</b>核心板,低功耗,高性价比,引领高效能“芯”时代

    3562-Linux系统启动卡制作及系统固化

    本帖最后由 Tronlong创龙科技 于 2024-8-6 16:45 编辑 评测试板卡介绍 创龙科技TL3562-EVM是一款基于瑞芯微RK3562J/RK3562处理器设计的四
    发表于 07-17 11:02

    3562-物联网模块开发案例

    本帖最后由 Tronlong创龙科技 于 2024-8-6 16:46 编辑 评测试板卡介绍 创龙科技TL3562-EVM是一款基于瑞芯微RK3562J/RK3562处理器设计的四
    发表于 07-17 11:00

    3562-评估板测试手册

    本帖最后由 Tronlong创龙科技 于 2024-8-6 16:47 编辑 评测试板卡介绍 创龙科技TL3562-EVM是一款基于瑞芯微RK3562J/RK3562处理器设计的四
    发表于 07-17 10:59

    迅为国产四RK3562开发板底板硬件接口原理说明

    迅为国产四RK3562开发板底板硬件接口原理说明
    的头像 发表于 06-14 15:27 763次阅读
    迅为国产四<b class='flag-5'>核</b><b class='flag-5'>RK3562</b>开发板底板硬件接口原理说明

    RK3568开发板支持AMP双系统

    RK3568开发板支持AMP双系统
    的头像 发表于 06-04 15:33 384次阅读
    <b class='flag-5'>RK</b>3568开发板支持<b class='flag-5'>AMP</b><b class='flag-5'>双系统</b>

    深度对比!瑞芯微RK3562JRK3568J好在哪里?

    了新的需求——寻找在性能和接口基本保持不变的情况,能有效降低产品成本、功耗的方案。因而RK3562J作为RK3568J的降本降功耗方案隆重登场!创龙科技基于瑞芯微
    的头像 发表于 04-29 08:07 404次阅读
    深度对比!瑞芯微<b class='flag-5'>RK3562J</b>比<b class='flag-5'>RK3568J</b>好在哪里?

    iCore-3562JQ 工业级核心板

    采用Rockchip高性能低功耗、四64位工业级处理器RK3562J,最大可配8GB大内存;采用BTB接口,传输能力更强;拥有工业级的稳定性,在-40°C至85°C工作温度可长时间运行;拥有丰富
    的头像 发表于 03-05 08:02 449次阅读
    iCore-<b class='flag-5'>3562</b>JQ 工业级核心板

    “国产双系统”出炉,RK3568J非对称AMP:Linux+RTOS/裸机

    /ROM/RAM/PMIC),系统硬件成本成倍增加。 RK3568J非对称AMP开发案例 创龙科技RK3568J工业核心板(SOM-TL3568)已提供了非对称
    发表于 12-01 09:35

    “国产双系统”出炉,RK3568J非对称AMP:Linux+RTOS/裸机

    “非对称AMP双系统是什么AMP(AsymmetricMulti-Processing),即非对称多处理架构。“非对称AMP双系统是指多
    的头像 发表于 09-13 08:07 1175次阅读
    “国产<b class='flag-5'>双系统</b>”出炉,<b class='flag-5'>RK3568J</b>非对称<b class='flag-5'>AMP</b>:Linux+RTOS/裸机