• 正文
  • 相关推荐
申请入驻 产业图谱

Zephyr 实现一个 DAP 调试器

04/28 09:23
226
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

来源:公众号【鱼鹰谈单片机】,ID   :emOsprey

大家好,我是鱼鹰。

最近一段时间,鱼鹰一直在研究 zephyr 下的 DAP 调试器实现,毕竟 zephyr 号称支持 300+ 开发板,这意味着,你只要写一次代码,就能在各种开发板上使用,也就意味着,基于 zephyr 实现的 DAP 可以在任意开发板上使用,这是非常吸引人的一个点。

跨平台!

历经磨难,终于让鱼鹰实现了 HID 和 WINUSB 的 DAP 复合设备。

目前串口有点小问题,后面修复就好。

另外支持 openocd 和 keil 下的使用。

有些道友可能以为这是一句废话,真正了解的都知道,两者还是有一定区别的,鱼鹰在这里就踩了一个小坑。

另外在 keil 上使用的时候,发现能识别两个设备,但是只能用 HID,不能用 WinUSB。然后对比各种描述符,猜测各种描述符是否可能导致该问题,却发现都不是根本原因,最后在 DAP 数据返回时发现了问题。

另外 zephyr 的参考例子也有很多问题,可谓费了鱼鹰的九牛二虎之力才算搞定,也因此对 USB 设备有了更深的理解,对 zephyr 的框架也有更多的了解。

还有 UBS BOS 描述符也踩了比较多坑, 毕竟之前不了解。

不过结局还是好的。

后面再测试一下下载速度,再完成 U 盘升级功能,就比较完美了,后面就可以基于此添加各种小功能了。

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录