(学习笔记4)移植fatfs,并进行文件系统测试。
[复制链接]
在现有工程上继续改进,这次加入了spi来初始化flah,并且在flash上层移植fatfs文件系统。
这次的重头戏是fatfs的移植。由于SRAM只有8k,所以我一开始是不太有信心移植fatfs到这款单片机上的。到头来发现是我肤浅了。
这是最后移植成功的内存占用。
4K不到,牛逼plus。我从来不敢相信fat32格式的文件系统只需要占用2K内存就可以完成了,着实震惊了我一把(一开始移植的petit fatfs更少,不过petit似乎不支持创建文件,所以还是fatfs吧)。
fatfs文件系统已经是老生常谈了,虽然只工作了一年,移植fatfs至少是十几二十次了。这次我没有照着例程来改,直接上手对接底层spi-flash驱动。不就是一个read,一个write,一个initialize,还有谁?
最后翻车翻得那叫一个惨,调了半小时问题死活找不出来,老老实实去搜索教程,两分钟解决战斗,究极快枪手(不是)。原因是少初始化一个函数。
DRESULT disk_ioctl (
BYTE pdrv, /* Physical drive nmuber (0..) */
BYTE cmd, /* Control code */
void *buff /* Buffer to send/receive control data */
)(我是憨批(不是))
最后调试结果如下
|