打印
[应用相关]

STM32的ITM跟踪调试功能介绍及实现(二)IAR篇

[复制链接]
818|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在上一篇**中,介绍了STM32的ITM跟踪调试功能在KEIL中的应用,本文介绍IAR中如何使用ITM。
与在KEIL中类似,在main.c文件中,增加一行测试ITM的输出语句:
    ITM_SendChar('A');
编译、链接,下载到目标板。



作者:海东青电子
链接:https://www.jianshu.com/p/2cbbaca05da9
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

使用特权

评论回复
沙发
deadtime|  楼主 | 2020-6-21 11:56 | 只看该作者
在IAR中启动debug,进入debug状态,先调出ITM输出数据的观察窗口(只能在IAR的debug状态下操作,代码编辑状态下是不行的,下同):

使用特权

评论回复
板凳
deadtime|  楼主 | 2020-6-21 11:57 | 只看该作者
弹出 Terminal I/O 窗口,ITM的输出将在这个窗口中显示。

工具栏中,点击SWO图标,选 SWO Configuration... :

使用特权

评论回复
地板
deadtime|  楼主 | 2020-6-21 11:58 | 只看该作者
在上图中的两个0的位置打勾,使能ITM的port0端口。然后全速运行程序,但 Terminal I/O 窗口中并没有我们希望的字符‘A’出现,注意,此时IAR工具栏上 SWO 图标是这样的:

使用特权

评论回复
5
deadtime|  楼主 | 2020-6-21 11:59 | 只看该作者
说明SWO没有真正跑起来,这是因为还有一项最重要的配置步骤没有完成 -- 在IAR中“激活”TIM。暂停debug,然后点击菜单条中的 ST-Link :

使用特权

评论回复
6
deadtime|  楼主 | 2020-6-21 12:00 | 只看该作者
如下图、打勾:

使用特权

评论回复
7
deadtime|  楼主 | 2020-6-21 12:01 | 只看该作者
工具栏中的 SWO 由灰色变成绿色(表示有效!)了:

使用特权

评论回复
8
deadtime|  楼主 | 2020-6-21 12:01 | 只看该作者
此时继续debug,可以看到ITM的跟踪输出数据了(字符‘A’):

使用特权

评论回复
9
deadtime|  楼主 | 2020-6-21 12:02 | 只看该作者
补充说明:上面的实验是基于 IAR 8.20.1 的,网上很多资料把ITM不能输出的原因归于下图中未对SWO做正确配置:

使用特权

评论回复
10
deadtime|  楼主 | 2020-6-21 12:02 | 只看该作者
但经过测试,上图中 Via SWO 是可以不用打勾的,甚至都不必打勾Semihosted, 即如下图所示的配置也是没问题的(ITM跟半主机模式Semihosted是不同的概念,使用ITM不必配置半主机是合逻辑的):

使用特权

评论回复
11
deadtime|  楼主 | 2020-6-21 12:03 | 只看该作者
这样配置ITM照样可以正确输出。但是,要特别注意一点:在IAR中每次启动debug时,都必须检查一下上面图三中,两个0的地方是否是打勾的状态!这两个地方必须打勾!本人在测试时就遇到了某次启动debug后,上面两个地方之前打的勾不见了,自然导致在观察窗口中看不到输出。难道IAR没有记录ITM端口的配置状态?目前仍不知是何原因。

使用特权

评论回复
12
deadtime|  楼主 | 2020-6-21 12:04 | 只看该作者
小结:

IAR中ITM的应用,需特别注意 ST-Link 菜单中对SWO的配置;并且,每次debug时,都需要先检查ITM的端口0是否打勾了(激活、并输出到观察窗口)。

本文结束,请见下一篇:ITM在ST-LINK V2客户端上的实现。

使用特权

评论回复
13
deadtime|  楼主 | 2020-6-21 12:04 | 只看该作者

作者:海东青电子
链接:https://www.jianshu.com/p/2cbbaca05da9
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

使用特权

评论回复
14
晓伍| | 2020-7-9 14:59 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
15
八层楼| | 2020-7-9 14:59 | 只看该作者
我还是喜欢用iar

使用特权

评论回复
16
观海| | 2020-7-9 15:00 | 只看该作者
楼主辛苦啦 资料还不错

使用特权

评论回复
17
guanjiaer| | 2020-7-9 15:00 | 只看该作者
介绍的很详细

使用特权

评论回复
18
heimaojingzhang| | 2020-7-9 15:00 | 只看该作者
以前都没有用过这个功能

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

470

帖子

2

粉丝