首页 » 智能 » STM32F7-Discovery运用ITM作为调试对象_函数_串口

STM32F7-Discovery运用ITM作为调试对象_函数_串口

雨夜梧桐 2024-11-22 09:51:03 0

扫一扫用手机浏览

文章目录 [+]

由于常日我们利用串口作为调试工具,那么久意味着占用至少一个I/O口(常日只用Tx),并且还得存在一个COMS转TTL电平的模块,并且串口慢速,以是STM32供应了ITM。
关于STM32的ITM,我也只是粗略的理解!以是在此对付它的观点不多废话!我只知道一件事,那便是利用它,可以通过SWO接口进行像串口一样的与PC机进行通信,实现UART/USART与PC机的串口助手功能,读写均可。

OK!干这件事,首先须要准备好如下几件东西!

STM32F7-Discovery运用ITM作为调试对象_函数_串口 智能

1、ST-Link驱动,stsw-link009,但是常日有些童鞋的电脑安装ST-Link驱动是,只安装成功了ST-Link的驱动,而没有安装成功虚拟串口的驱动。
特殊把稳:这两个驱动,必须都安装好,否则玩不了ITM。
安装好的示意图如下:

如果不能安装成功的童鞋,请参看我的另一篇文章进行安装,常日来说,还没遇见弗成的!嘿嘿!地址:http://bbs.ickey.cn/group-topic-id-55579.html

2、ST-Link Utility ,ST-Link软件编号为stsw-link004。
这是一个驱动也是一个工具,而ITM的利用,必须依赖于这个工具。

3、移植好程序代码。

OK!实在便是这么几点!首先呢,还是有必要先容这个ITM的利用来源的!首先我在STM32所有的内核文件中创造个事实,

在这里利用Cortex-M7内核的内核头文件core_cm7.h作举例,如下图:

呵呵!可以看到,Debug输入/输出函数。
我去买还看到了声明输入的数组内存区。
再看看函数:

从注释和函数名来看,基本上就已经确定了,这是一个输出函数!现在先不管它往哪里输出!在往下看:

呵呵呵!不用说,一眼就能看出它是一个输入函数,从外部读取数据到MCU。
再往下看!

从注释和函数名基本上也能看出,这是一个校验函数,并且是校验输入的缓存空间的。
这里也先不管!再往下看!呵呵!已经没有往下了,这已经是core_cm7.h文件的后一个内联函数了。
那么久很明确一个事实了,关于ITM的函数只有3个,并且一个为输出,一个为输入,一个为校验。
这绝对不是巧合,而是精心设计的。

通过从上图三个手册中理解,ITM是一种虚拟的串口,可以向串口一样进行将数据打印到指定输出设备上,但是必须知足一个条件,那便是它依赖于SWO引脚,常日我们利用J-Link或者ST-Link大略单纯模块进行多STM32程序的烧录,常日只须要两个端口,SW_CLK和SW_DIO,这种情形是不能利用ITM的,由于SWO引脚并没有接!
那么这个神秘的SWO引脚到底是什么引脚呢?呵呵!快的方法是在事理图当中找,如下图:

呵呵!这是从STM32F7-Discovery板卡的事理同中抠出来的!这个可以根据ST官方的威信确定它的精确性!哈哈!那么还有木有什么其他的证据了呢?实在这种根本的东西,可能是在F7的手册里找不到的,但是在入门型的MCU的手册了肯定是有的,以是我就在F103的参考手册中找到了如下图:

没错!便是上图了,不多说,证据已经充足!如果有兴趣,可以详细理解J-Link和ST-Link接口。

特殊把稳:在这里也供应了这种找资料的方法(实际上是由于我想把这种方法表述出来,以是才有以上的证明),当我们在玩高真个芯片是,有些比较根本的资料在详细芯片的手册上可能找不到,那么怎么办呢?常日的做法是,找到这个公司相应的入门级芯片的手册参考,可能会有须要的资料,这一点在玩三星的S3C6410时,参看协处理器寄存器,命令等,须要参考S3C2440的协处理器手册的情形表示的玲离尽致(但是到了Cortex-A系列,由于内核改动比较大,以是S5PV210等的协处理器手册和S3C2440的还是差别很大的,以是也要把稳等级)。

OK!废话了一大堆!还没讲咋利用ITM呢!实在没什么实现不实现的,人家已经供应打印函数了,咱就移植一下printf,方便调试打印即可!如下图:

没错!你看的没错!便是一行代码!直接调用内联函数__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch),在printf的预留接口调用即可!这样就可以打印了!关于输入,就不多说了!一样的道理!看如下的调用!

没错!你的眼睛没花!便是这样的大略!

4、利用ITM输出打印在PC端。

该如何利用这个ITM打印在PC端呢?普通的串口助手???这是弗成的!这便是前面为毛说必须装ST-Link Utility工具的缘故原由。
便是得利用它!安装好ST-Link Utility工具后,在桌面上会看到:

这样的快捷办法!双击打开!有如下界面!

进行操作:ST-Link->Printf via SWO viewer得到如下界面:

进行如下步骤设置:

(1)在图中1位置设置系统是在频率,由于这块STM32F7-Discovery板卡目前运行的是216MHz,以是就填写216M了。

(2)点击图中位置2,Start,成功启动后,就可以看到图中3有字符串打印了!这么这就算是完事了。

嵌入式物联网须要学的东西真的非常多,千万不要学错了路线和内容,导致人为要不上去!

无偿分享大家一个资料包,

差不多150多G。
里面学习内容、面经、项目都比较新也比较全!
某鱼上买估计至少要好几十。
宓屽叆寮忕墿鑱旂綉瀛︿範璺緞鎬濈淮瀵煎浘棰嗗彇

标签:

相关文章

单片开关电源事理及应用_电压_电流

摘 要:先容了三端离线式脉宽调制单片开关电源集成电路即TOP开关及其范例运用。关键词:单片开关集成电路;开关电源一、序言开关电源自...

智能 2025-01-23 阅读0 评论0

拆一个视频分配器_暗记_旗子

视频分配器的正反面如图1和图2所示。由正面看连接的方法已一览无余了,此外有面板的电源指示灯可以直不雅观地判别出是否已供电。从背面看...

智能 2025-01-23 阅读0 评论0