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

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

3天内不再提示

全志T153处理器ARM+RISC-V的双核CP多有强?——飞凌嵌入式

飞凌嵌入式 2026-01-16 08:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

嵌入式设备拼性能、拼响应、拼功耗的内卷时代,双核协作才是破局的关键。传统的对称多处理(SMP)架构已难以兼顾全场景需求,非对称多处理(AMP)异构架构正在成为行业主流,在这样的背景下,全志T153平台直接搬出ARM+RISC-V的“双核CP”:主打高性能计算的Cortex-A7核心运行Linux,聚焦高实时性任务的RISC-V E907核心运行RTOS,组成 “互补型搭档”。

本文会通过飞凌嵌入式OK153-S开发板,为大家实测这对双核CP的协作实力——依托异构核间通讯机制(IPC)与Suspend/Resume电源管理机制,全面验证A核与R核的协同工作能力,并验证异构多核环境下的数据交互效率与智能化唤醒逻辑。

1、休眠唤醒功能验证

pm_test 节点可以用于测试Linux部分的休眠唤醒功能。设备冻结后,等待5s,即返回,执行唤醒动作。

echodevices > /sys/power/pm_test

设备进入休眠:

echomem > /sys/power/state

执行以上命令后,设备5s后会被唤醒。

2、R核唤醒休眠的A核

“功耗管理”是产品续航与成本控制的核心竞争力。T153处理器的异构多核架构为此提供了的解决方案:

A核休眠:ARM核在空闲时进入WFI深度睡眠,功耗降至最低;

R核值守:RISC-V核心持续运行,监听外部事件;

按需唤醒:传感器触发、定时任务到达时,R核一键唤醒A核处理复杂任务。

A核进入WFI模式,R核运行在DRAM上,R核唤醒A核。

首先设置主核休眠时,DRAM不进入自刷新,从核保持运行在DRAM上。可以通过linux控制台输入以下命令切换:

echo0>/sys/class/pm_msgbox/set_dram_refresh

然后A核进入休眠状态:

echomem > /sys/power/state

使用R核唤醒A核。我们的R核提供了cpux_resume接口来唤醒主核,在R核中执行以下命令进行A核唤醒:

cpux_resume

在低功耗场景下,高性能的A核休眠待机,低功耗的R核持续值守。当外部事件触发时,R核可瞬间唤醒A核响应任务。这种 "小核值班、大核待命" 的架构,让设备在续航与实时响应之间达到平衡。

3、双核通讯验证

T153处理器采用ARM Cortex-A7+RISC-V 的多核异构架构,让系统兼具"大脑"与"小脑",而异构核间通讯机制(IPC)正是连接两个"脑"的高速通道,通过共享内存机制,双核之间可实现数据传输。以下是操作方法:

测试之前首先使能R核:


echo amp_rv0.bin > /sys/class/remoteproc/remoteproc0/firmware
echo start > /sys/class/remoteproc/remoteproc0/state

(1)RISC-V端例程

rtos/lichee/rtos-components/aw/rpbuf/rpbuf_demo/rpbuf_test.c

命令使用方法:

static void print_help_msg(void)
{
printf("\n");
printf("USAGE:\n");
printf(" rpbuf_test [OPTIONS]\n");
printf("OPTIONS:\n");
printf(" -h : print help message\n");
printf(" -c : create buffer\n");
printf(" -C : Send Cnt(default: 1)\n");
printf(" -d : destory buffer\n");
printf(" -s : send test messagese\n");
printf(" -l : list created buffers\n");
printf(" -a : sync transmit\n");
printf(" -I ID : specify controller ID (default: 0)\n");
printf(" -N NAME : specify buffer name (default: "%s")\n",
RPBUF_BUFFER_NAME_DEFAULT);
printf(" -L LENGTH : specify buffer length (default: %d bytes)\n",
RPBUF_BUFFER_LENGTH_DEFAULT);
printf(" -p : print performance data\n");
printf("\n");
printf("e.g.\n");
printf(" First, create a buffer (its name and length should match "
"that of remote rpbuf buffer):\n");
printf(" rpbuf_buffer -N "xxx" -L LENGTH -c\n");
printf(" Then if remote sends data to it, the buffer callback will be called.\n");
printf("\n");
printf(" We can send test data to remote:\n");
printf(" rpbuf_test -d 100 -s -L 32\n");
printf("\n");
printf(" If this buffer is no longer in use, destroy it:\n");
printf(" rpbuf_test -N "xxx" -d\n");
printf("\n");
}

参数解释:

-c 创建缓冲区

-C发送次数

-d销毁

-i 哪个节点

-a数据同步

-N名字

-L缓冲区大小


(2)A核例程

命令使用方法:


static void print_help_msg(void)
{
printf("\n");
printf("USAGE:\n");
printf(" rpbuf_test [OPTIONS]\n");
printf("\n");
printf("OPTIONS:\n");
printf(" -d time : set data sending interval (default: 100 ms)\n");
printf(" -s : send test messages\n");
printf(" -c : send count (default: 10)\n");
printf(" -r : receive messages\n");
printf(" -t time : specifies the time of receive messagess, unit:ms\n");
printf(" -a : sync transmit\n");
printf(" -I ID : specify rpbuf ctrl ID (default: 0)\n");
printf(" -N NAME : specify buffer name (default: "%s")\n",
RPBUF_BUFFER_NAME_DEFAULT);
printf(" -L LENGTH : specify buffer length (default: %d bytes)\n",
RPBUF_BUFFER_LENGTH_DEFAULT);
printf(" -p : print performance data\n");
printf("\n");
printf("e.g.\n");
printf(" rpbuf_test -L 0x1000 -c 10 -s : send 10 test data, size=0x1000\n");
printf(" rpbuf_test -L 0x1000 -r : receive test data forever, size=0x1000\n");
printf(" rpbuf_test -L 0x1000 -r -t 1000 : receive test data 1 second, size=0x1000\n");
printf("\n");
}

参数解释:

-s发送

-c发送次数

-r阻塞接收


(3)实验现象

以RISC-V向A核发送数据为例,缓冲区大小为511.875K,发送100次;

开辟一个511.875K的缓冲区,A核向RISC-V发送一百次数据。

以下命令按次序执行:

RISC-V命令:rpbuf_test -c -I 0 -N rpbuf_test -L 524160 -a

A端命令:rpbuf_test -L 524160 -N rpbuf_test -r

RISC-V命令:rpbuf_test -N rpbuf_test -C 100 -s

RISC-V 串口:

cpu0>rpbuf_test -c -I 0 -N rpbuf_test -L 524160 -a
cpu0>[RPBUF_INFO][rpbuf_addr_remap_default:206]reamp pa:0x42144000 -> va:0x42144000
[RPBUF_INFO][rpbuf_service_command_buffer_created_handler:827]buffer "rpbuf_test" (id:0): local_dummy_buffers -> buffers
buffer "rpbuf_test" is available
cpu0>rpbuf_test -N rpbuf_test -C 100 -s
[0]data:21a94801873e262b487f31000da27543... [md5:fd0f42ddde63121837ebcdec775250b9]

A核串口:


root@OKT153:/# rpbuf_test -L 524160 -N rpbuf_test -r
ping: 8099.576172ms
bandwidth: 0.517149Mbps
data:21a94801873e262b487f31000da27543... check:fd0f42ddde63121837ebcdec775250b9 success

ping: 14.155000ms
bandwidth: 186.086807Mbps
data:21a94801873e262b487f31000da27543... check:fd0f42ddde63121837ebcdec775250b9 success

ping: 14.721000ms
bandwidth: 181.881592Mbps
data:21a94801873e262b487f31000da27543... check:fd0f42ddde63121837ebcdec775250b9 success

ping: 14.694000ms
bandwidth: 181.992096Mbps
data:21a94801873e262b487f31000da27543... check:fd0f42ddde63121837ebcdec775250b9 success

ping: 14.680000ms
bandwidth: 182.055313Mbps
data:21a94801873e262b487f31000da27543... check:fd0f42ddde63121837ebcdec775250b9 success

ping: 14.712000ms
bandwidth: 181.779083Mbps
data:21a94801873e262b487f31000da27543... check:fd0f42ddde63121837ebcdec775250b9 success

ping: 14.690000ms
bandwidth: 182.276901Mbps
data:21a94801873e262b487f31000da27543... check:fd0f42ddde63121837ebcdec775250b9 success

测试数据显示,ARM与RISC-V双核间数据传输带宽平均可达184Mbps,验证了共享内存机制的高效与稳定。

4、结论

全志T153处理器通过‌异构多核架构‌、‌‌高效异构核间通讯机制(IPC)以及与之配套的‌智能休眠唤醒方案‌,可以实现ARM核与RISC-V核的高效协作——Linux负责复杂运算,RTOS保障实时响应,同时将‌“高性能计算”‌、‌“硬实时控制”‌ 与 ‌“超低功耗待机”‌ 这三大关键能力融为一体,满足工业控制等场景需求。这远不止是技术功能的实现,更是为下一代智能硬件提供了‌一个量产化、功能完整、性能可靠的芯片级解决方案平台‌。

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

    关注

    5209

    文章

    20668

    浏览量

    337145
  • Linux
    +关注

    关注

    88

    文章

    11818

    浏览量

    219575
  • Amp
    Amp
    +关注

    关注

    0

    文章

    102

    浏览量

    48650
  • 全志科技
    +关注

    关注

    4

    文章

    139

    浏览量

    17899
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于Intel D525处理器的无风扇嵌入式系统

      威工业电脑(IEI)全新推出基于Intel D525处理器的无风扇嵌入式系统。In
    发表于 12-21 08:59 3743次阅读

    嵌入式首款RISC-V核心板FET7110-C抢先看——国产、高性能

    嵌入式联合RISC-V国产处理器厂商赛昉科技(StarFive)基于昉·惊鸿7110处理器
    的头像 发表于 07-21 14:02 1774次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>首款<b class='flag-5'>RISC-V</b>核心板FET7110-C抢先看——国产、高性能

    【米尔T153开发板评测】介绍、环境搭建、工程测试

    Arm®Cortex®-A7、单核RISC-V E907,并支持 强大的计算性能和快速响应能力,非常符合要求严苛的自动化任务。 资源分布 米尔电子基于
    发表于 03-28 13:23

    ARM9处理器C语言编程() ADS开发环境创建简介

    1.1.3ARM9E系列微处理器1.1.4ARM10E系列微处理器1.1.5ARM920T简介高等学校
    发表于 07-28 15:06

    Arm+RISC-V异构前景如何?

    2021航顺HK32MCU新品发布会上,航顺介绍了自主研发的异构MCU-HK32U1xx9系列产品。Arm Cortex-M3大负责主运算;R
    发表于 04-14 10:06

    中国首颗ARM+RISC-V异构多核MCU伴随IAR在上海国际嵌入式展亮相

    ARM+RISC-V异构多核MCU硬件平台。“嵌入式多核系统可分为同构多核和异构多核,航顺芯片HK32U3009采用ARM+RISC-V异构多核架构,在国产嵌入式MCU中属于国内首创!
    发表于 06-15 18:32

    嵌入式国产平台大盘点之瑞芯微系列

    分类带大家一起盘点。 本篇文章,为大家介绍的是瑞芯微系列的核心板。 瑞芯微电子 × 嵌入式 2020年至今,
    发表于 08-05 11:12

    T113i全国产核心板上市

    超低价、超灵活、超全能!嵌入式FET113i-S全国产核心板正式发布!整板采用100%国产工业级元器件,含税价最低仅需88元! FET113i-S核心板基于
    发表于 11-20 16:32

    嵌入式处理器T113开发板特性分析

    T113-S3 是科技在智能工控领域和汽车领域的一款高性价比、入门级嵌入式处理器T113-
    发表于 08-22 10:44 6113次阅读
    <b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>嵌入式</b><b class='flag-5'>处理器</b><b class='flag-5'>T</b>113开发板特性分析

    T536行业首发!嵌入式FET536-C/FET536-S核心板惊艳亮相

    9月24日下午,科技在2024中国国际工业博览会上隆重举办了 【T536高性能智慧工业芯片】的全球首发发布会 ,T536处理器采用4
    的头像 发表于 09-30 09:34 1657次阅读
    <b class='flag-5'>T</b>536行业首发!<b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>FET536-C/FET536-S核心板惊艳亮相

    基于T113-i多核异构处理器的全国产嵌入式核心板简介

    嵌入式核心板。ECK30系列核心板可广泛应用于工业控制、HMI、IoT等领域。 公司的T113-i处理器是由
    的头像 发表于 10-25 13:40 2383次阅读

    新操作系统适配,嵌入式T527核心板打造高效开发新体验

    嵌入式为基于T536处理器开发设计的FET5
    的头像 发表于 03-20 14:33 1588次阅读
    新操作系统适配,<b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b><b class='flag-5'>T</b>527核心板打造高效开发新体验

    【新品发布】10路UART、3路千兆网、2路CAN-FD,T153核心板为工业应用而生

    嵌入式FET153-S核心板配备3路千兆以太网接口、2路CAN-FD接口和Local Bus,支持高吞吐量网络连接,满足复杂数据驱动型应用需求。此外,
    的头像 发表于 10-10 11:40 3067次阅读
    【新品发布】10路UART、3路千兆网、2路CAN-FD,<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T153</b>核心板为工业应用而生

    T153处理器详解:物超所值的工业芯

    T153是如何塑造这些优势的呢?本篇内容,就让我们走近这颗芯片,展开讲讲。
    的头像 发表于 10-15 08:04 2822次阅读
    <b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T153</b><b class='flag-5'>处理器</b>详解:物超所值的工业芯

    基于T153处理器的PLC控制主控选型方案

    在工业4.0与智能制造浪潮下,可编程逻辑控制(PLC)作为工业自动化的核心设备,正面临性能提升与高可靠性需求的多重挑战。嵌入式推出的FET15
    的头像 发表于 11-03 11:02 2723次阅读
    基于<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T153</b><b class='flag-5'>处理器</b>的PLC控制<b class='flag-5'>器</b>主控选型方案