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调试也是非常方便的。

相关推荐
hongmai6668881 小时前
ESP32-C61-WROOM-1-N8R2:Wi-Fi 6与RISC-V融合的中坚力量
人工智能·单片机·嵌入式硬件·物联网·智能家居·risc-v
华清远见IT开放实验室15 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
AI的探索之旅17 小时前
AI辅助原理图评审:电源去耦、BOOT引脚、VCAP——19项逐一核查,遗漏?不存在的
人工智能·vscode·嵌入式硬件
茯苓gao17 小时前
嵌入式开发笔记:EtherCAT协议从硬件到软件完整配置指南——从零搭建一套EtherCAT通信系统
笔记·嵌入式硬件·学习
GeekArch17 小时前
第24讲:Vibe模式代码风格控制——适配Keil/STM32工程规范
人工智能·stm32·单片机·嵌入式硬件·mcu·决策树·ai编程
Freedom_my18 小时前
STM32项目3
stm32·单片机·嵌入式硬件
国科安芯19 小时前
星间光链路:AS32S601型抗辐射MCU在空间激光通信终端控制中的技术实现
服务器·网络·单片机·嵌入式硬件·物联网·安全·信息与通信
小李不困还能学21 小时前
基于 51 单片机的8 路抢答器设计教程
单片机·嵌入式硬件·mongodb·抢答器
CedarQR21 小时前
万字长文:从零在 RK3588 上部署 PaddleSpeech 中文 TTS 全流程(FastSpeech2 + HiFiGAN)
开发语言·c++·嵌入式硬件·ubuntu·json
萌动的小火苗21 小时前
嵌入式开发中的栈与队列:任务调度为什么依赖数据结构
数据结构·c++·单片机·嵌入式硬件