esp32开发与应用(题外话之j-link调试)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

大部分的mcu都不带wifi和bt,所以对于esp32来说,可以很好地弥补这一点。因此,如果有网络方面的需求,用esp32还是非常不错的,其他mcu这一点就有点相形见绌。不过从另外一个角度来说,esp32的调试目前还是打印为主,对于我们这种老登来说,还是习惯了j-link的调试方式,哪怕是比较新的st-link/v2调试,总觉得没有j-link顺手。

1、st-link/v2调试

现在几乎所有的mcu都支持swd调试。支持swd的调试器也很小巧,只需要一个st-link/v2就可以调试mcu芯片了。不光如此,swd需要的调试线也很少,只需要四根就可以,即clk、dio、vcc和gnd。其中clk和dio分别对应时钟和数据。

2、j-link兼容swd协议

对于jtag来说,本身pin比较多,占据空间比较多,如果板子比较小,使用jtag接口确实比较不方便。但是,这不妨碍用j-link调试swd。线还是那几根线,只需要从j-link找出来pin,插入到对应swd的连线就可以。

3、j-link也需要驱动

我们知道st-link需要安装驱动才能使用,j-link其实也是一样的。

4、选择合适的mcu core

用keil打开工程,调试的时候选择j-link/j-trace cortex之后,一定要选择合适的mcu core,不然可能不认识mcu。因为除了stm32这些大家都知道的mcu,还有国内的好多mcu,特别是最近几年出来的这些新mcu,大部分j-link都不认识。所以,弹窗出来要求我们选择mcu core的时候,一定要选对。

如果没有选择对,其实也没有关系。在当前项目下面,找到JLinkLog.txt和JLinkSettings.ini这两个文件,关掉项目,删掉文件,重新打开项目,这个时候就会提示我们重新选择芯片类型了。

5、用sw兼容模式打开

一般来说,我们进入debug界面之后,一定要用swd模式打开,只有port选中了swd模式,才能识别到具体的mcu,这样才能进行后面的烧入和调试工作。debug界面最重要的有两部分,一部分是左侧的j-link信息,代表j-link被识别到了,还有一个就是右侧的mcu,如果有IDCODE信息,就代表mcu被识别到了。

6、后续就是烧入和调试

用st-link/v2也好,j-link也好,只要能识别到mcu,就意味着后续可以烧入和调试。烧入自不必多讲,必须要先烧入才能调试。调试的话,其实就非常方便,比如单步调试等等。当然,现在很多的mcu芯片,都提供了大量的代码和example,用打印的方式也能做很多的开发,这当然就是另外一个话题了。

烧入的时候,一般都提示,把Reset and Run选上。

当然,具体的烧录算法都是提前配置好的,有兴趣的朋友可以单击Add看看也可以,

7、j-link和jtag的关系

这就和st-link和swd的关系是一样的,前者是工具,后者是协议。对于我们做嵌入式比较早的人来说,用j-link还是非常顺手的,毕竟对jtag可能更有感情一点。当然,不可否认,st-link调试也是非常方便的。

相关推荐
点灯小铭2 小时前
基于单片机的热量计测量系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
wengqidaifeng2 小时前
嵌入式小白第三站:UART、I2C、SPI、ADC 怎么学?从传感器读数到完整小项目
stm32·单片机·嵌入式硬件·51单片机
振南的单片机世界4 小时前
HAL_Delay(1000)真准吗?SysTick的1ms基准从哪来
arm开发·stm32·单片机·嵌入式硬件
NPE~7 小时前
[嵌入式]从0到1开发环境搭建
stm32·嵌入式硬件·教程·clion·stmcubemx·stmcubeclt
项目題供诗8 小时前
STM32-ADC模数转换器(十八)
stm32·单片机·嵌入式硬件
YYRAN_ZZU8 小时前
Ubuntu22.04搭建QEMU嵌入式开发环境全攻略
linux·嵌入式硬件·ubuntu
_YouziTech_9 小时前
【STM32】U8G2图形库应用--菜单设计与开发
stm32·单片机·嵌入式硬件·oled·开机动画·图形库
Silicore_Emma9 小时前
芯谷科技—D55126 漏电保护器专用集成电路
嵌入式硬件·新能源充电桩·芯谷科技·漏电保护器·高性能cmos漏电保护器·智能断路器/物联网配电·家用漏电保护
国科安芯9 小时前
商业航天级抗辐照全双工RS-485/RS-422收发器ASM491S2Y的技术特性与应用研究
运维·网络·单片机·嵌入式硬件·安全·架构·安全性测试