使用这个库烧录ESP32出现的问题
WangShuoran opened this issue · 4 comments
尊敬的开发者:
我的环境是Win10, 想通过CMSIS-DAP烧录ESP32,但是出现了:
在Vscode的ESP-IDF插件中显示:
我保证ESP32和CMSIS-DAP的线都插对了。
我没有编译,而是使用Action自动编译的结果替换掉IDF自带的OpenOCD来操作的。
而如果使用IDF自带的OpenOCD,就会出现:
我寻找到https://www.esp32.com/viewtopic.php?t=22336 ,是其中一个回答者提供建议使用这个库来替代官方库使用。
正常可以得出GDB连接到3333的,现在它并没有。
我又按照https://blog.csdn.net/zztiger123/article/details/106527952 这个文章操作,发现也是同样的效果。
所以,请问,是我的操作有问题,还是我的烧录器是有问题的,我问了官方他们现在的CMSIS-DAP-v2是否支持,但没有得到回复,我查了一些资料,他们说如果CMSIS-DAP经过了硬编码是不能烧录其他架构的芯片的,我不知道如何判断我的烧录器是否可用,我使用的是这个烧录器:https://item.taobao.com/item.htm?spm=a1z09.2.0.0.8ca82e8d2j9siV&id=617799667060&_u=t2ifqafnd2cc
请问我该如何排错,我现在已经买了官方的ESP-Prog了,但是我非常想知道我的问题,如果你能提出一些小建议,我非常感谢!
esp32分支已经很久没有合并上游改动了,可能有些API需要增加。
另外不建议在openocd下使用cmsis-dap(包括V2)协议的调试器,因为驱动层损耗太大了,速度非常不理想。
就ESP32来说,用jlink速度相对较好,介意版权的话,找个FT2232的调试器。相信这几十块钱相对节省的时间而言是物有所值的。
@talpachen 谢谢您,看来不是我的问题,也不是库的问题,也不是ESP32的问题,就是ESP32底层架构没有支持好CMSIS-DAP。所以大家默认都不会用这个调试器来做这个功能开发。我也看到了调试它的调试器推荐,其中就有你所说的ft2232,https://medium.com/@manuel.bl/low-cost-esp32-in-circuit-debugging-dbbee39e508b ,来源不正的jlink都较贵,更何况正版,而且用不着,所以我选择加购一个ft2232, 并且我收集到其他资料 https://mcuoneclipse.com/2019/10/20/jtag-debugging-the-esp32-with-ft2232-and-openocd/ ,和视频 https://www.youtube.com/watch?v=5hMWFluwKt0 ,供其他同学参考。
也希望您能加一些标记,让新来的同学放弃尝试这个行为,如果ESP32那里的OpenOCD支持CMSIS-DAP应该会对我发在哪里的issue回复,谢谢您
@WangShuoran 只要合并上游更新就能支持最新的ESP-IDF了,或者等一等ESP-IDF的更新,毕竟CMSIS-DAP V2已经合并到主线了。
这个仓库建立时,V2协议只是一个patch。
@WangShuoran 补充一下,https://github.com/espressif/openocd-esp32/blob/master/src/jtag/drivers/cmsis_dap_usb_bulk.c
esp-idf master已经支持V2,我估计用最新的beta版本就可以。