【MM32F103 MiniBoard试用体验】+ITM功能

  • 222zhumingming
  • LV2工程师
  • |      2016-11-13 21:05:53
  • 浏览量 1105
  • 回复:2
本帖最后由 222zhumingming 于 2016-11-13 21:12 编辑 使用ITM机制实现调试stm32单片机,实现printf。ITM机制是一种调试机制,是新一代调试方式,在这之前,有一种比较出名的调试方式,称为半主机(semihosting)方式。在pc上编写过C语言的人都知道,printf可以向控制台输出,scanf可以从控制台获取输入,这里的printf/scanf都是标准库函数,利用操作系统的这些函数,我们可以很方便的调试程序。在嵌入式设备上(如stm32单片机平台上)开发工具(如MDK/IAR)也都提供了标准库函,自然也提供了printf/scanf函数,那么这些函数是否可以使用呢? 问题来了,printf向哪里输出呢?并且大部分情况下,也没有键盘,又如何使用scanf实现输入呢?我们都知道,嵌入式设备一般的使用仿真器,如常见Jlink/ulink,可以实现烧录,单步,下断点,查看变量,等等。仿真器将PC机和单片机连接器来。聪明的设计者们就在考虑是否可以借助仿真器,使得单片机可以借助PC机的屏幕以及PC机的键盘实现printf的输出和scanf的按键获取。下面比较一下STM32和MM32之间ITM寄存器异同Stm32 MM32 设置Jlink使能TRACE功能对于stm32调试如下: 对于MM32调试如下:程序会死在ITM里面,从寄存器也可以看出MM32F103中ITM功能没有STM32做得好。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:2
MindMotion 2016-11-16
跟友商的寄存器不一样,可以参考例程
0   回复
举报
发布
MindMotion 2016-11-15
死在TIM里面?开中断了?
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子