STM32 keil 使用FatFs时出现报错Error: L6218E: Undefined symbol get_fattime (referred from ff.o).

如题在移植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 即可,如下图:
在这里插入图片描述
这样在编译时就会跳过带时间戳功能的内容了,就此完成该报错。

水平有限,如有错误,欢迎指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值