stm32cubeide中关于“undefined reference“的解决

集成开发环境:stm32cubeide 1.13.0  

开发板:STM32F429I-Discovery

演示例程:STM32Cube_FW_F4_V1.27.0\Projects\STM32F429I-Discovery\Applications\STemWin\STemWin_HelloWorld 

出现报错:

 初步解决方案:

最终可以实现:

 接下来在该例程基础上计划实现显示数字。使用sprintf函数

 但是此时出现报错:

对于_sbrk出现了无定义的应用。

解决方案:在编译环境中加入底层文件sbrk

 再次debug,不再出现错误:

       此时联系前文,可以推断出最初编译HelloWorld文件出现的是相同的问题,函数read,close,lseek,write都是底层函数,在运行HelloWorld文件时对于这些函数进行了引用,但是并没有进行定义,所以需要自行加入这些底层函数的定义。

加入这些底层函数定义之后,即使在原Linker设置并不改变的情况下

再次运行HelloWorld程序,也会得到不出错的结果。

分析原因:最初的解决方案:设置Do not use system calls from library是通过避免使用这些未被定义的函数来避免产生运行错误,而之后改进的解决方案则是通过添加对于这些函数的定义来从根本上解决运行错误。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32CubeIDE是一款由STMicroelectronics开发的集成开发环境,用于开发基于STM32微控制器的应用程序。它为开发人员提供了一套丰富的工具和功能,使得开发STM32微控制器的过程更加高效和便捷。 STM32CubeIDE文手册是为了方便非英语用户使用STM32CubeIDE而编写的详细说明文档。该手册详细介绍了STM32CubeIDE的安装和配置步骤,以及各种功能和工具的使用方法。它的文翻译有助于更多国开发人员快速上手STM32CubeIDE,并且能更好地理解和利用其的功能。 文手册包含了对STM32CubeIDE界面的介绍,包括工程视图、源代码编辑器、调试器等等。它还介绍了如何创建新项目和导入现有项目,并详细说明了项目配置的各个选项。此外,手册还解释了如何使用各种编译器功能,如编译、构建、调试等。其目的是帮助开发人员了解STM32CubeIDE的各种功能,从而更好地进行嵌入式开发。 手册的最后一部分介绍了如何使用STM32Cube软件包,这是STM32CubeIDE的一个重要组成部分。它包含了许多现成的软件组件,如驱动程序、库文件和例程,以帮助开发人员快速构建应用程序。这部分手册详细说明了如何选择和配置不同的软件包,并提供了一些示例代码以供参考。 总结来说,STM32CubeIDE文手册是一份全面而详细的说明文档,适用于想要使用STM32CubeIDE开发STM32微控制器的开发人员。它提供了对整个开发过程的详细指导,帮助用户更好地了解和使用STM32CubeIDE的各种功能和工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值