使用ITM机制实现STM32单片机调试的代码免费下载

资料大小: 0.08 MB

所需积分: 1

下载次数:

用户评论: 0条评论,查看

上传日期: 2019-09-19

上 传 者: 发烧友他上传的所有资料

资料介绍

标签:代码(820)仿真器(274)STM32(3253)

  使用ITM机制实现调试stm32单片机,实现printf与scanf。

  1. ITM简介

  ITM机制是一种调试机制,是新一代调试方式,在这之前,有一种比较出名的调试方式,称为半主机(semihosting)方式。在pc上编写过C语言的人都知道,printf可以向控制台输出,scanf可以从控制台获取输入,这里的printf/scanf都是标准库函数,利用操作系统的这些函数,我们可以很方便的调试程序。在嵌入式设备上(如stm32单片机平台上)开发工具(如 MDK/IAR)也都提供了标准库函,自然也提供了printf/scanf函数,那么这些函数是否可以使用呢? 问题来了,printf向哪里输出呢?并且大部分情况下,也没有键盘,又如何使用scanf实现输入呢?我们都知道,嵌入式设备一般的使用仿真器,如常见Jlink/ulink,可以实现烧录,单步,下断点,查看变量,等等。仿真器将 PC机和单片机连接器来。聪明的设计者们就在考虑是否可以借助仿真器,使得单片机可以借助PC机的屏幕以及PC机的键盘实现printf的输出和scanf的按键获取。也就是说,如下的hello,world程序

  这个程序烧录到单片机中后,仿真器连接接单片机与PC,开始在线调试后,那么这个程序会将“Hello, world”输出到PC机上,在开发工具(MDK/IAR等)的某个窗口中显示。这就相当于,单片机借助了PC机的显示/输入设备实现了自己的输出/输入。这种方式无疑可以方便程序开发者调试。这种机制有多种实现方式,比较著名的就是semihosTIng(半主机机制)和ITM机制。 ITM是ARM在推出semihosTIng之后推出的新一代调试机制。现在我们来尝试一下这种方式调试。

用户评论

查看全部 条评论

发表评论请先 , 还没有账号?免费注册

发表评论

用户评论
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
上传电子资料