×
单片机 > 单片机程序设计 > 详情

在Ubuntu下开发STM32程序printf函数的重映射问题

发布时间:2021-07-23 发布时间:
|

最近使用STM32CubeMX加Ubuntu18.0来进行STM32相关程序的开发,在使用串口打印的使用出现了如下问题:


printf函数按照Keil中的方式进行映射后,在软件仍然无法正常使用Printf函数 使用了__io_putchar() 和 int putc()都无法解决问题


我是使用的时makefile项目来通过命令行进行编译的,在网上查了,并且亲自测试后得出结论,在STM32CubeMX生成的makefile项目文件缺少syscalls.c文件,进一步查询发现这个主要是进行系统调用的。结合其中的函数,在使用int __io_putchar(int ch)进行printf重映射的时候还需加入系统调用的相关函数,如图所示:



经过上述的重映射之后printf函数就可以使用了,我这边使用了FreeRTOS操作系统,如图:



串口接收到的数据如下图所示:



希望对需要的小伙伴能有所帮助,有喜欢使用开源开发工具进行STM32开发的小伙伴,可以多交流交流

关键字:Ubuntu  STM32程序  printf函数  重映射问题

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
8051单片机的函数发生器的设计