打印
[工具下载]

基于M482的DAPLink,,支持HID和WinUSB传输协议!

[复制链接]
1655|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 | 只看该作者
好的,学习一下

使用特权

评论回复
5
八层楼| | 2022-2-3 19:29 | 只看该作者
这两种传输协议有什么不同吗

使用特权

评论回复
6
tpgf| | 2022-2-3 19:33 | 只看该作者
主要用于传输什么数据呢

使用特权

评论回复
7
观海| | 2022-2-3 19:39 | 只看该作者
二者是在速度上相差多少呢

使用特权

评论回复
评论
XIVN1987 2022-2-7 11:39 回复TA
对于USB全速设备: HID的极限传输速度是64*1000/1024 = 62.5 KB/s WinUSB理论上可以占满带宽,即12Mbps / 8 = 1.5MB/s,即使只算一半即750KB/s,,那也比HID快10倍 
8
guanjiaer| | 2022-2-3 19:56 | 只看该作者
应用场合有区别吗

使用特权

评论回复
9
heimaojingzhang| | 2022-2-3 20:03 | 只看该作者
它的包容性还是很不错的

使用特权

评论回复
10
keaibukelian| | 2022-2-3 20:09 | 只看该作者
都支持这两种方式吗

使用特权

评论回复
11
XIVN1987|  楼主 | 2022-2-7 11:40 | 只看该作者
guanjiaer 发表于 2022-2-3 19:56
应用场合有区别吗

WinUSB的缺点是在老版本的Windows上使用比较麻烦,,
所以Win10下用WinUSB,,Win7和XP下用HID

使用特权

评论回复
12
jcky001| | 2022-2-9 16:19 | 只看该作者
应用场合应该是不同的吧

使用特权

评论回复
13
pq113_6| | 2022-3-7 16:37 | 只看该作者
不知道可不可以HID和winusb都支持?还有2者具体的差别多大?有实测数据吗?看你的代码2个差别不大

使用特权

评论回复
14
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倍

使用特权

评论回复
15
pq113_6| | 2022-3-8 09:51 | 只看该作者
XIVN1987 发表于 2022-3-8 09:20
可以编译出HID和WinUSB的bin,下载到Flash的不同位置,,启动时根据跳冒选择跳转到二者之一执行

传输速 ...

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

使用特权

评论回复
评论
XIVN1987 2022-3-8 13:45 回复TA
实际烧写时间 = 数据传输时间 + Flash擦写时间,如果Flash的擦写时间远大于传输时间,那么WinUSB的提升就不那么显著了 不同芯片的Flash擦除、写入时间不一样,,无法一概而论 
16
sparrow054| | 2022-3-9 14:27 | 只看该作者
大牛!!!!!!

使用特权

评论回复
17
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 回复TA
不能做成复合设备吗? 
18
iamaiqiyi| | 2022-9-10 21:33 | 只看该作者
传输速度 是多少M每秒

使用特权

评论回复
19
xiaoyaozt| | 2022-9-11 13:17 | 只看该作者
自动识别是否支持winusb  

使用特权

评论回复
20
nomomy| | 2022-9-11 16:02 | 只看该作者
USB-HID详细资料哪有?  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

48

主题

325

帖子

17

粉丝