[工具下载] 基于M482的DAPLink,,支持HID和WinUSB传输协议!

[复制链接]
3457|23
 楼主| XIVN1987 发表于 2022-1-13 09:30 | 显示全部楼层 |阅读模式
本帖最后由 XIVN1987 于 2022-1-13 09:32 编辑


把DAPLink移植到了M482上,,支持基于HID或WinUSB的调试下载和基于CDC的虚拟串口,,代码比DAPLink官方的简洁很多,,方便理解和移植
https://github.com/XIVN1987/DAPLink

另外做了三个上位机工具,,可同时支持Jlink和DAPLink,,欢迎试用
https://github.com/XIVN1987/DAPCmdr
https://github.com/XIVN1987/MCUProg
https://github.com/XIVN1987/RTTView

另外画了两个小板,,都板载M482做的DAPLink,,方便调试,,
https://github.com/XIVN1987/MicroPi-M482
https://github.com/XIVN1987/MicroPi-STM32

板子用LCEDA画的,,可以直接在浏览器中打开、编辑原理图和PCB,,无需安装庞大的PCB软件
https://oshwhub.com/XIVN1987/M482SIDv2
https://oshwhub.com/XIVN1987/stm32rcv2
kiwis66 发表于 2022-1-18 10:03 | 显示全部楼层
不太懂,这个是自己开发的工具?
 楼主| XIVN1987 发表于 2022-1-18 10:38 | 显示全部楼层
kiwis66 发表于 2022-1-18 10:03
不太懂,这个是自己开发的工具?

对,,基本上是模仿JLink自带的那些软件,,但同时支持JLink和DAPLink

DAPCmdr是模仿JLink Commander,,但是添加了基于SVD文件的寄存器读写和HardFault诊断功能

MCUProg是模仿JFlash,,可以使用Keil的程序下载算法,,给MCUProg添加器件支持可以看这个帖子:https://bbs.21ic.com/icview-2630116-1-1.html

RTTView是模仿JLink RTT Viewer,,但是支持波形显示功能
kiwis66 发表于 2022-1-18 11:03 | 显示全部楼层
好的,学习一下
八层楼 发表于 2022-2-3 19:29 | 显示全部楼层
这两种传输协议有什么不同吗
tpgf 发表于 2022-2-3 19:33 | 显示全部楼层
主要用于传输什么数据呢
观海 发表于 2022-2-3 19:39 | 显示全部楼层
二者是在速度上相差多少呢

评论

对于USB全速设备: HID的极限传输速度是64*1000/1024 = 62.5 KB/s WinUSB理论上可以占满带宽,即12Mbps / 8 = 1.5MB/s,即使只算一半即750KB/s,,那也比HID快10倍  发表于 2022-2-7 11:39
guanjiaer 发表于 2022-2-3 19:56 | 显示全部楼层
应用场合有区别吗
heimaojingzhang 发表于 2022-2-3 20:03 | 显示全部楼层
它的包容性还是很不错的
keaibukelian 发表于 2022-2-3 20:09 | 显示全部楼层
都支持这两种方式吗
 楼主| XIVN1987 发表于 2022-2-7 11:40 | 显示全部楼层
guanjiaer 发表于 2022-2-3 19:56
应用场合有区别吗

WinUSB的缺点是在老版本的Windows上使用比较麻烦,,
所以Win10下用WinUSB,,Win7和XP下用HID
jcky001 发表于 2022-2-9 16:19 | 显示全部楼层
应用场合应该是不同的吧
pq113_6 发表于 2022-3-7 16:37 | 显示全部楼层
不知道可不可以HID和winusb都支持?还有2者具体的差别多大?有实测数据吗?看你的代码2个差别不大
 楼主| XIVN1987 发表于 2022-3-8 09:20 | 显示全部楼层
pq113_6 发表于 2022-3-7 16:37
不知道可不可以HID和winusb都支持?还有2者具体的差别多大?有实测数据吗?看你的代码2个差别不大 ...

可以编译出HID和WinUSB的bin,下载到Flash的不同位置,,启动时根据跳冒选择跳转到二者之一执行

传输速度差异还是挺大的,,HID最大传输带宽只有64*1000/1024=62.5KB/s,,WINUSB起码快10倍
pq113_6 发表于 2022-3-8 09:51 | 显示全部楼层
XIVN1987 发表于 2022-3-8 09:20
可以编译出HID和WinUSB的bin,下载到Flash的不同位置,,启动时根据跳冒选择跳转到二者之一执行

传输速 ...

你说的是理论速度,实际测试有数据吗?烧Flash的等待时间不知道影响多大?

评论

实际烧写时间 = 数据传输时间 + Flash擦写时间,如果Flash的擦写时间远大于传输时间,那么WinUSB的提升就不那么显著了 不同芯片的Flash擦除、写入时间不一样,,无法一概而论  发表于 2022-3-8 13:45
sparrow054 发表于 2022-3-9 14:27 | 显示全部楼层
大牛!!!!!!
pq113_6 发表于 2022-3-10 13:19 | 显示全部楼层
XIVN1987 发表于 2022-3-8 09:20
可以编译出HID和WinUSB的bin,下载到Flash的不同位置,,启动时根据跳冒选择跳转到二者之一执行

传输速 ...

大概看了一下代码,HID和WinUSB最大的区别是设备描述符和配置描述符的差别,应该可以做到一个bin,通过跳线选择对应的设备描述符和配置描述符返回主机,如果牛一点,可以默认winusb,枚举失败就复位然后选择HID的描述符。

评论

knk
不能做成复合设备吗?  发表于 2022-9-8 10:25
iamaiqiyi 发表于 2022-9-10 21:33 | 显示全部楼层
传输速度 是多少M每秒
xiaoyaozt 发表于 2022-9-11 13:17 | 显示全部楼层
自动识别是否支持winusb  
nomomy 发表于 2022-9-11 16:02 | 显示全部楼层
USB-HID详细资料哪有?  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

354

帖子

20

粉丝
快速回复 在线客服 返回列表 返回顶部