ROC-RK3588S-PC (Android 12) M.2接口的配置与使用
时间:2022-10-14 05:30:00
?? 博主主页:Systemcall小酒屋
?? 博主简介:Neutionwei,C站嵌入式领域的高质量创作者之一,热爱开源技术,喜欢分享极客的技术经验,注重简单的风格,热衷于用简单的案例讲述复杂的技术,假书,真案例,这是厦门大学教数学院士说,成就是最好的老师,技术沉淀,也分享,成就感的积极反馈是支持我不断努力的动力!
?? 专栏目录:Firefly-RK3588板卡
?? 专栏描述:本专栏主要基于:Firefly旗下的RK3588板卡介绍,欢迎订阅,博主会不断更新!
ROC-RK3588S-PC 开发板上有 1 个 M.2 接口:
软件可以配置成 M.2 SATA3.0 接口,支持 SATA 协议的 SSD 使用,也软件可以配置成 M.2 PCIe2.0 接口,支持 NVMe 协议的 SSD 使用。
默认软件配置成 M.2 SATA3.0 接口, 支持 SATA 协议的 SSD 使用。
一、软件配置
在 kernel-5.10/arch/arm64/boot/dts/rockchip/rk3588-firefly-itx-3588j.dtsi
配置如下:
#define M2_SATA_OR_PCIE 1 /*1 = SATA , 0 = PCIe */ /* default use sata3.0 , pcie2.0 optional*/ &combphy0_ps {
status = "okay"; }; #if M2_SATA_OR_PCIE &sata0 {
pinctrl-names = "default"; pinctrl-0 = <&sata_reset>; status = "okay"; }; #else &pcie2x1l2 {
reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>; vpcie3v3-supply = <&vcc3v3_pcie20>; status = "okay"; }; #endif
combphy0_ps
:PHY 节点sata0
:sata0 控制器节点pcie2x1l2
:pcie2x1l2 控制器节点
M2_SATA_OR_PCIE
宏定义:默认值为 1,即配置成 SATA3.0.如果需要配置 PCIe2.0,需修改为 0
二、挂载
2.1 自动挂载
在 Android 将硬盘格式化为可用格式的系统界面可以自动启动
2.2 手动挂载
- 找设备节点
ls /dev/block/sd* /dev/block/sda
- 格式化为EXT4文件格式
mkfs.ext4 /dev/block/sda
- 挂载
mount /dev/block/sda /mnt/media_rw/
- 检查挂载路径
df -h /dev/block/sda 916G 24K 916G 1% /mnt/media_rw
或者
cat /proc/mounts | grep sda /dev/block/sda /mnt/media_rw ext4 rw,seclabel,reltime 0 0
三、读写测速
SATA3.0 的传输速率理论上达到 6.0 Gbps,可以参考如下命令进行读写速度测试:
dd
命令
注意:路径根据实际挂载路径修改
# 写1G文件
echo 3 > /proc/sys/vm/drop_caches
busybox dd if=/dev/zero of=/mnt/media_rw/41AD-09EA/test1 bs=1M count=1024 conv=sync
# 读1G文件
echo 3 > /proc/sys/vm/drop_caches
busybox dd if=/mnt/media_rw/41AD-09EA/test1 of=/dev/null conv=sync
fio
命令
注意:使用 fio 会格式化硬盘
# 写测试
fio -filename=/dev/block/sda -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=1M -size=200G -numjobs=30 -runtime=60 -group_reporting -name=mytes
# 读测试
fio -filename=/dev/block/sda -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=1M -size=200G -numjobs=30 -runtime=60 -group_r