有了SPI以后我们经常用来操作flash,这里就不得不提SFUD是一种开源的串行SPI flash通用驱动库,首先需要在rtthread设置选项组件选项卡打开SFUD:
其实通过我们的勾勾选选就打开SFUD功能,实际上IDE的操作也很简单,加载spi_flash_sfud.c文件,并在rt_config.h的配置文件中定义宏RT_USING_SFUD即打开了该功能:
接下来我们需要利用SFUD组件将我们想要操作的SPI flash挂在到对应的总线上,首先通过list device命令查看当前的SPI总线是哪个,然后查看我们的SPI flash设备的CS片选是哪个引脚,然后通过组件提供的挂在函数尝试进行挂在该设备到总线,实际上就是SFUD利用SPI总线的API完成对flash的初始化并注册熬系统驱动中的过程。
编译整个工程,并连接JLINK仿真器进行程序下载:
下载成功后,打开系统finsh串口我们会砍刀关于系统信息的打印,绿色字体部分为SFUD库加载情况及FLASH设备的挂在情况,通过list device命令我们可以砍刀我们定义的W25Q128设备已经加载成功,这个时候我们就是通过SFUD提供的库函数来操作我们的flash设备了。
关于使用SFUD挂在flash的过程到这里就结束了,感谢阅读~!