关于SPI接口的FLASH,通信协议的话呢是SPI接口的,按照FLASH的数据手册上的说明发送命令,地址,数据什么的就可以了~。当然,说起来比较简单,不过SPI的协议对CLK要求不是很高,直接用IO口模拟的话呢也是可以的,纯粹的用IO上下沿就可以读取数据了。
SD卡则分为SD模式和SPI的模式,而SD模式有专门的协议解释手册,还是挺厚的。好在是ST提供了一个sdcard.ch的文件,也就是驱动,基本上只要会调用那些API就可以了。具体的协议什么的,需要慢慢的考虑。
关于FatFs的话,它主要实现了一个FAT文件系统的逻辑抽象层。移植的时候diskio.c是需要根据具体情况实现的。具体是实现6个函数。都是底层对具体的存储设备进行操作的。
看完了之后感觉用库来开发STM32的话,有几点要搞清楚,模块的具体情况,定义时序之类的,看STM手册搞搞寄存器,看STM库搞搞库函数,搞清楚怎么调用库函数就可以操作具体的器件部分了。