多核异构系统是⼀种使同⼀颗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](https://file1.elecfans.com/web2/M00/FF/0E/wKgZomam-kCAZ86MAACAMD8cXz841.jpeg)
AMP支持情况
![wKgaomam-j-AWD7HAACFJnHetlg19.jpeg](https://file1.elecfans.com/web2/M00/FF/F7/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](https://file1.elecfans.com/web2/M00/FF/0E/wKgZomam-j-AFrWUAACf2ue6Mzg49.jpeg)
按tab键可以打印出当前的所有命令:
![wKgaomam-j-ASaQVAAB5AmO0ltY84.jpeg](https://file1.elecfans.com/web2/M00/FF/F7/wKgaomam-j-ASaQVAAB5AmO0ltY84.jpeg)
可以看到我们的命令已经注册成功了。
现在执行我们刚刚编写的fl_irq_test这条命令,即可看到效果:
![wKgaomam-j-Ae4gxAAAo-_BYyJA68.jpeg](https://file1.elecfans.com/web2/M00/FF/F7/wKgaomam-j-Ae4gxAAAo-_BYyJA68.jpeg)
可以看到GPIO0B0的中断抢占了当前的TIMER4中断。
我们将二者的优先级调换一下再重新编译烧写,然后再次执行该程序,可以看到GPIO0B0的中断在TIMER4中断结束之后才被处理,未发生抢占。
![wKgaomam-kCAWXXeAAArE_dbVBI53.jpeg](https://file1.elecfans.com/web2/M00/FF/F7/wKgaomam-kCAWXXeAAArE_dbVBI53.jpeg)
-
瑞芯微
+关注
关注
23文章
374浏览量
51040 -
Amp
+关注
关注
0文章
77浏览量
47082 -
双系统
+关注
关注
0文章
7浏览量
5982 -
中断嵌套
+关注
关注
0文章
7浏览量
6820 -
RK3568
+关注
关注
4文章
475浏览量
4692
发布评论请先 登录
相关推荐
延时仅33us,Linux-RT实时性能测试分享—基于瑞芯微RK3562J国产平台
新一代低价开发板芯片RK3562来啦! — 触觉智能RK3562开发板
![新一代低价开发板芯片<b class='flag-5'>RK3562</b>来啦! — 触觉智能<b class='flag-5'>RK3562</b>开发板](https://file1.elecfans.com/web2/M00/03/B7/wKgaoma92LSASRktAABva6z7MzM903.png)
如何在RK3562J的AMP双系统实现裸核中断嵌套机制
新品发布 ▏全新国产多核异构瑞芯微RK3562J核心板,低功耗,高性价比,引领高效能“芯”时代
![新品发布 ▏全新国产多核异构瑞芯微<b class='flag-5'>RK3562J</b>核心板,低功耗,高性价比,引领高效能“芯”时代](https://file1.elecfans.com/web2/M00/FC/CD/wKgZomaWI5uASgBaAABuQHdMO4I302.png)
3562-Linux系统启动卡制作及系统固化
3562-物联网模块开发案例
3562-评估板测试手册
深度对比!瑞芯微RK3562J比RK3568J好在哪里?
![深度对比!瑞芯微<b class='flag-5'>RK3562J</b>比<b class='flag-5'>RK3568J</b>好在哪里?](https://file.elecfans.com/web2/M00/7E/BA/poYBAGOHAv6AbvjgAAA8o4Btlss933.png)
iCore-3562JQ 工业级核心板
![iCore-<b class='flag-5'>3562</b>JQ 工业级核心板](https://file.elecfans.com/web2/M00/10/E9/pYYBAGEfInyAb9dQAABH4pzjonI981.jpg)
“国产双系统”出炉,RK3568J非对称AMP:Linux+RTOS/裸机
“国产双系统”出炉,RK3568J非对称AMP:Linux+RTOS/裸机
![“国产<b class='flag-5'>双系统</b>”出炉,<b class='flag-5'>RK3568J</b>非对称<b class='flag-5'>AMP</b>:Linux+RTOS/裸机](https://file.elecfans.com/web2/M00/7E/BA/poYBAGOHAv6AbvjgAAA8o4Btlss933.png)
评论