很荣幸这次能够获得SiRider S1芯擎工业开发板的测评机会,以下对开箱使用及体验做一些记录与测评。
一、基础环境配置
板子分为以下几个系统,分别是CPU0-4*A76+2*A55,安装Ubuntu系统,CPU1-2*A55安装buildroot,Safety Island-Cortex R52,安装freertos系统。
相应的硬件原理图如下:
以上的三个系统分别使用三个串口引出到FT4232H-56Q上,使用一个USB口进行串口连接,实现串口3合1为USB的目的。
此为联接方式一,可以同时与三个系统进行交互。联接方式二为通过Ubuntu的ssh直接进行连接。
以下分别对两种联接方式作出说明。
1. 串口联接
可以看到在输入超长字符时,稳定复现数据显示错位问题,建议尽量使用ssh方式进行联接。
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
优化下源速度:
//更新国内源
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即可。
3.下载SDK
下载完成后根目录如下:
二、demo演示
1. 运行效果
A0为4*A72+2*A55,运行ubuntu,根目录下文件如下
A1为2*A55,运行buildroot+linux,根目录下文件如下
R52为安全岛功能,运行freerots, 线程如下
可以看到rpmsg核间通信分别为A0-A1,A0-R52两种,a0-a1通讯要同时打开A0根目录下的rpmsg\\_demo\\_a0\\_a1与A1根目录下的rpmsg\\_demo,运行效果如下:
R52 freertos下rpmsgrecv任务处于阻塞状态等待被触发,因此A0-R52通讯只需打开A0目录下的rpmsg\\_a0\\_r52,运行效果如下:
2.rpmsg原理
RPMsg框架是一个基于virtio的消息总线,它允许本地处理器与系统上可用的远程处理器通信。此框架在多核异构中承担的角色如下图:
Linux RPMsg框架是在virtio框架顶层上实现的消息传送框架,其用于主机和远程处理器进行通信。它基于virtio vring,可通过共享内存向远程CPU发送消息或从远程CPU接收消息。这些vring是单向的,一个vring专用于发送到远程处理器的消息,另一个vring用于从远程处理器接收的消息。此外,共享缓冲区需要在两个处理器都可见的内存空间中创建。
当新消息在共享缓冲区中等待时,会使用到另一个框架 Linux Mailbox framework ,该框架将用于通知对应的Core。依靠这些框架,RPMsg框架实现了基于不同通道的通信。通道可被文本名称标识,并有一个本地(“源”)的RPMsg地址和一个远程(“目的”)的RPMsg地址。
三、总结
以上即为对SiRider S1芯擎工业开发板的基础开箱体验,板子的硬件配置十分强大,后续继续更新NPU使用测试。