ROC-RK3588S-PC (Android 12) M.2接口的配置与使用

Posted Neutionwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROC-RK3588S-PC (Android 12) M.2接口的配置与使用相关的知识,希望对你有一定的参考价值。

🍇 博主主页: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,relatime 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

以上是关于ROC-RK3588S-PC (Android 12) M.2接口的配置与使用的主要内容,如果未能解决你的问题,请参考以下文章

ROC-RK3588S-PC (Android 12) M.2接口的配置与使用

ROC-RK3588S-PC (Android 12) M.2接口的配置与使用

ROC-RK3588S-PC八核8K人工智能开源主板

ROC-RK3588S-PC八核8K人工智能开源主板

ROC-RK3588-PC 八核8K人工智能开源主板

ROC-RK3588-PC 八核8K人工智能开源主板