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

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

3天内不再提示

国产!全志T113-i 双核Cortex-A7@1.2GHz 工业开发板—ARM + DSP、RISC-V核间通信开发案例

Tronlong创龙科技 ? 来源:Tronlong创龙科技 ? 作者:Tronlong创龙科技 ? 2025-08-18 14:03 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前 言

本文档主要介绍T113-i处理器ARM + DSPRISC-V核间通信开发案例,演示T113-i处理器ARM Cortex-A7与HiFi4 DSP核心、玄铁C906 RISC-V核心的核间通信。适用开发环境如下:

Windows开发环境:Windows 7 64bit、Windows 10 64bit

虚拟机:VMware15.5.5

Linux开发环境:Ubuntu18.04.4 64bit

U-Boot:U-Boot-2018.07

Kernel:Linux-5.4.61

LinuxSDK:T113_Tina5.0-V1.0(Linux)

T113-i处理器支持Linux(Kernel-5.4.61)、HiFi4 DSP、玄铁C906 RISC-V组合的OpenAMP架构设计,可满足如工业HMI、工业PLC物联网网关、机器人示教器、户用储能EMS/BMS、汽车充电桩的需求。

我司提供的ARM + DSP、RISC-V核间通信开发案例位于产品资料“4-软件资料Demoplatform-demosrpmsg_echo”目录下,案例目录说明如下表所示,其中bin目录存放程序可执行文件,src目录存放案例工程源文件。

wKgZPGiivyeAD5RoAAAkKRxu4CU001.png

备注:

无特殊说明情况下,本文默认使用NAND FLASH配置评估板,默认从Linux系统启动卡启动系统(SD启动模式)进行测试。

Linux系统默认会初始化相关外设,不影响案例测试。

本文默认使用评估板USB TO UART0串口作为ARM端调试串口,RS232 UART2串口作为HiFi4 DSP/RISC-V核心调试串口,请使用Type-C线连接PC机和评估板的USB TO UART0串口,使用RS232交叉串口母母线、USB转RS232公头串口线,将评估板的RS232 UART2串口连接至PC机的USB接口,如下图所示。

wKgZPGiivzSABDPhADK5wCMVu-A164.png图?1

rpmsg_echo案例

案例功能

案例主要使用RPMsg框架来实现异构的处理器之间进行相互通信。ARM Cortex-A7核心运行Linux系统与rpmsg_echo应用程序,HiFi4 DSP/RISC-V核心运行HiFi4 DSP/RISC-V程序,实现ARM端的rpmsg数据的接收与发送功能。

案例程序流程图如下:

wKgZO2iivz-AJwvaACP_GxouuHs923.png图 2

程序原理说明:

HiFi4 DSP/RISC-V等待接收ARM端的rpmsg数据;

ARM端的rpmsg_echo应用程序发送rpmsg数据至HiFi4 DSP/RISC-V;

当HiFi4 DSP/RISC-V端接收到ARM端的rpmsg数据后会将数据发送回ARM端;

ARM端将接收来自HiFi4 DSP/RISC-V的rpmsg数据;

ARM端程序与HiFi4 DSP/RISC-V程序之间循环往复接收与发送rpmsg数据,实现核间通信。

案例测试

将评估板上电启动,在U-Boot倒计时结束之前按下空格键进入U-Boot命令行模式,执行如下命令关闭设备树UART2配置,避免Linux内核占用案例的外设资源。

U-Boot# fdt set /soc/uart@2500800 status disabled

U-Boot# boot

wKgZO2iiv0qATsPnAAAL32fKVvY182.png图 3

1.ARM Cortex-A7与HiFi4 DSP核心通信

将本案例"dspbin"目录下的可执行文件amp_dsp0.bin拷贝至评估板系统的"/lib/firmware/"目录下,执行如下命令,启动HiFi4 DSP核心并加载工程镜像。

Target# echo amp_dsp0.bin> /sys/class/remoteproc/remoteproc0/firmware //指定加载的工程镜像

Target# echo start > /sys/class/remoteproc/remoteproc0/state //启用HiFi4 DSP核心并加载工程镜像

wKgZO2iiv1SAU935AAk0SVLxEC4473.png图 4

HiFi4 DSP核心启动后将自动运行程序,RS232 UART2串口终端将会打印如下类似信息。

wKgZO2iiv12AKmaUAACGfDc1vvc426.png图 5

将案例"armbin"目录下的应用程序rpmsg_echo拷贝至评估板文件系统,执行如下命令查看程序参数信息。

Target# ./rpmsg_echo -h

参数解析:

-r :rpmsg的控制节点;

-m :发送的信息;

-n :表示发送rpmsg数据包次数。

wKgZO2iiv2yAXAcYAAAaTHx_Cjk949.png图 6

执行如下命令运行ARM端应用程序,发送5次rpmsg数据包至HiFi4 DSP核心,当HiFi4 DSP核心每收到1次rpmsg数据包就会将数据包发送回ARM端。

Target# ./rpmsg_echo -r dsp_rproc@0 -m tronlong -n 5

wKgZPGiiv3WAHwVYAABdLdJ7Fw0554.png图 7

当ARM端程序运行时,RS232 UART2串口终端将会打印如下类似信息。

wKgZPGiiv36ADQZ0AAESnC1vU8k102.png图 8

执行如下命令,关闭HiFi4 DSP核心,程序将停止运行。同时RS232 UART2调试串口终端会打印如下类似信息。

Target# echo stop > /sys/class/remoteproc/remoteproc0/state

wKgZO2iiv4aANoL_AAAY-ZX7nkY726.png图 9

wKgZPGiiv5KALDuDAAEYIDB9Vv4970.png图 10

2.ARM Cortex-A7与RISC-V核心通信

将本案例"risc-vbin"目录下的可执行文件amp_rv0.bin拷贝至评估板系统的"/lib/firmware/"目录下,执行如下命令,启动RISC-V核心并加载工程镜像。

Target# echo amp_rv0.bin> /sys/class/remoteproc/remoteproc1/firmware //指定加载的工程镜像

Target# echo start > /sys/class/remoteproc/remoteproc1/state //启用HiFi4 DSP核心并加载工程镜像

wKgZO2iiv5uAOVLRAAArGsGzgvE872.png图 11

RISC-V核心启动后将自动运行程序,RS232 UART2串口终端将会打印如下类似信息。

wKgZPGiiv6OAMBYjAALpU-NvXnc456.png图 12

将案例"armbin"目录下的应用程序rpmsg_echo拷贝至评估板文件系统,执行如下命令查看程序参数信息。

Target# ./rpmsg_echo -h

参数解析:

-r :rpmsg的控制节点;

-m :发送的信息;

-n :表示发送rpmsg数据包的次数。

wKgZO2iiv2yAXAcYAAAaTHx_Cjk949.png图 13

执行如下命令运行ARM端应用程序,发送5次rpmsg数据包至RISC-V核心,当RISC-V核心每收到1次rpmsg数据包就会将数据包发送回ARM端。

Target# ./rpmsg_echo -r c906_rproc@0 -m tronlong -n 5

wKgZO2iiv7SAU4WcAAAl3-uv148507.png图 14

当ARM端程序运行时,RS232 UART2串口终端将会打印如下类似信息。

wKgZO2iiv7uAaRy9AADVnR1YJow998.png图 15

执行如下命令,关闭RISC-V核心,程序将停止运行。

Target# echo stop > /sys/class/remoteproc/remoteproc1/state

wKgZO2iiv4aANoL_AAAY-ZX7nkY726.png图 16

wKgZO2iiv8yAE6v_AADWnnyIwlI740.png图 17

案例编译

请将产品资料“4-软件资料Demoplatform-demosrpmsg_echo”案例目录下的arm、dsp和risc-v目录的源码拷贝至Ubuntu工作目录。

1.ARM程序

进入案例应用程序源码目录,执行如下命令,配置应用程序交叉编译工具链环境变量,然后进行编译,编译完成将会在当前目录下生成rpmsg_echo可执行程序。

备注:若为eMMC配置评估板,请将路径"tlt113-evm-nand"修改为"tlt113-evm-emmc"。

Host# CC=/home/tronlong/T113/tina5.0_v1.0/out/t113_i/tlt113-evm-nand/buildroot/buildroot/host/bin/arm-linux-gnueabi-gcc make

wKgZPGiiv9WANJe_AAEjVkdluHQ845.png图 18

1.RISC-V程序

请根据《RISC-V案例开发手册》的工程编译、程序固化步骤生成工程镜像。

2.HiFi4 DSP程序

请根据《DSP案例开发手册》的工程编译、程序固化步骤生成工程镜像。

关键代码

1.ARM

main.c文件位于案例"rpmsg_echoarmsrc"目录下。

创建并打开rpmsg端点。

wKgZO2iiv96AKqjfAABjuhN9x2Q706.png图 19

通过rpmsg发送数据。

wKgZO2iiv-aAV9sSAABY0rO_gyw062.png图 20

通过rpmsg接收数据。

wKgZPGiiv--AR5EOAABvJxVCMnI156.png图 21

关闭rpmsg端点

wKgZO2iiv_eAOkxWAABDW0rh1YA660.png图 22

2.HiFi4 DSP

main.c文件位于案例"rpmsg_echodspsrc"目录下。

创建任务并开始任务调度。

wKgZO2iiv_6ASsHYAAAskDm8-o0502.png图?23

初始化msgbox和openamp,并创建rpmsg控制器和端点。

wKgZO2iiwAqASve3AAB8D3S8I7w444.png图?24

拷贝数据至信息队列。

wKgZPGiiwBGAS02GAABm_Rp-vl4270.png图 25

申请内存,创建并开启rpmsg_echo_thread线程。

wKgZO2iiwBqAbdvOAACy-ZNENL8125.png图?26

标记线程停止标志,释放内存。

wKgZO2iiwCWAKHZoAAA0ouKijdE972.png图 27

3.RISC-V

main.c文件位于案例"rpmsg_echorisc-vsrc"目录下。

初始化openamp,并创建rpmsg控制器和端点。

wKgZPGiiwC2AAIaOAABkAxF5aV8753.png图?28

拷贝数据至信息队列。

wKgZPGiiwBGAS02GAABm_Rp-vl4270.png图 29

申请内存,创建并开启rpmsg_echo_thread线程。

wKgZO2iiwBqAbdvOAACy-ZNENL8125.png图?30

标记线程停止标志,释放内存。

wKgZO2iiwCWAKHZoAAA0ouKijdE972.png图 31



审核编辑 黄宇

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

    关注

    25

    文章

    5784

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    国产T113-i Cortex-A7@1.2GHz 工业开发板ARM + FPGA通信案例

    本文主要介绍基于科技T113与FPGA的通信案例,适用
    的头像 发表于 08-19 11:16 ?111次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—<b class='flag-5'>ARM</b> + FPGA<b class='flag-5'>通信</b>案例

    国产T113-i Cortex-A7@1.2GHz 工业开发板RISC-V案例开发手册(上)

    本文档主要介绍T113-i处理器的RISC-V案例开发,演示RISC-V核心RTOS案例的编译与加载方法。适用开发环境如下。
    的头像 发表于 08-13 11:34 ?372次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—<b class='flag-5'>RISC-V</b>案例<b class='flag-5'>开发</b>手册(上)

    国产T113-i Cortex-A7@1.2GHz 工业开发板DSP案例开发手册

    本文档主要介绍T113-i处理器的HiFi4 DSP核心开发案例,演示HiFi4 DSP核心RTOS案例的工程编译、程序固化和工程调试的方法。适用
    的头像 发表于 08-12 11:37 ?128次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—<b class='flag-5'>DSP</b>案例<b class='flag-5'>开发</b>手册

    国产T113-i Cortex-A7@1.2GHz 工业开发板—物联网模块开发案例(上)

    本文档主要介绍基于TLT113-EVM评估的物联网模块开发案例。
    的头像 发表于 08-07 14:47 ?125次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b> <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—物联网模块<b class='flag-5'>开发案</b>例(上)

    国产T113-i Cortex-A7@1.2GHz 工业开发板—LVGL应用开发案

    本文主要演示基于TLT113-EVM评估的LVGL官方案例以及应用开发案
    的头像 发表于 07-29 10:06 ?189次阅读
    <b class='flag-5'>国产</b>!<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b>  <b class='flag-5'>双</b><b class='flag-5'>核</b><b class='flag-5'>Cortex-A7@1.2GHz</b> <b class='flag-5'>工业</b><b class='flag-5'>开发板</b>—LVGL应用<b class='flag-5'>开发案</b>例

    国产开发板—米尔T113-i如何实现ARM+RISC-V+DSP协同计算?

    操作系统 支持少量数据通讯(RPMsg)和大量间数据(RPBuf) OpenAMP系统原理 T113-i=2×ARM
    发表于 03-21 16:50

    【正点原子】T113-i开发板资料震撼来袭!异开发、工控设计方案!

    、高可靠性、低成本和丰富的接口资源,适用于嵌入式系统开发T113-i芯片框架 一、T113IS开发板介绍 1、高性价比主控
    发表于 03-13 15:37

    ARM + RISC-V通信方案,基于T113-i的OpenAMP非对称架构

    本文主要给大家分享的是基于创龙科技TLT113-EVM评估(基于T113-i)的ARM +
    的头像 发表于 01-24 09:30 ?557次阅读
    <b class='flag-5'>ARM</b> + <b class='flag-5'>RISC-V</b><b class='flag-5'>核</b><b class='flag-5'>间</b><b class='flag-5'>通信</b>方案,基于<b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113-i</b>的OpenAMP非对称架构

    T113-S3开发板网络通信

    电子EVM-T113-S3是一款基于T113-S3ARMCortex-
    的头像 发表于 12-26 08:32 ?1352次阅读
    <b class='flag-5'>全</b><b class='flag-5'>志</b><b class='flag-5'>T113</b>-S3<b class='flag-5'>开发板</b>网络<b class='flag-5'>通信</b>

    飞凌嵌入式T113-i开发板RISC-V的实时应用方案

    ,实现高性能与高实时性的有效结合。本文将以OK113i-S开发板为例,为大家介绍RISC-V的资源和应用案例。
    的头像 发表于 11-22 15:29 ?1821次阅读
    飞凌嵌入式<b class='flag-5'>T113-i</b><b class='flag-5'>开发板</b><b class='flag-5'>RISC-V</b><b class='flag-5'>核</b>的实时应用方案

    FET113i-S核心已支持RISC-V,打造国产化降本的更优解

    FET113i-S核心是飞凌嵌入式基于T113-i处理器设计的国产
    的头像 发表于 10-31 15:20 ?1148次阅读
    FET<b class='flag-5'>113i</b>-S核心<b class='flag-5'>板</b>已支持<b class='flag-5'>RISC-V</b>,打造<b class='flag-5'>国产</b>化降本的更优解

    国产RISC-V案例分享,基于T113-i异构多核平台!

    RISC-V核心优势T113-i是一款Cortex-
    发表于 10-29 09:47

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

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

    国产RISC-V基于T113-i异构多核平台

    T113-i是一款Cortex-A7@1.2GHz
    发表于 10-10 22:08

    哇!0.8秒启动!Linux快速启动方案分享,T113-i国产平台!

    本文主要介绍基于创龙科技TLT113-EVM评估(基于T113-i)的系统快速启动方案,适用开发
    发表于 08-22 11:54