IARITM机制中打印调试信息的途径有哪些

这篇文章将为大家详细讲解有关IAR ITM机制中打印调试信息的途径有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在滕州等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、成都网站制作、外贸网站建设 网站设计制作定制制作,公司网站建设,企业网站建设,成都品牌网站建设,网络营销推广,成都外贸网站制作,滕州网站建设费用合理。

打印调试信息几种途径:

1.串口打印:

将fputc映射到UART,通过USB-TLL转接板打印调试信息。

STM32F103官方提供的代码:

 /**
  * @brief  Retargets the C library printf function to the USART.
  * @param  None
  * @retval None
  */
PUTCHAR_PROTOTYPE
{
  /* Place your implementation of fputc here */
  /* e.g. write a character to the USART */
  USART_SendData(EVAL_COM1, (uint8_t) ch);
  /* Loop until the end of transmission */
  while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET)
  {
  }
  return ch;
}

1.通过Jlink仿真器打印:

cortex-M3内核支持ITM机制,可以通过Jlink打印调试信息。 ITM相关函数在core_cm3.h中有定义,需要将fputc重新映射到ITM,实现printf。

注意:

ITM需要使用SWD的仿真口(且需要连接SWO),而不是常用的Jlink仿真口。

需要激活ITM的Port0端口来捕获信息

时钟需要配置和开发板的时钟一致

SWD接口如下: 

IAR ITM机制中打印调试信息的途径有哪些   

fputc映射代码如下:

 /**

  * @brief  Retargets the C library printf function to the USART.

  * @param  None

  * @retval None

  */

PUTCHAR_PROTOTYPE

{

#ifdef DEBUG_USART1

    /* Place your implementation of fputc here */

    /* e.g. write a character to the USART */

    USART_SendData(USART1, (uint8_t) ch);

    /* Loop until the end of transmission */

    while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET)

    {

        __NOP();

    }

    return ch;

#endif

    

#ifdef DEBUG_ITM

    /* Place your implementation of fputc here */

    /* e.g. write a character to the ITM */

    ITM_SendChar((uint32_t)ch);

    

    return ch;

#endif

}

  IAR配置如下:

  使用SWD

  IAR ITM机制中打印调试信息的途径有哪些

   仿真:

   将数据逻辑断点打在randomvalue变量处,使用Timeline窗口查看randomvalue。 打印随机数变量 randomvalue到Terminal IO窗口,

关于“IAR ITM机制中打印调试信息的途径有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

文章题目:IARITM机制中打印调试信息的途径有哪些
文章链接:https://www.cdcxhl.com/article44/pdhshe.html

成都网站建设公司_创新互联,为您提供虚拟主机搜索引擎优化品牌网站设计网站排名外贸网站建设面包屑导航

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联