Banana Pi BPI-W3 瑞芯微RK3588开发板从入门到精通,开发文档
haoteby 2025-01-23 17:18 2 浏览
Banana Pi BPI-W3单板计算机由Banana Pi 生态成员ArmSoM团队为专业和企业用户设计和开发,搭载Rockchip RK3588 SoC四核ARM Cortex-A76和四核Cortex-A55,由八核CPU处理器组成,动态频率扩展至2.4兆赫。内嵌高性能3D、2D图像加速模块,AI加速器NPU内置6TOPS算力。
Banana Pi BPI-W3(ArmSoM-W3) 高达 32GB 64 位 LPDDR4X 内存、高达 8K@60 HDMI OUT、HDMI IN、MIPI DSI、MIPI CSI、带麦克风的 3.5mm 插孔、USB 端口、2.5GbE LAN、PCIe 3.0 x4、PCIe 2.0x2、40-引脚扩展接头、RTC、POE、SD 卡、DC 电源、typec。
开始使用
您需要的必需品
在开始使用 ArmSoM-W3 之前,请准备好以下物品
- ArmSoM-W3
- 电源(三选一)
- 通过直流电源 12 伏 @2/3A
- USB C PD 充电器(15W 及以上)
- 12 伏 PoE
- 如果您想从SD卡启动:MicroSD卡/TF卡:Class 10或以上,至少8GB SDHC
我们测试的 TF 卡
参考:TFCardsWeTested
我们测试的PD电源适配器
参考:我们测试的PD电源适配器
配置串口参数
使用以下串行参数:
波特率 | 1500000 |
数据位 | 8 |
奇偶校验 | 没有任何 |
停止位 | 1 |
流量控制 | 没有任何 |
安装操作系统
将操作系统安装到 eMMC
请查看本指南,在Windows/Linux/MacOS PC下安装rockchip flash工具。
访问下载链接以下载图像文件和实用程序。
图像文件 | |
armsom-w3-emmc-Android12-rkr12-20230420.img.xz | Android 12 镜像文件,内核版本 5.10.y |
armsom-w3-emmc-AndroidTv12-rkr12-20230420.img.xz | Android TV 镜像文件,内核版本 5.10.y |
armsom-w3-emmc-buildroot-20230420.img.xz | buildroot,内核版本 5.10.y |
armsom-w3-emmc-debian-bullseye-xfce4-arm64-20230420.img.xz | debian bullseys xfce4,内核版本 5.10.y |
安装操作系统到TF
请查看本指南,在Windows/Linux下安装rockchip tf工具。
图像文件 | |
Armbian_23.05.0-trunk_Armsomw3_bullseye_legacy_5.10.110_gnome_desktop.img.xz | Armbian、debian 11、内核 5.10、桌面 |
Armbian_23.05.0-trunk_Armsomw3_bullseye_legacy_5.10.110.img.xz | Armbian、debian 11、内核 5.10 |
Armbian_23.05.0-trunk_Armsomw3_bookworm_legacy_5.10.110_cinnamon_desktop.img | Armbian、debian 12、内核 5.10、桌面 |
Armbian_23.05.0-trunk_Armsomw3_bookworm_legacy_5.10.110.img | Armbian、debian 12、内核 5.10 |
Armbian_23.05.0-trunk_Armsomw3_jammy_legacy_5.10.110_gnome_desktop.img.xz | Armbian、Ubuntu 22.04、内核 5.10、桌面 |
Armbian_23.05.0-trunk_Armsomw3_jammy_legacy_5.10.110.img.xz | Armbian、Ubuntu 22.04、内核 5.10 |
启动板子
- (可选)如果使用SD卡启动,需要插入板上的插槽。
- (可选)使用 USB 转 TTL 串行电缆在 PC 和 ArmSoM-w3 板之间建立连接。
- 通过具有 C 型端口或 PoE 或直流电源的适配器为 ArmSoM 供电
- ArmSoM-w3 将启动且绿色电源 LED 亮起。过了一会儿,另一个蓝色 LED 开始闪烁,红色 LED 用户控制
接口使用
从主机 PC/笔记本电脑访问
选项 1:HDMI 显示器和鼠标
您可以在 HDMI 显示器上打开终端并在键盘上输入命令。
选项 2:串行控制台
请参阅串行控制台
选项 3:亚行
使用RK提供的烧录工具,在底部看不到“Found an MSC device”这一行。使用 USB-typeC 电缆将计算机连接至开发板。在Windows页面,使用“Windows+R”组合键打开命令终端,输入adb shell可以看到“root@linaro-alip:/#”。
引领
在 ArmSoM-W3 上,三色 LED 被配置为 LED 类设备。当蓝色 LED 未激活时,绿色 LED 将显示,指示电路板已通电。您可以通过写入 /sys/class/leds/blue:status/trigger 来控制蓝色 LED 的行为模式。默认情况下,只有 root 用户可以写入设备。蓝色 LED 的默认模式是心跳。
linaro@linaro-alip:/home/linaro# sudo su // linaro 密码
root@linaro-alip:/home/linaro# 回显计时器 > /sys/class/leds/blue:status/trigger
root@linaro-alip:/home/linaro# echo 活动 > /sys/class/leds/blue:status/trigger
您可以在触发器属性上使用 cat 来列出所有可用的 LED 模式。括号中的值是当前活动模式。
root@linaro-alip:/home/linaro# cat /sys/class/leds/blue:status/trigger
无 rfkill-any rfkill-无 kbd-scrolllock kbd-numlock kbd-capslock kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock tcpm-source-psy-4 -0022-在线 mmc2 mmc1 计时器 oneshot 磁盘活动 磁盘读取磁盘写入 ide-磁盘 mtd nand-磁盘 心跳背光 gpio cpu cpu0 cpu1 cpu2 cpu3 cpu4 cpu5 cpu6 cpu7 mmc0 [活动] 默认开启瞬态闪光火炬恐慌 netdev rfkill0
在 None 模式下,写入 /sys/class/leds/blue:status/brightness 可以手动控制蓝色 LED 的状态。
root@linaro-alip:/home/linaro# echo none > /sys/class/leds/blue:status/trigger
root@linaro-alip:/home/linaro# echo 1 > /sys/class/leds/blue:状态/亮度
root@linaro-alip:/home/linaro# echo 0 > /sys/class/leds/blue:状态/亮度
红灯相同,类设备/sys/class/leds/red:status/trigger
实时时钟设备
ArmSoM-w3配备1个RTC IC hym8563
首先,插入RTC电池,给RTC IC供电。请注意,我们应将 RTC 电池保留在 RTC 连接器中。
其次,检查驱动是否加载成功。
root@linaro-alip:~# dmesg | grep 实时时钟
[3.149263]rtc-hym8563 6-0051:rtc信息有效
[3.154624]rtc-hym8563 6-0051:注册为rtc0
[3.155646]rtc-hym8563 6-0051:将系统时钟设置为2021-01-01T12:00:05 UTC (1609502405)
最后检查是否可以查看和设置时间。
root@linaro-alip:~# hwclock -r
2022-08-07 13:38:24.370866+00:00
root@linaro-alip:~# 日期
2022年08月07日 星期日 13:38:41 UTC
root@linaro-alip:~# hwclock -w
以太网
ArmSoM-w3配置1个2.5G以太网接口。您可以使用网线将ArmSoM-w3连接到网络(一端连接到外部网络端口或路由)。ArmSoM-w3 会自动配置网络以供您访问互联网。
使用 ifconfig 命令检查以太网是否正常工作,该命令显示网卡 eth0 或 enP4p65s0 以及以太网 IP 地址。另外,您还可以使用ping工具来测试网络连通性。
如果配置
ping www.google.com
如果连接了网线,则不会为该节点分配 IP 地址。
dhclient eth0
或者
dhclient enP4p65s0
无线网络/蓝牙
ArmSoM-w3 不配备板载 WiFi/BT。目前,ArmSoM-w3 已测试并支持以下 WiFi 卡。
1.RTL8852BE
2.AP6256
要测试WIFI性能,我们需要按照以下步骤进行:
# 1.切换到超级用户模式
root@linaro-alip:/# sudo su
# 2.打开WIFI
root@linaro-alip:/# nmcli r wifi 打开
# 3.扫描WIFI
root@linaro-alip:/# nmcli 开发 wifi
# 4.连接WIFI网络
root@linaro-alip:/# nmcli dev wifi 连接“wifi_name”密码“wifi_password”
声音的
查看系统中的声卡。
root@linaro-alip:/# aplay -l
**** 播放硬件设备列表 ****
卡 0:rockchipdp0 [rockchip,dp0],设备 0:rockchip,dp0 spdif-hifi-0 [rockchip,dp0 spdif-hifi-0]
子设备:1/1
子设备#0:子设备#0
卡 1:rockchipes8316 [rockchip-es8316],设备 0:fe470000.i2s-ES8316 HiFi es8316.7-0011-0 [fe470000.i2s-ES8316 HiFi es8316.7-0011-0]
子设备:1/1
子设备#0:子设备#0
卡3:rockchiphdmi0 [rockchip-hdmi0],设备0:rockchip-hdmi0 i2s-hifi-0 [rockchip-hdmi0 i2s-hifi-0]
子设备:1/1
子设备#0:子设备#0
卡4:rockchiphdmi1 [rockchip-hdmi1],设备0:rockchip-hdmi1 i2s-hifi-0 [rockchip-hdmi1 i2s-hifi-0]
子设备:1/1
子设备#0:子设备#0
指定播放音频文件的声卡。
aplay -D hw:0,0 /mnt/test.wav
MIC
root@linaro-alip:/root# arecord -D hw:1,0 -f S16_LE -t wav -c2 -r 16000 -d 3 t.wav
录音 WAVE 't.wav':带符号 16 位 Little Endian,速率 16000 Hz,立体声
root@linaro-alip:/root# aplay t.wav
播放 WAVE 't.wav':带符号 16 位 Little Endian,速率 16000 Hz,立体声
储存设备
支持三种类型的存储设备
微型SD卡
/dev/mmcblk1
多媒体卡
/dev/mmcblk0
NVME M.2 SDD
root@linaro-alip:/home/linaro# mkdir temp
root@linaro-alip:/home/linaro# mount /dev/nvme0n1 temp
相机
1.MIPI-CSI
摄像头采用IMX415模组,摄像头模组连接并上电后可以查看启动日志。
root@linaro-alip:/# dmesg | grep IMX415
[2.547754]imx415 3-001a:驱动程序版本:00.01.08
[2.547767]imx415 3-001a:获取 hdr 模式失败!默认没有 hdr
[2.547819]imx415 3-001a:无法获取电源gpios
[2.547826]imx415 3-001a:无法获取默认引脚状态
[2.547831]imx415 3-001a:无法获得睡眠引脚状态
[2.547850]imx415 3-001a:未找到供应DVDD,使用虚拟调节器
[2.547918]imx415 3-001a:未找到电源 dovdd,使用虚拟调节器
[2.547945]imx415 3-001a:未找到供应avdd,使用虚拟调节器
[2.613843]imx415 3-001a:检测到imx415 ID 0000e0
[2.613890]rockchip-csi2-dphy csi2-dphy0:dphy0匹配m00_b_imx415 3-001a:总线类型5
[18.386174]imx415 3-001a:设置fmt:cur_mode:3864x2192,hdr:0
[18.389067]imx415 3-001a:设置曝光(shr0)2047 = cur_vts(2250)-val(203)
内核为相机分配设备信息描述文件。
grep "" /sys/class/video4linux/v*/name | | grep "" /sys/class/video4linux/v*/name | grep 主路径
/sys/class/video4linux/video11/name:rkisp_mainpath
验证相机的功能
抓一张照片
#v4l2-ctl -d /dev/video11 --set-fmt-video=宽度=3840,高度=2160,像素格式=NV12 --stream-mmap=3 --stream-skip=60 --stream-to=/ tmp/cif73.out --stream-count=3 --stream-poll
使用 gst-launch-1.0 在桌面上显示
# gst-launch-1.0 v4l2src 设备=/dev/video11 !视频/x-raw,格式=NV12,宽度=3840,高度=2160,帧率=30/1!xv图像接收器
2.USB3.0摄像头
连接usb3.0摄像头后,打开Qt V4L2 test Utility应用程序进行测试
然后打开视频节点:video21
然后点击相机按钮,您将看到相机屏幕
HDMI接收
ArmSoM-w3使用rk3588芯片内置的hdmi_in端口,可以使用v4l2命令测试hdmi in接口。
查看所有视频节点
ls /dev/视频*
查找 rk hdmirx 设备
执行v4l2-ctl -d命令指定vidoe节点。执行-D命令查看节点信息。使用驱动程序名称检查 rk_hdmirx 设备。
# v4l2-ctl -d /dev/video0 -D
司机信息:
驱动程序名称:rk_hdmirx
卡类型:rk_hdmirx
总线信息:fdee0000.hdmirx-controller
驱动程序版本:5.10.66
能力:0x84201000
多平面视频捕捉
流媒体
扩展像素格式
设备能力
设备上限:0x04201000
多平面视频捕捉
流媒体
扩展像素格式
查询分辨率和图像格式
查询当前分辨率和图像格式:
# v4l2-ctl -d /dev/video17 --get-fmt-video
多平面视频捕捉格式:
宽度/高度:3840/2160
像素格式:“NV16”
字段:无
飞机数量 : 1
标志:预乘-alpha,000000fe
色彩空间:未知 (1025fcdc)
传递函数:未知 (00000020)
YCbCr 编码:未知 (000000ff)
量化:默认
平面 0 :
每行字节数:3840
图片尺寸:16588800
抓取图像文件
将镜像文件保存到设备,adb pull到PC,通过7yuv等工具查看:
v4l2-ctl --verbose -d /dev/video17 \
--set-fmt-video=宽度=3840,高度=2160,像素格式='NV16' \
--stream-mmap=4 --stream-skip=3 \
--stream-to=/data/4k60_nv16.yuv \
--stream-count=5 --stream-poll
查询HDMI接收状态
查询当前HDMI RX的状态,包括信号锁定、图像格式、Timings信息、Pixl Clk等。
# 猫 /d/hdmirx/状态
状态:插件
Clk-Ch:锁定 Ch0:锁定 Ch1:锁定 Ch2:锁定
Ch0-Err:0 Ch1-Err:0 Ch2-Err:0
颜色格式:YUV422 存储格式:YUV422(8 位)
模式:3840x2160p60 (4400x2250) hfp:172 hs:92 hbp:296 vfp:8 vs:10 vbp:72
像素时钟:594024000
扇子
echo 0 > /sys/devices/platform/fd8b0010.pwm/pwm/pwmchip*/export
echo 10000 > /sys/devices/platform/fd8b0010.pwm/pwm/pwmchip*/pwm0/period
回声 5000 > /sys/devices/platform/fd8b0010.pwm/pwm/pwmchip*/pwm0/duty_cycle
回声反转> /sys/devices/platform/fd8b0010.pwm/pwm/pwmchip*/pwm0/极性
echo 1 > /sys/devices/platform/fd8b0010.pwm/pwm/pwmchip*/pwm0/enable
#echo 0 > /sys/devices/platform/fd8b0010.pwm/pwm/pwmchip*/pwm0/enable
在论坛上发布您的问题:forum.armsom.org
其他的
NPU使用情况
准备工具
1. 使用Ubuntu18.04/Ubuntu20.04操作系统(OS)。
2. 一块W3-PRO板
准备程序
首先确保你的Ubuntu系统上安装了docker,如果没有,参考网上安装教程
我们提供源码以及安装环境的docker镜像:docker image
在PC服务器上创建rknpu文件夹,将固件复制到该文件夹中
rknpu/rknn-toolkit2-1.4.0/docker$ ls
md5sum.txt rknn-toolkit2-1.4.0-cp36-docker.tar.gz rknn-toolkit2-1.4.0-cp38-docker.tar.gz
运行以下命令来运行 docker 镜像。Docker镜像运行后,显示镜像的bash环境
docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb rknn-toolkit2:1.4.0-cp38 /bin/bash
通过附加“-v <host srcfolder>:<image dstfolder>”参数将示例代码映射到 Docker 环境,例如:
docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb -v /your/rknn-toolkit2-1.xx/examples:/examples rknn-toolkit2:1.xx /bin /bash
映射后代码同步
rknn服务需要运行在开发板上
BOARD ARCH对应64位Linux系统上的aarch64目录和32位系统上的armhf目录
1. adb 将 Linux/rknn server/${B0ARD_ ARCH}/usr/bin/ 中的所有文件推送到 /usr/bin
2. adb Push Linux/librknn api/${BOARD ARCH}/librknrnt。所以到 /usr/1ib
3、访问板子串口终端,执行以下命令
chmod +x /usr/bin/rknn 服务器
chmod +X /usr/bin/start_rknn.sh
chmod +X /usr/bin/restart rknn.sh
重新启动_rknn。嘘
运行程序
先在docker镜像中执行adb devices,记住adb ID号
转到 /examples/onnx/yolov5 并更改 test.py
ret = rknn.init_runtime(target='rk3588', device_id=DEVICE_ID, perf_debug=True,eval_mem=True)
输出 = rknn.inference(输入=[img])
ret = rknn.eval_perf(输入=[img], is_print=True)
cv2.imwrite("结果.jpg", img_1)
相关推荐
- 简单Labview实操案例
-
有几位条友私信我说Labview是怎么学的,怎么才能学好Labview,今天给大家简单介绍一下,如果想学上位机,Labview是相对来说比较容易上手的,而且开发速度也比较快,但是运行时候比较吃内存,...
- 关于LabVIEW用于仪器测控的自动测试程序的程序框架的选择问题!
-
有很长一段时间没有在公众号平台上输出、总结关于LabVIEW的知识文字内容了!主要是这段时间自己本职工作任务甚为繁重,加上各种家庭事宜的牵绊,耗费了过多的时间和精力,也就无力及时更新了。今天是端午节假...
- LabVIEW编程基础:分割条控件的使用
-
1、分割条控件简介同其它高级编程语言类似,在LabVIEW中分割条控件也是界面设计中常用的一种控件元素,利用分割条控件可以将前面板划分为多个独立的区域,每个区域都是一个单独的窗格,这些窗格具有前面板的...
- csgo一直显示正在连接到csgo网络怎么办?三招帮你解决
-
CSGO是一款射击类的游戏,它的全名叫反恐精英:全球攻势,是一款由VALVE与HiddenPathEntertainment合作开发、ValveSoftware发行的第一人称射击游戏,相信很...
- cs1.6没有bot怎么办
-
Hi~大家好啊,这里是聚合游戏,每天为你分享游戏相关的内容,喜欢的快来关注哟~...
- 《反恐精英:全球攻势2》 漏洞暴露玩家的IP地址
-
#文章首发挑战赛#据报道,在全球知名的电子游戏——CS2(《反恐精英:全球攻势2》)中存在一个HTML注入漏洞,这个漏洞被广泛利用来在游戏中注入图片并获取其他玩家的IP地址。...
- 《电子宠物》《007黄金眼》《雷神之锤》入选世界电子游戏名人堂
-
世界电子游戏名人堂5月8日公布了新的四位入选者《防卫者》《电子宠物》《007黄金眼》和《雷神之锤》,以向改变游戏行业规则的经典游戏致敬。世界电子游戏名人堂每年都会表彰那些具有持久热度并对视频游戏行业或...
- V社修复《反恐精英2》游戏漏洞:可抓取玩家IP地址、发起XSS攻击
-
IT之家12月12日消息,Valve旗下《反恐精英2》游戏被曝光新的安全漏洞,攻击者通过注入恶意代码来抓取玩家的IP地址,并能对同一游戏大厅中的所有玩家发起跨站脚本攻击(XSS)。攻击...
- 粉丝自制《CS》1.6重制版将于2025年登陆Steam
-
基于Valve官方起源引擎SDK,由多位“CSPromod”粉丝项目前开发人员从头构建的《反恐精英》1.6版本重制版《CS:Legacy》日前宣布将于2025年在Steam发布。开发团...
- 知名网游源代码泄漏 ,外挂潮将来?
-
SteamDatabase近日发布消息称Valve旗下游戏《反恐精英:全球攻势》(CS:GO)与《军团要塞2》(TF2)的源代码疑遭泄露。据了解,游戏源代码如果泄露的话,黑客可以更为轻松地开发出外挂,...
- 求斐波那契数列(Fibonacci Numbers)算法居然有9种,你知道几种?
-
ByLongLuo斐波那契数列...
- 三维基因组:Loop结构 差异分析(2)
-
通过聚合峰分析进行可视化既然已经找出了“WT”和“FS”条件之间的差异loop结构,就可以利用聚合峰分析(APA)来直观地展示loop结构调用的质量。APA是一种以Hi-C数据中的中心loop像...
- 用Excel制作动态图表(动态名称法)
-
动态图表也称交互式图表,指图表的内容可以随用户的选择而变化,是图表分析中比较高级的形式。使用动态图表能够突出重点数据,避免被其他不需要的数据干扰,从而提高数据分析效率。一个好的动态图表,可以让人从大量...