为micropython启用文件系统(2)

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

为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 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值