一起游 手游攻略 手游评测 爆火的机器人“大小脑”怎么协作?全志T527核间通讯实战指南!

爆火的机器人“大小脑”怎么协作?全志T527核间通讯实战指南!

时间: 来源:互联网 浏览:0

前言:

2025年的科技圈,RISC-V架构正在爆发式增长,而机器人领域最流行的“大大脑”架构也是异构计算的核心实现场景。 —— “大脑”负责算法决策,“小脑”负责实时控制。两者只有无缝协作,智能设备才能真正“活起来”。

全志T527芯片是该架构的完美载体:八核Cortex-A55处理AI推理和场景决策;玄铁E906 RISC-V内核以FreeRTOS为基础,实现低功耗实时控制。但如何让这两个核心高效地“对话”呢?

本实用笔记结合了最新的行业趋势,基于旺旺电子的T527核心板。一步一步教你从配置到验证的整个过程,技术资料可以直接复用!

一、“大小脑”如何分工?机器人“大小大脑”的分工完全借鉴了生物逻辑。 —— 大脑负责决策,小脑负责执行。只有两者协同工作,才算智能和效率。这也是全志T527异构架构的核心设计:

“大脑”Cortex-A55:与人脑一样,负责复杂的认知任务。例如,它可以分析传感器数据、运行AI算法进行场景判断以及管理网络连接。它适合处理非实时但高度复杂的工作,依赖Linux系统的多任务能力来高效运行。

“小脑”RISC-V(玄铁E906):类似于人类小脑,注重实时执行和精准控制。例如,电机驱动、外设响应、低功耗数据采集等都需要微秒级的响应速度。 FreeRTOS的硬实时特性正好满足了需求。

两者协作的关键在于高效的“沟通机制”:

全志T527采用MSGBOX进行中断通知,并依靠remoteproc+rpmsg+virtio共享内存,既保证了通信速度,又降低了开发门槛,可以基于成熟的框架快速实现。

二、实战配置2.1第一步:给“大脑”做内核配置(Cortex-A核)“大脑”必须做好准备才能顺利连接到“小脑”。核心是设备树配置和内核模块开放。

2.1.1 设备树配置设备树就像“大脑”的“通讯指令”。需要厘清“小脑”的记忆范围、沟通渠道等关键信息。路径:

/TinaLinux/device/config/chips/t527/configs/demo_linux_aiot/linux-5.15/board.dts

b2a06620-ec29-11f0-8ce9-92fbcf53809c.png

编辑设备树,在设备树中找到E906相关的设备树节点。设备树的默认配置是:

e906_rproc:e906_rproc@7130000{ mboxes=msgbox8, msgbox10; mbox-names='arm-kick','arm-standby';内存区域=riscvsram0_reserved、riscvsram1_reserved、rv_vdev0buffer、rv_vdev0vring0、rv_vdev0vring1、e906_dram_reserved;

内存映射=/* DA len PA *//* DSP RAM */0x200000x200000x20000, /* SRAM A2 */0x400000x240000x40000, /* DDR */0x80000000x37f000000x8000000, /* SRAM 空间0 */0x3ffc00000x400000x07280000, /* SRAM 空间1 */0x400000000x400000x072c0000, /* DRAM 空间*/0x400400000x3ffc00000x40040000;待机-ctrl-en=0x1;备用记录注册=0x07090114;状态='好的'; };

关键节点e906_rproc要重点配置三点:

mboxes:指定MSGBOX中断通道,“arm-kick”触发“小脑”工作,“arm-standby”通知待机状态;

memory-region:分配共享内存(SRAM+DDR保留空间),“大小大脑”必须访问相同的物理地址;

内存映射:绑定虚拟地址和物理地址以避免访问冲突。

重要提醒:后续“小脑”配置时,“小脑”的内存起始地址(0x60000000)和长度(0xa00000)必须完全对齐,否则会出现通讯失败!

2.1.2 内核模块,开启“通信协议”在SDK根目录下执行./build.sh menuconfig,检查如下核心配置:

CONFIG_MAILBOX=y(启用邮箱控制器,负责“敲门提醒”); CONFIG_REMOTEPROC=y(远程处理器管理框架,负责“唤醒小脑”); CONFIG_RPMSG=y(核间通信协议,负责“语言翻译”); CONFIG_RPMSG_CHAR=y(字符设备接口,方便用户级操作)。

检查完毕,保存并编译,“大脑”通讯接口就准备好了。

2.2第二步:给“小脑”装“通信接口”(RISC-V侧)为了让“小脑”准确响应“大脑”指令,必须做好内存对齐和组件配置,以保证“语言互操作性”。

2.2.1 地址配置:和“大脑”保持一致“Cerebellar”的运行地址必须与“Brain”设备树定义一致,否则会出现内存访问错误。路径:

/TinaLinux/rtos/lichee/rtos/projects/t527_e906/demo.

b2b43222-ec29-11f0-8ce9-92fbcf53809c.png

打开freertos.lds.S,确认内存参数是CONFIG_ARCH_START_ADDRESS和CONFIG_ARCH_MEM_LENGTH定义的;

检查defconfig 文件以确保参数匹配:

CONFIG_ARCH_START_ADDRESS=0x60000000CONFIG_ARCH_MEM_LENGTH=0xa00000

确认与Linux内核中的dts配置一致:

e906_dram_reserved: e906_dram@60000000{ reg=0x00x600000000x00x00a00000;无地图;};

2.2.2 组件配置:开启“沟通工具”a.进入RTOS环境:

cd~/TinaLinux/rtossourceenvsetup.shlunch_rtos,

选择t527_e906_demo;

b2c4a33c-ec29-11f0-8ce9-92fbcf53809c.png

b.打开配置界面:mrtos_menuconfig;

b2d3dc4e-ec29-11f0-8ce9-92fbcf53809c.png

c.关键检查:

终端配置:选择UART4作为调试终端(用于后续连接电脑串口);

通讯组件:检查rpmsg客户端驱动(rpmsg客户端驱动与“大脑”进行通讯)并启用日志打印(方便调试);

b2e5d7f0-ec29-11f0-8ce9-92fbcf53809c.png

d.编译固件:执行mrtos编译生成amp_rv0.bin(“Cerebellar”固件),路径在SDKbin目录下。

2.3第三步:唤醒“小脑”,建立连接启动旺旺电子T527开发板,进入TinaLinux控制台;

复制固件:将amp_rv0.bin复制到/lib/firmware目录下(“大脑”从这里加载“小脑”固件);

指定固件:

echoamp_rv0.bin /sys/class/remoteproc/remoteproc1/固件

启动“小脑”:

echostart /sys/class/remoteproc/remoteproc1/state;

b2f1a59e-ec29-11f0-8ce9-92fbcf53809c.png

连接终端:使用串口线将UART4与电脑连接。波特率为115200,此时可以看到“小大脑”的启动日志。输入ts查看任务状态——。“大脑”准备好了!

b301b704-ec29-11f0-8ce9-92fbcf53809c.png

三、实测验证:让“大小脑”秒级对话 “大脑”之间通信的本质是通过rpmsg创建一个“专属聊天窗口”(端点),并双向发送和接收数据。直接按照实际测量步骤,可重现整个过程!

3.1准备工作:安装测试工具执行./build.sh buildroot_menuconfig;

检查rpmsg demo 和rpmsgtest;

保存配置:/build.sh buildroot_saveconfig,重新编译文件系统并烧录。

b30c4cf0-ec29-11f0-8ce9-92fbcf53809c.png

3.2步骤1:“小脑”创建监听窗口在“Cebellar”串口终端中输入命令,创建2个“聊天窗口”:

建立监听:eptdev_bindtest2(创建2个名为test的端点);

cpu0eptdev_bind 测试2

验证状态:rpmsg_list_listen,显示“alive is 0”,说明已就绪。

cpu0rpmsg_list_listennamelistenlivetest20console1000

3.3步骤2:“大脑”创建通信节点在TinaLinux控制台中,创建“Cerebellar”监听窗口对应的客户端:

第一个节点:

rpmsg_demo -re906_rproc@7130000-c 测试

生成/dev/rpmsg1;

b319a026-ec29-11f0-8ce9-92fbcf53809c.png

第二个节点:重复上述命令生成/dev/rpmsg2,输入ls /dev/rpmsg*查看节点信息;

b326cdc8-ec29-11f0-8ce9-92fbcf53809c.png

验证节点:ls /dev/rpmsg*,可以看到2个通信节点和控制节点。此时“小脑”终端会提示“rpmsg1绑定成功” ——“聊天窗口”已打开!

b3336bc8-ec29-11f0-8ce9-92fbcf53809c.png

3.4步骤3:双向通信实测(激动时刻!)测试1:“大脑”“小脑”发送指令

在Linux控制台输入:

echo'你好'/dev/rpmsg1echo'你好'/dev/rpmsg2

立即查看“小脑”终端,清晰接收数据:

b3406bd4-ec29-11f0-8ce9-92fbcf53809c.png

测试2:“小脑”“大脑”传输数据

在“Cerebellar”终端中使用eptdev_send发送状态数据(格式:eptdev_send节点ID数据):

eptdev_send1'你好E906'

返回“大脑”控制台,读取数据:

猫/dev/rpmsg1

b34b71aa-ec29-11f0-8ce9-92fbcf53809c.png

测试三:“小脑”与“大脑”持续沟通

直接显示“小脑”发送的所有信息,支持连续发送和接收,稳定性最大化!

cpu0eptdev_send1'hello E906'将发送hello E906到rpmsg0cpu0eptdev_send1'hello E906'将发送hello E906到rpmsg0cpu0eptdev_send1'hello E906'将发送hello E906到rpmsg0cpu0eptdev_send1'hello E906'将发送hello E906 到rpmsg0cpu0eptdev_send1'hello E906 '将发送hello E906 到rpmsg0cpu0eptdev_send1'hello E906 '将发送hello E906 到rpmsg0cpu0eptdev_send1'hello E906 '将发送hello E906 到rpmsg0

大核端总会收到小核传来的信息。

b3553fd2-ec29-11f0-8ce9-92fbcf53809c.png

3.5关闭通信不需要协作时,在“大脑”终端执行:

echo0 /sys/class/rpmsg/rpmsg_ctrl-e906_rproc@0/closeecho1 /sys/class/rpmsg/rpmsg_ctrl-e906_rproc@0/close

四、小结这种“大大脑”协作解决方案符合当前AIoT和机器人的爆炸性需求。全志T527解决方案基于Linux主线框架和成熟的FreeRTOS组件。正好契合了RISC-V的开源趋势。不仅可以降低研发成本,还可以快速对接AIoT场景。是中小企业进入智能硬件赛道的高性价比选择。

如果您想获得更完整的全志T527核心板大小脑通信配置,包括设备树参数、内核配置列表和实际测试命令,方便您在开发时快速查看,也可以关注旺旺电子公众号或联系我们获取!

标题:爆火的机器人“大小脑”怎么协作?全志T527核间通讯实战指南!
链接:https://yqqlyw.com/news/sypc/68329.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
  • 嵌入式洗碗机和水槽洗碗机哪个好;
  • 嵌入式洗碗机怎么安装 嵌入式洗碗
  • 绯红之境兑换码最新2021 礼包兑换码大全

    绯红之境兑换码最新2021 礼包兑换码大全[多图],绯红之境兑换码怎么领取?绯红之境兑换码有哪些?绯红之境在今日

    2026-01-08
    三国群英传7霸王再临攻略 霸王再临攻略技巧开启方法

    三国群英传7霸王再临攻略 霸王再临攻略技巧开启方法[多图],三国群英传7霸王再临怎么玩?三国群英传7霸王再临

    2026-01-08
    妄想山海怎么加好友 加好友方法大全

    妄想山海怎么加好友 加好友方法大全[多图],妄想山海添加好友功能在哪里?妄想山海添加好友的方法是什么?好友添

    2026-01-08
    江南百景图又见桃花村钓鱼位置在哪?又见桃花村钓鱼攻略

    江南百景图又见桃花村钓鱼位置在哪?又见桃花村钓鱼攻略[多图],江南百景图又见桃花村钓鱼怎么钓?又见桃花村钓

    2026-01-08