keil5 MDK调试printf和JlinkRTT打印总结

keil5 MDK中如果不勾选Use MicroLIB进行printf打印功能适配的话(因勾选后有很多库函数兼容性问题导致编译失败),可以借助Jlink工具RTT实现printf功能,因其内部有printf需要的fputc函数!示例代码如下安装路径,如keil选择第三个Syscalls,同RTT文件夹内容一起加入到工程中:
Jlink安装目录下示例
根据开发环境选择某一个文件
1、Jlink RTT打印只需要RTT文件夹内容,如果自己封装接口,就自定义,如果不需要直接用RTT提供接口即可,应用示例Examples文件夹中test。
要么自动识别设备及地址,要么选择设备系列并指定地址,需要确认map中地址是不是所需地址,是否指定成功,按照所用编译器方法固定地址段即可!
2、printf打印只需要Syscall文件。可以不要下图中的标准输出口,printf可以定向到串口,也可以定向到Jlink RTT viewer,用哪个设备显示出来打印的信息根据自身需求来看。
在这里插入图片描述
<ps:keil mdk更新升级后,可能会因为printf影响代码编译后烧写程序后不能断电,或者debug后不能直接跳转到main,在最开始的Reset Handler,需要点击三次才能运行到main(虽然也没错,但是需要点击连接才可以运行;断电后像是没有程序,需要debug一下),这些都通过Syscall的加入迎刃而解(把printf定义成空也行),至于printf为什么影响这个现象原因不明。>

测试接口:
在这里插入图片描述

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值