diff --git a/rt-thread-version/rt-thread-standard/application-note/components/dfs/an0012-dfs.md b/rt-thread-version/rt-thread-standard/application-note/components/dfs/an0012-dfs.md index 8bf0349b46e0bd68a720df04765ef8dadecfbd3a..d2137376d87acebca1715beefbed973523cadda1 100644 --- a/rt-thread-version/rt-thread-standard/application-note/components/dfs/an0012-dfs.md +++ b/rt-thread-version/rt-thread-standard/application-note/components/dfs/an0012-dfs.md @@ -74,7 +74,17 @@ DFS 框架的文件系统实现层需要存储设备驱动层提供驱动接口 #### 检查存储设备驱动 -在 stm32f429-apollo 开发板上 ` SPI Flash` 挂在了 SPI5 总线上,对应的 `SPI Device` 的设备名为 `spi50`。在终端输入 `list_device` 命令可以看到名为 `spi50` 的设备类型为 `SPI Device`,就说明 SPI 设备添加成功。如果没有出现相应的设备,则需要检查驱动程序,查找错误。 +SPI 驱动会注册 SPI 总线,SPI 设备需要挂载到已经注册好的 SPI 总线上。使用 `rt_spi_bus_attach_device` 函数挂载一个 SPI 设备到指定的 SPI 总线,并向内核注册 SPI 设备,并将 user_data 保存到 SPI 设备的控制块里。 + +一般 SPI 总线命名原则为 spix, SPI 设备命名原则为 spixy ,如 spi10 表示挂载在 spi1 总线上的 0 号设备。**user_data 一般为 SPI 设备的 CS 片选引脚指针**,进行数据传输时 SPI 控制器会操作此引脚进行片选。使用 `rt-thread/bsp/stm32` 目录下的 BSP 则可以使用 `rt_hw_spi_device_attach` 函数挂载 SPI 设备到总线。 + +在 stm32f429-apollo 开发板上 `SPI Flash` 挂在了 SPI5 总线上,片选引脚为 PF6,使用 +```C +rt_hw_spi_device_attach("spi5", "spi50", GPIOF, GPIO_PIN_6); +``` +注册 `spi50` 设备。 + +在终端输入 `list_device` 命令可以看到名为 `spi50` 的设备类型为 `SPI Device`,就说明 SPI 设备添加成功。如果没有出现相应的设备,则需要检查驱动程序,查找错误。 ![查看设备列表](figures/1528449652153.png)