为micropython启用文件系统(2)
进入micropython代码目录之前
首先,要准备一些代码SDIO驱动、SD卡读写代码、fatfs的移植。
- 在lib/mm32f3270/mm32/drivers 目录下放置hal_sdio.h/.c文件,SDIO HAL驱动
- 在ports/mm32/boards/MB_F3270 目录下放置sdcard_sdio.h/c文件,SD卡访问函数
- 在ports/mm32/boards/MB_F3270 目录下创建fatfs_port.c,完成oofatfs的移植
- 更新ports/mm32/boards/MB_F3270 目录下的pin_init.c和clock_init.c,配置SD卡需要使用的引脚复用功能和时钟。
特别注意,新增加的文件还好在makefile中登记一下才能编译到系统中,同时需要登记的还有micropython代码仓库中已经存在但未编译在最小系统中的一些文件,详见下节说明。
考虑到在micropython代码量比较大,调试比较麻烦,我是在keil中用example project单独把芯片驱动代码和SD卡读写读写操作的程序都调试好之后再迁移到micropython中。
fatfs_port.c中仅仅实现get_fattime()函数。这个函数是oofatfs创建或者修改文件时给文件添加时间戳的,读文件用不到。如果以后在micropython中加入硬件RTC的驱动程序,可以在此处读取当前的时间。大多数情况下,oofatfs对时间戳没要求,支持RTC还需要硬件电路的支持,配套一块纽扣电池,板子做得也不小巧,想想还是算了吧,写个假时间确保代码能编译通过就好。
#include

本文介绍了在Micropython上启用FATFS文件系统的过程,涉及HAL_SDIO和SD卡读写代码的配置,以及oofatfs的移植。在keil中调试驱动和文件系统操作后,将代码整合到Micropython。关键步骤包括在main()中初始化VFS,实现open()函数,并正确使用fs_user_mount_t和mp_vfs_mount_t结构体。虽然参考帖子的部分内容已过时,但通过研究和实验,成功实现了文件系统的启用。
最低0.47元/天 解锁文章
2361

被折叠的 条评论
为什么被折叠?



