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

【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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版