打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
关于在Ubuntu下开发STM32程序printf函数的重映射问题(SW4STM32)

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

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

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


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


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


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
STM32调试心得
Keil-STM32程序(使用库)中添加printf函数
STM32学习过程中整理的资料
STM32中printf与scanf的重定向问题
初中生学编程杂谈(1)
1-2 编写第一个C语言程序
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服