MDK-Keil工程移植到STM32CubeIDE后,编译报警告:_close,_lseek,_read,_write is not implemented and will always fail.

问题描述:

MDK-ARM Keil的工程移植到STM32CubeIDE后,经过调整,能编译通过,但是有四个编译警告,分别是:
_close,_lseek,_read,_write is not implemented and will always fail.
在这里插入图片描述警告如上图👆


解决方案

用STM32CubeIDE中集成的STM32CubeMX配置好工程,生成代码时,有一个文件syscalls.c,该文件中弱定义了_close, _lseek, _read, _write等函数,把该文件添加到现有工程中,编译,警告消失。
在这里插入图片描述syscalls.c源文件如上图。
注:STM32CubeIDE使用的是GCC编译器,MDK-ARM使用的是ARMCC编译器,原工程中与ARMCC编译器关联的文件,如一些汇编代码文件,要替换为GCC编译器对应的文件!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值