你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【MCU实战经验】+通过JLINK实现串口显示调试

[复制链接]
feiante-155820 提问时间:2014-3-29 21:51 /
 首先声明,这个技巧是从网上找到的,并非本人原创。
我们在调试的时候,经常会需要使用到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          0x01000000
 
struct __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就可以像在串口调试工具里面一样显示了。
1.JPG
收藏 1 评论17 发布时间:2014-3-29 21:51

举报

17个回答
stm32f107 回答时间:2014-4-15 20:25:44

RE:【MCU实战经验】+通过JLINK实现串口显示调试

看看萨!
stm32f107 回答时间:2014-4-15 20:29:22

RE:【MCU实战经验】+通过JLINK实现串口显示调试

看看萨!
stm32f107 回答时间:2014-4-15 20:29:31

RE:【MCU实战经验】+通过JLINK实现串口显示调试

看看萨!
xxqforum 回答时间:2014-4-15 22:12:22

回复:【MCU实战经验】+通过JLINK实现串口显示调试

太好了,真的可以就方便了!
fireofengineer 回答时间:2014-4-18 17:49:45

RE:【MCU实战经验】+通过JLINK实现串口显示调试

给力!
ysdx06010302 回答时间:2014-4-19 07:20:11

回复:【MCU实战经验】+通过JLINK实现串口显示调试

 我也想试试。呵呵
ysdx06010302 回答时间:2014-4-19 07:26:27

回复:【MCU实战经验】+通过JLINK实现串口显示调试

 我也想试试。呵呵
Darren_52 回答时间:2014-4-28 21:06:42

RE:【MCU实战经验】+通过JLINK实现串口显示调试

谢谢分享!
wumigou 回答时间:2014-4-28 22:37:05

回复:【MCU实战经验】+通过JLINK实现串口显示调试

工具有利于效率提升
啊哈-401977 回答时间:2014-5-26 11:25:51

回复:【MCU实战经验】+通过JLINK实现串口显示调试

好东西啊
elvsf2 回答时间:2014-5-26 16:35:26

回复:【MCU实战经验】+通过JLINK实现串口显示调试

试试看先
hgqlyl 回答时间:2014-5-26 16:43:08

RE:【MCU实战经验】+通过JLINK实现串口显示调试

不错,但是能不能用串口调试助手看数据呢?
jsxzzcm 回答时间:2014-7-10 20:28:56

回复:【MCU实战经验】+通过JLINK实现串口显示调试

看看下,急用
l308309 回答时间:2014-7-18 09:55:49

回复:【MCU实战经验】+通过JLINK实现串口显示调试

如果可以这样,会很方便
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版