分享

MDK配合J

 ada_lib 2015-01-19
 本帖最后由 wyw08 于 2014-2-25 11:01 编辑

在『野火教程』中,提到过用『串口+函数重定向+超级终端』实现数据流的显示,这种调试方式是以占用1个串口作为代价,我当初想用这种调试方法,还特地买了一个USB转TTL的转接器。

实际上,MDK 配合 J-Link就能够实现调试时数据流的显示,不需要额外的硬件。这种方式的优点是节省硬件资源,缺点在于只能用于硬件调试阶段,野火的方式还能够用于实际运行阶段。


工程环境:MDK 5 + J-Link v8


以下是综合几篇帖子整理出来的步骤。



步骤:
第一部分:MDK 5中的设置。
  • 在Options – Debug - Use中选择J-LINK / J-TRACE Cortex。
  • 点击Settings,进入弹出窗口的Debug选项卡,J-Link / J-Trace Adapter窗口区域中的Trace Port选项默认为JTAG,改为SW。
  • 点击Trace选项卡,此选项卡中的内容用于跟踪、调试。使能(Trace)功能,Core频率设置为72MHz(根据实际使用频率设定),默认的为10MHz。在ITM Stimulus Ports窗口区域,设置Enable的值为0x00000001,设置Privilege的值为0x00000000。

第二部分:ITM仿真端口的宏定义、printf函数的重定向。
  • Add ITM Port register definitions to your source code.该部分在debug_printf.h文件(见附件)中。
  • Add an fputc function to your source code that writes to the ITM Port 0 register. The fputc function enables printf to output messages.该部分在debug_printf.c文件(见附件)中。
  • 在需要用到printf显示数据流的源文件中包含debug_printf.h文件,在debug_printf.h文件中已经包含了stdio.h文件,但为了避免混淆,此处仍包含stdio.h文件(学习C语言的后遗症)。

第三部分:
  • 编写程序时,在需要用printf显示信息的地方调用printf函数。
  • 在硬件调试时,打开View - Serial Windows - Debug (printf) Viewer窗口。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多