how_to_use_file_system.md 2.4 KB

如何使用 RT-Thread 文件系统

  • 文件系统是开发者最常用的操作系统功能之一,RT-Thread 中很多功能也依赖文件系统完成,后面以 SD 卡作为文件系统介质,介绍一下 RT-Thread 中文件系统的制作和使用

  • 飞腾派如果固件在 SD 卡中,不适用于本文档,可以参考飞腾派SD文件系统

配置 SD 驱动

  • 打开配置 BSP_USING_SDIF,使能 SD 驱动
  • 打开配置 BSP_USING_SDCARD_FATFS,使能 SD 文件系统
  • 根据板子的实际情况选择 SD 控制器,SD0 打开 USING_SDIF0,SD1 打开 USING_SDIF1
  • 根据 SD 控制器连接的介质选择,TF 卡或者 eMMC,例如 USE_SDIF1_TF
  • 在 mnt_sdcard.c 中指定根目录和 SD 设备
  • 进行编译生成镜像

识别 SD 设备

  • 启动镜像后,输入 list devices,查看 SD 设备是否识别成功

    msh />list device
    device                   type         ref count
    ---------------- -------------------- ----------
    sd10             Block Device         0       --> SD1 的第一个分区
    sd1              Block Device         1       --> SD1
    sd0              Block Device         1       
    zero             Miscellaneous Device 0       
    urandom          Miscellaneous Device 0       
    random           Miscellaneous Device 0       
    null             Miscellaneous Device 0       
    e0               Network Interface    1       
    SPI3             SPI Bus              0       
    SPI2             SPI Bus              0       
    SPI1             SPI Bus              0       
    SPI0             SPI Bus              0       
    PWM6             PWM Device           0       
    MIO15            I2C Bus              0       
    DC1              Graphic Device       0       
    uart1            Character Device     2       
    uart0            Character Device     0       
    QSPI0            SPI Bus              0       
    CAN0             CAN Device           0   
    

制作 SD 文件系统

  • 如果之前 SD 卡里没有 FAT32 文件系统,自动挂载可能不会成功,需要启动 RT-Thread 后格式化一个 SD 设备,然后 mount

    msh />mkfs sd1 / elm
    msh />mount sd1 / elm
    mount device sd1(elm) onto / ... succeed!
    
  • 文件系统制作好后,下次启动会自动挂载成根目录

使用 SD 文件系统