文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

一文学会J-Link cmd的使用

2024-12-03 00:12

关注

但是有些情况我们不能使用IDE直接debug,比如发布版本(JTAG或SWD接口可以正常使用),大批量生产时发现几片异常的板子,重新debug问题就消失了。

这个时候使用IDE直接debug已经不能解决问题,我们需要使用J-LinkCommander读取关键寄存器的值来协助我们定位排查问题。

02Jlinkcmd使用

Jlinkcmd它可以方便用户在非仿真的情况下,hold内核、单步、全速、设置断点、查看内核和外设寄存器、读取flash代码等等,方便大家拥有最高的权限查看在运行中的MCU情况,查找非IDE仿真情况下,MCU运行异常的原因。

打开Jlinkcmd,如果单独安装了jlink驱动,我们可以在开始菜单找到Jlinkcmd。

或者在安装目录中找到它

如果你们有独立安装Jlink驱动,同样也可以在Keil的安装目录中找到它

首先使用Jlink连接好MCU,打开软件“Jlink.exe

按照提示输入相应信息connect->?->s->回车(旧版只需要输入usb即可连接目标芯片)

正确的链接目标芯片后:

如上图所示,选项字节里为"5AA5"即为无保护状态。

Jlinkcommand常用命令简介:

03实测

接下来就是实测环节,我们通过一个真实的例子演示一下Jlinkcmd的使用。在之前文章《STM32延时函数的四种方法》中有以下代码

  1. void delay_ms(uint16_t nms) 
  2.   uint32_t temp
  3.   SysTick->LOAD = RCC_Clocks.HCLK_Frequency/1000/8*nms; 
  4.   SysTick->VAL=0X00;//清空计数器 
  5.   SysTick->CTRL=0X01;//使能,减到零是无动作,采用外部时钟源 
  6.   do 
  7.   { 
  8.     temp=SysTick->CTRL;//读取当前倒计数值 
  9.   }while((temp&0x01)&&(!(temp&(1<<16))));//等待时间到达 
  10.   SysTick->CTRL=0x00; //关闭计数器 
  11.   SysTick->VAL =0X00; //清空计数器 

调用示例

  1. while (1) 
  2.  { 
  3.    GPIO_SetBits(GPIOE,GPIO_Pin_4);  //熄灭LED灯                      
  4.    delay_ms(500);//延时500ms 
  5.    GPIO_ResetBits(GPIOE,GPIO_Pin_4);//点亮LED灯                      
  6.    delay_ms(500);//延时500ms 
  7.  } 

我们就用来验证SysTick->LOAD寄存器的值。对于上述代码SysTick->LOAD的寄存器地址,我们可以按照芯片用户手册直接推算地址。或者如下面这样,写段测试代码。

从上图得知,SysTick->LOAD寄存器的地址是0XE000E014,写入寄存器的值是0X007270E0。

按照上述方案读取寄存器的值,步骤如下:

可以看到地址0XE000E014的SysTick->LOAD寄存器的值为0X7270E0。

04后记

这里只是提供了一个简单的演示,可以非IDE仿真情况下,读取寄存器,协助排查MCU运行异常的原因,毕竟如果直接debug就能查到问题,熟悉32系列单片机的毕业生都可以做到。

我们需要在工作中积累这样类似的经验,巧妙使用工具处理一些“诡异”的问题,积累开发经验。

毕竟,填坑力就是核心竞争力。

本文转载自微信公众号「知晓编程」,可以通过以下二维码关注。转载本文请联系知晓编程公众号。

 

来源:知晓编程内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯