云湖 · 12月14日 · 重庆

【SiRider S1芯擎工业开发板测评】+ 开箱体验

    很荣幸这次能够获得SiRider S1芯擎工业开发板的测评机会,以下对开箱使用及体验做一些记录与测评。

一、基础环境配置
    板子分为以下几个系统,分别是CPU0-4*A76+2*A55,安装Ubuntu系统,CPU1-2*A55安装buildroot,Safety Island-Cortex R52,安装freertos系统。
 title=
    
    相应的硬件原理图如下:
 title=
    以上的三个系统分别使用三个串口引出到FT4232H-56Q上,使用一个USB口进行串口连接,实现串口3合1为USB的目的。
 title=
    此为联接方式一,可以同时与三个系统进行交互。联接方式二为通过Ubuntu的ssh直接进行连接。
    以下分别对两种联接方式作出说明。

1. 串口联接
    可以看到在输入超长字符时,稳定复现数据显示错位问题,建议尽量使用ssh方式进行联接。
 title=

2. ssh联接
    板子上自带了wifi芯片,通过无线网络连接测试。

    nmcli dev wifi //扫描当前可用网络
    nmcli dev wifi connect SSID password PASSWORD //选择合适网络进行连接
    nmcli device status //查看连接状态
    nmcli con mod <connection-name> autoconnect yes //保存网络配置

    
    进行ssh连接,默认用户名及密码均为root
 title=

    优化下源速度:

//更新国内源
sudo nano /etc/apt/sources.list

# 添加如下内容
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

sudo apt-get update
sudo apt-get upgrade

    因为下载SDK包出现网络联接问题,所以一步到位直接开启板子启用windows代理。

//修改.bashrc文件开启ubuntu代理
sudo nano ~/.bashrc

//添加如下内容,IP地址为windowsIP,clash默认端口7890
alias proxy='export all_proxy=http://192.168.5.134:7890'
alias unproxy='unset all_proxy'
//之后保存退出

source ~/.bashrc //更新配置

proxy //激活
unproxy //取消

//使用谷歌进行测试
curl https://www.google.com

    
    如下显示出网页源代码即代表成功,如无显示需关闭windows公用网络防火墙,之后重启ubuntu即可。 title=

3.下载SDK
    下载完成后根目录如下:
 title=

二、demo演示
1. 运行效果
    A0为4*A72+2*A55,运行ubuntu,根目录下文件如下
 title=

    A1为2*A55,运行buildroot+linux,根目录下文件如下
 title=

    R52为安全岛功能,运行freerots, 线程如下
 title=

    可以看到rpmsg核间通信分别为A0-A1,A0-R52两种,a0-a1通讯要同时打开A0根目录下的rpmsg\\_demo\\_a0\\_a1与A1根目录下的rpmsg\\_demo,运行效果如下:
 title=

 title=
    
    R52 freertos下rpmsgrecv任务处于阻塞状态等待被触发,因此A0-R52通讯只需打开A0目录下的rpmsg\\_a0\\_r52,运行效果如下:
 title=
 title=

2.rpmsg原理
    RPMsg框架是一个基于virtio的消息总线,它允许本地处理器与系统上可用的远程处理器通信。此框架在多核异构中承担的角色如下图:
 title=
    Linux RPMsg框架是在virtio框架顶层上实现的消息传送框架,其用于主机和远程处理器进行通信。它基于virtio vring,可通过共享内存向远程CPU发送消息或从远程CPU接收消息。这些vring是单向的,一个vring专用于发送到远程处理器的消息,另一个vring用于从远程处理器接收的消息。此外,共享缓冲区需要在两个处理器都可见的内存空间中创建。
    当新消息在共享缓冲区中等待时,会使用到另一个框架 Linux Mailbox framework ,该框架将用于通知对应的Core。依靠这些框架,RPMsg框架实现了基于不同通道的通信。通道可被文本名称标识,并有一个本地(“源”)的RPMsg地址和一个远程(“目的”)的RPMsg地址。

三、总结
    以上即为对SiRider S1芯擎工业开发板的基础开箱体验,板子的硬件配置十分强大,后续继续更新NPU使用测试。

推荐阅读
关注数
0
文章数
2
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息