您尚未登录。

楼主 # 2022-01-12 20:55:19

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

DAPLink添加WINUSB支持。。

之前使用HID传输协议,下载速度比较慢,,所以升级添加了 WINUSB 协议支持,,

通过在Keil Option窗口C/C++页是否定义 DAP_FW_V1 宏,选择使用 HID 协议还是 WINUSB 协议。。

官方的 DAPLink 功能更多,,但代码也很多,,不易阅读,,我这个移植代码比较简洁,,容易读懂和移植,,感兴趣的可以看下

https://github.com/XIVN1987/DAPLink

离线

楼主 #1 2022-01-12 22:08:22

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: DAPLink添加WINUSB支持。。

DAPCmdr、MCUProg、RTTView三件套添加CMSIS-DAP v2支持,,感兴趣的可以mark下 smile

https://github.com/XIVN1987/DAPCmdr
https://github.com/XIVN1987/MCUProg
https://github.com/XIVN1987/RTTView

离线

楼主 #3 2022-01-14 09:24:51

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: DAPLink添加WINUSB支持。。

llinjupt 说:

楼主功德无量,DAPLink 上面可以做的文章很多,由于它支持自由扩充命令,可以做出来很多好玩的东西,例如 ATMEL EDBG 就是基于DAPLink 的。

不敢、不敢,,功德都是ARM的,,我只是做了些许微不足道的工作而已 big_smile big_smile

离线

楼主 #7 2023-01-12 21:55:11

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: DAPLink添加WINUSB支持。。

曾半仙 说:

看了下增加了v203的支持, 楼主有兴趣移植到ch32v307吗, usbhs的. 疫情放开前搞了一块, 放开后准备玩玩它. 在CDC基础上改了改, 它的中断服务函数没有很好的处理EP0分包, 加入到wcid属性后, 抓包就出错了. 回头看看楼主怎么改的

在搞了,,

现在 DAP_PACKET_SIZE 配置成 64 的时候 SWD 可以工作,,超过 64 的时候就出错,,

我对 High Speed USB 还不熟悉,,这个问题感觉比较难搞,,打算网上搜搜看能不能找到 DAPLink HSUSB 移植的讲解说。。

离线

楼主 #11 2023-01-20 21:07:21

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: DAPLink添加WINUSB支持。。

曾半仙 说:

看了下v305的移植 似乎没有wcid自动安装 v2只是改为了bulk传输

USBHS HID 已经足够快了,,没必要改 v2 WinUSB Bulk 传输,,传输再快 V305 处理不过来也没意义。。

而且 HID 兼容性好,,任何平台上都能用。。

离线

楼主 #13 2023-05-26 11:57:20

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: DAPLink添加WINUSB支持。。

Xure 说:

@XIVN1987,大佬太牛了;ch32v305的工程编译后在307的demo板上跑了一下,好像虚拟串口用不起来,不知是什么原因,请看下

你好,,SWD和CDC功能都是测过的,,可以工作的
刚刚我又重新编译源码下载试了下,,没有问题,,你从github拉取最新代码再试试。。

补充:我昨天修复了一个调试阶段可能CDC不工作的情况,,你拉取最新代码试下,,再不行就检查下硬件电路板吧。。

离线

楼主 #14 2023-05-26 12:00:05

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: DAPLink添加WINUSB支持。。

Xure 说:

@XIVN1987,大佬太牛了;ch32v305的工程编译后在307的demo板上跑了一下,好像虚拟串口用不起来,不知是什么原因,请看下

我用的测试板是自己画的,,你可以对比下看看:https://oshwhub.com/xivn1987/ch32v307

离线

楼主 #16 2023-05-29 22:09:53

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: DAPLink添加WINUSB支持。。

@Xure

已更新,测试收发大量数据没有问题,,你试下。。

离线

楼主 #18 2023-05-30 19:28:14

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: DAPLink添加WINUSB支持。。

Xure 说:

@XIVN1987,又测试了下,比前面有改善,下载固件能进行一些了,但是一会就停了,和波特率高低似乎没有关系;再用串口工具收发文件测试,比较下来有丢失和延迟,低波特率的时候,似乎情况好一点;麻烦再看看

你好,确实有个bug,,已经修复,,你再试下。。

离线

楼主 #20 2023-05-31 22:47:47

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: DAPLink添加WINUSB支持。。

Xure 说:

@XIVN1987,你好,刚才用串口工具将收发自环试了下,发送简单的数据或文件都收不到;换用上一个版本能接收,确认不是接线的问题;可能哪边有笔误,请查看下

我最新的提交把芯片换成TSSOP封装了,,所以引脚都还了

你拉取最新代码后执行“git checkout  175ec1a531fbca547ae3f85f036a38dee07f18ed"检索出改引脚之前的代码再试

离线

楼主 #22 2023-06-01 23:02:11

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 250
积分: 311.5

Re: DAPLink添加WINUSB支持。。

@Xure

抱歉,CH32V 的 DMA 我不太熟悉,,可能还需要几天时间调试。。

你可以找到之前没开启 DMA 的代码,,将其中的:
uint8_t in_buff[64];
uint8_t out_buff[64];
改成:
uint8_t in_buff[512];
uint8_t out_buff[512];
试下。。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn