summaryrefslogtreecommitdiff
path: root/bsp/phytium/doc/how_to_use_file_system.md
blob: 2590a520dc2ddb3978c610d36b6a0eab84c4e7b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# 如何使用 RT-Thread 文件系统

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

- 飞腾派如果固件在 SD 卡中,不适用于本文档,可以参考[飞腾派SD文件系统](./use_phytium_pi_sd_image.md)

## 配置 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 文件系统

- 参考[RT-Thread 的文件系统使用说明](https://www.rt-thread.org/document/api/group___d_f_s.html)