之前使用HID传输协议,下载速度比较慢,,所以升级添加了 WINUSB 协议支持,,
通过在Keil Option窗口C/C++页是否定义 DAP_FW_V1 宏,选择使用 HID 协议还是 WINUSB 协议。。
官方的 DAPLink 功能更多,,但代码也很多,,不易阅读,,我这个移植代码比较简洁,,容易读懂和移植,,感兴趣的可以看下
离线
DAPCmdr、MCUProg、RTTView三件套添加CMSIS-DAP v2支持,,感兴趣的可以mark下
https://github.com/XIVN1987/DAPCmdr
https://github.com/XIVN1987/MCUProg
https://github.com/XIVN1987/RTTView
离线
楼主功德无量,DAPLink 上面可以做的文章很多,由于它支持自由扩充命令,可以做出来很多好玩的东西,例如 ATMEL EDBG 就是基于DAPLink 的。
离线
楼主功德无量,DAPLink 上面可以做的文章很多,由于它支持自由扩充命令,可以做出来很多好玩的东西,例如 ATMEL EDBG 就是基于DAPLink 的。
不敢、不敢,,功德都是ARM的,,我只是做了些许微不足道的工作而已
离线
@XIVN1987
“微不足道”,让我想起一个有故事的视频,斜眼笑.gif
离线
看了下增加了v203的支持, 楼主有兴趣移植到ch32v307吗, usbhs的. 疫情放开前搞了一块, 放开后准备玩玩它. 在CDC基础上改了改, 它的中断服务函数没有很好的处理EP0分包, 加入到wcid属性后, 抓包就出错了. 回头看看楼主怎么改的
离线
大佬牛皮,203可以玩了吗,想整个小板子试试看
离线
看了下增加了v203的支持, 楼主有兴趣移植到ch32v307吗, usbhs的. 疫情放开前搞了一块, 放开后准备玩玩它. 在CDC基础上改了改, 它的中断服务函数没有很好的处理EP0分包, 加入到wcid属性后, 抓包就出错了. 回头看看楼主怎么改的
在搞了,,
现在 DAP_PACKET_SIZE 配置成 64 的时候 SWD 可以工作,,超过 64 的时候就出错,,
我对 High Speed USB 还不熟悉,,这个问题感觉比较难搞,,打算网上搜搜看能不能找到 DAPLink HSUSB 移植的讲解说。。
离线
我这有total phase的usb协议分析仪. 如果是传输有问题, 能帮你测.
离线
这个得支持一下。
我也想搞一个速度快一点的。
离线
看了下v305的移植 似乎没有wcid自动安装 v2只是改为了bulk传输
离线
看了下v305的移植 似乎没有wcid自动安装 v2只是改为了bulk传输
USBHS HID 已经足够快了,,没必要改 v2 WinUSB Bulk 传输,,传输再快 V305 处理不过来也没意义。。
而且 HID 兼容性好,,任何平台上都能用。。
离线
@XIVN1987,大佬太牛了;ch32v305的工程编译后在307的demo板上跑了一下,好像虚拟串口用不起来,不知是什么原因,请看下
离线
@XIVN1987,大佬太牛了;ch32v305的工程编译后在307的demo板上跑了一下,好像虚拟串口用不起来,不知是什么原因,请看下
你好,,SWD和CDC功能都是测过的,,可以工作的
刚刚我又重新编译源码下载试了下,,没有问题,,你从github拉取最新代码再试试。。
补充:我昨天修复了一个调试阶段可能CDC不工作的情况,,你拉取最新代码试下,,再不行就检查下硬件电路板吧。。
离线
@XIVN1987,大佬太牛了;ch32v305的工程编译后在307的demo板上跑了一下,好像虚拟串口用不起来,不知是什么原因,请看下
我用的测试板是自己画的,,你可以对比下看看:https://oshwhub.com/xivn1987/ch32v307
离线
@XIVN1987,前面说的虚拟串口用不起来,是直接用它来做目标板的固件下载,低速时也没有反应。
后来用串口工具做个简单的数据收发是好的。没找到有文件收发功能的串口工具,就没再进一步测试。
看来和硬件电路没有关系,烦请大佬再看看。
离线
@Xure
已更新,测试收发大量数据没有问题,,你试下。。
离线
@XIVN1987,又测试了下,比前面有改善,下载固件能进行一些了,但是一会就停了,和波特率高低似乎没有关系;再用串口工具收发文件测试,比较下来有丢失和延迟,低波特率的时候,似乎情况好一点;麻烦再看看
离线
@XIVN1987,又测试了下,比前面有改善,下载固件能进行一些了,但是一会就停了,和波特率高低似乎没有关系;再用串口工具收发文件测试,比较下来有丢失和延迟,低波特率的时候,似乎情况好一点;麻烦再看看
你好,确实有个bug,,已经修复,,你再试下。。
离线
@XIVN1987,你好,刚才用串口工具将收发自环试了下,发送简单的数据或文件都收不到;换用上一个版本能接收,确认不是接线的问题;可能哪边有笔误,请查看下
离线
@XIVN1987,你好,刚才用串口工具将收发自环试了下,发送简单的数据或文件都收不到;换用上一个版本能接收,确认不是接线的问题;可能哪边有笔误,请查看下
我最新的提交把芯片换成TSSOP封装了,,所以引脚都还了
你拉取最新代码后执行“git checkout 175ec1a531fbca547ae3f85f036a38dee07f18ed"检索出改引脚之前的代码再试
离线
你好,我用现在的串口PB10/11自环试了下,收发文件还是不对;工具里面显示的收发计数只有7,和文件大小也不符(发送文件61K,接收文件40K),请见附件——不知怎么回事,文件上传不了
离线
@Xure
抱歉,CH32V 的 DMA 我不太熟悉,,可能还需要几天时间调试。。
你可以找到之前没开启 DMA 的代码,,将其中的:
uint8_t in_buff[64];
uint8_t out_buff[64];
改成:
uint8_t in_buff[512];
uint8_t out_buff[512];
试下。。
离线
@XIVN1987,你好,又仔细的试了下,原来是串口工具收发文件有问题;用最新的版本直接给目标板下载4MB的固件,在921600波特率下,连试了几次都OK。
大佬太牛了!
离线
@XIVN1987,你好,有个LED是给DAP用的;如果也要用这个LED作为串口有数据收发指示的话,请看代码怎么改。谢谢!
离线