只使用JLINK一根线实现串口功能

来源:本站
导读:目前正在解读《只使用JLINK一根线实现串口功能》的相关信息,《只使用JLINK一根线实现串口功能》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《只使用JLINK一根线实现串口功能》的详细说明。
简介:我们在调试的时候,经常会需要使用到printf指令,通过串口调试工具来查看变量的值,如果是单步或在线调试时,就需要连接JLINK和串口线,对于笔记本,现在都是需要USB转串口,使用起来比较麻烦。

现在我们发现一个好的方法,就是只用JLINK一根线,就可以既在线调试程序,同时也可以查看printf显示的数据,方法如下:

首先,建立一个.c 的文件,内容如下:

#define ITM_Port8(n)    (*((volatile unsigned char *)(0xE0000000+4*n)))#define ITM_Port16(n)   (*((volatile unsigned short*)(0xE0000000+4*n)))#define ITM_Port32(n)   (*((volatile unsigned long *)(0xE0000000+4*n)))#define DEMCR           (*((volatile unsigned long *)(0xE000EDFC)))        #define TRCENA          0x01000000struct __FILE { int handle; /* Add whatever you need here */ };FILE __stdout;FILE __stdin;int fputc(int ch, FILE *f){    if (DEMCR & TRCENA)    {        while (ITM_Port32(0) == 0);        ITM_Port8(0) = ch;    }    return ch;}

然后在配置里面(Options for Target)选择调试工具为J-LINK/J-TRACE Cortex,点击Settings,选择Trace选项,使能Trace,时钟选择实际时钟,比如我是72MHz,在ITM Stimulus Ports只勾选Port0,。

最后,点击仿真,选择View---serial windows----debug viewer就可以像在串口调试工具里面一样显示了。

提醒:《只使用JLINK一根线实现串口功能》最后刷新时间 2024-03-14 01:08:52,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《只使用JLINK一根线实现串口功能》该内容的真实性请自行鉴别。