[讨论] 在esp32上面运行openocd的可玩性讨论

le062   2018-10-16 20:20 楼主
用过openocd的同学都清楚,openocd主程序运行在windows或linux下,运行后提供gdb调试端口4444。一般也会需要一个外部硬件实现swd/jtag接口。
现在考虑的是,能否将openocd整体运行于esp32上,直接提供gdb网络调试端口。再者,这么做是否有实际使用价值?

关于资源,esp32有4M flash和500KB ram,我估计完全足够,大不了做裁剪。
关于接口,直接用esp32的spi/gpio实现这两个接口,实在不行就纯粹gpio翻转。swd读写速度至少能达到200KByte每秒。
关于价格,目前esp32模块很便宜,集成4MB flash的版本已经低于20元。
关于posix,这部分比较麻烦,个人在考虑用vsf的那套,不过我还没研究过这个新特性。应该也有其他移植方式。
关于使用场景,工作台上的话,无任何优势,非工作台环境的话,调试器可以跟着目标板走。

大家怎么看呢?

回复评论 (3)

应该是有价值的,就看可以做到什么程度了。
点赞  2018-10-16 21:05
看来没什么人需要这个,此想法冻结。
要666
点赞  2018-10-20 09:30

进度报告:

硬件平台更换成2MB flash的AIC8800;全代码编译通过,在排除少部分特性及全部LOG后链接通过;

-Os优化下,OpenOCD Code占用大概是1.3MB。

image.png

后续还有很多工作要处理:

1. Heap检查及优化,降低RAM占用

2. 继续裁剪,争取控制到800KB

3. 对接调试口,并优化调试速度

 

业余项目,慢慢搞,搞完会将相关代码开源(调试口除外)

 

要666
点赞  2022-4-6 10:26
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复