如题在移植FatFs出现报错Error: L6218E: Undefined symbol get_fattime (referred from ff.o).
意思是get_fattime这个函数没定义,编译器不知道这个是个什么东西
后面找原因,发现这个是这个gat_fattime在移植的源文件ff.c中出现,但还是没定义
后面寻找这个FF_FS_NORTC这个是个什么东西,发现这其实是FatFs的时间戳功能,类似于Windows编辑文件后会记录文件的编辑时间。这个gat_fattime函数就是用来提供给FatFs时间的。由于本人技术水平有限,还用不到这么高级的功能,因此需要关闭这个功能。
如何关闭时间戳功能以消除报错
方式1:
020 - STM32学习笔记 - Fatfs文件系统(二) - 移植与测试
使用该博主的方式,写一个gat_fattime函数
方式2:
可以直接ctrl+F搜索“FF_FS_NORTC”,找到在ffconf.h中对这个的定义。可以看到下面也对这个功能作了介绍,其中说到:
set FF_FS_NORTC = 1 to disable the timestamp
将FF_FS_NORTC设置为1,以关闭时间戳
因此直接将FF_FS_NORTC = 1 即可,如下图:
这样在编译时就会跳过带时间戳功能的内容了,就此完成该报错。