最全USB HID开发资料,悉心整理一个月,亲自测试
刘氓兔的杂谈【001】-片上USB 高速PHY
【经验分享】在进行 USB CDC 类开发时,无法发送 64整数倍的数据
在线直播|无需编写任何代码即可在STM32上实现USB-C Power Delivery
STM32 USB CDC 虚拟多串口
圈圈发布USB图书第二版有感,以及分享一些我学习USB过程...
USB Audio设计与实现
【MCU实战经验】+STM32F107的USB使用
STM32F4-DISC 实现USB主机(U盘)和USB设备(虚拟串口)自动切换
STM32 USB-HID通信移植步骤STM32 USB HID键盘例程
我的程序是官方最新的0254版本,不知道楼主的V2.0.0是什么版本
要改高速USB,首先你的硬件要没有问题,比如说我的STLINK-V3原来就是内置高速USB接口的。 我在CubeMX开个高速的VCP项目,很容易就验证了硬件。 建议您也试一试。, {- E r0 S% X0 Z; \4 w
不知你用什么MCU,DAPLink里面有没有人用过。9 I/ E: J2 W: C1 v+ w2 A7 F0 m3 L
0 l3 B' D5 v! O8 U! s
软件方面,先改usbd_hw.h里面的底层驱动的函数,用你的高速USB库实现,如果有现成的,就省事了。! R* E3 T9 J, V. [+ E4 \# e( y
开通高速,要到usb_config.c文件里面修改配置,可以参考已经搞好的高速项目,比如k26f 和sam3u2c。
接上面的回复。 版本号的问题, K5 D s$ R6 N7 M9 i1 k
2 G [3 r/ R( w9 {7 n2 y
CMSIS-DAP 有2个版本在用:v1.1.0(DAPLink用的),v2.0.0(增加了SWO_STREAM模式等)) k: y0 o8 @; F0 `# [, g- ~) A' {) O# a
l0 _: g& e5 W8 }, a6 a
DAPLink的版本号,0254是最新版的。( Z- R! j6 @. u0 q: M+ H/ r) ?: i
: f4 i% [+ I- m8 b( F6 h+ z
还有一个经常提到的CMSIS-DAP v1,这个是指HID模式的。 CMSIS-DAP v2是指WinUSB模式的。
由于很想将现在的DAPLink移植到STLINK-V3MINI硬件上面,仔细研究了一下DAPLink的源代码。 说实话,我没有使用过DAPLink,随着对DAPLink理念的深入理解,我发现移植DAPLink到独立的硬件上面,比如这个STLINK-V3MINI,意义不大。 现决定放弃。. w# p3 F' I- _/ Z: T
DAPLink是CMSIS-DAP的延申,主要是用于IC厂家在推广一款MCU时提供的开发板/演示板上面使用。功能类似于STLINK在STM32各种开发板上面所提供的辅助开发接口。! J8 E0 O! S# ]' O* h0 v
2 O; V% x: {- k4 u! K+ |/ N J0 b8 ^
1- DAPLink的控制IC,内部称为HIC,常见的是K20DX, LPC11U35, STM32F103等等。 HIC主要功能是运行CMSIS-DAP,具有USB-MSC自我更新能力,和拖拽下载目标板程序的功能,新版本具有WebUSB下载目标程序的功能。
2- DAPLink可以提供一种标准的上位机可控的下载接口,开发板供应商,第三方上位机软件开发商,可以包装成各种傻瓜式的开发环境。 目的是令整个系统容易使用,特别是给儿童使用。这与我们经常使用的IDE不是一码事儿。
# Y/ y' d2 i4 y
3- DAPLink控制板,通常要与目标板一起提供给终端使用者,一般没有单独的设备出售。 因为不同的目标板MCU不同,MCU程序的下载算法也不同,这就使得DAPLink的控制软件也不同,虽然有USB-MSC自我更新能力, 也不能很方便地像JLINK/STLINK/CMSIS-DAP那样在不同的IC之间转换。' J; D. X# ?7 o- H, W4 D1 m
- c% W# A$ s6 V3 P
4- DAPLink所用的HIC要便宜,固件要成熟。 这一点对开发板厂商很重要。 是不是USB2.0高速(高速的价格贵好几倍),不重要。6 c. D" S1 l8 Q' ^2 m5 Q
0 h" |5 [ m; K. P# f) F
( ?6 t/ P) C* X/ L9 U1 |) Q p
所以我..........放弃移植DAPLink,不搞了。 有时间继续优化CMSIS-DAP。
顺便说一下, 使用独立的CMSIS-DAP, 特别是这个高速版的,很好用。
感谢楼主,找了一些资料后我现在搞明白了,我那个电路应该是不能实现高速USB,必须加高速USB的芯片才可以。$ \; V+ G1 N, H7 D% X* a! ^
最近我在研究关闭daplink一键拖拽下载的功能,也就是使其连接电脑后不显示U盘,改了源码里面带着dsiable、msd之类字眼的变量,都不管用,楼主有没有这方面的经验?谢谢
我没有这方面经验,不过不知道您为什么要去掉这个拖拽下载功能,不用摆在那里不行吗。 拖拽下载功能,是有很严格的要求的,不是自己的代码,不能刷的呀。
买IC如果数量不大,当然贵啦。( D+ g- _0 y4 j( T' M+ d0 X1 U
( u8 i# v" p" |
自己用,建议您买2个STLINK-V3MINI,一个不动,一个改装。
谢谢您的建议
(1楼源码已更新)
其实,SWCLK的速度还可以进一步提高,翻倍也不难,有源码在那里,想改就可以改。
这个功能是需要上位机软件支持,ST已经有软件,但是只支持原装的STLINK-V3MINI。 Q* T9 B- i1 {( ]
改装后的CMSIS-DAP,这些GPIOs可以利用做好多事情。, s6 u6 ]+ M( h: _& E5 c
: }( r; ]" ]3 Y
复制出(STLINK-V3-BRIDGE)的控制功能,就要搞清楚ST软件的协议,还是很麻烦的。自己写一个出来,又要连上位机软件都要写。 主要还是觉得用处不大。( h3 D+ X; c7 r& n
也想过用GPIO搞一个逻辑分析仪,后来发现自己做的性能不如20多元TB买的那种。
* z* C6 K. M% g; }; L- b
始终没有想好如何利用起来那些个GPIO/I2C/SPI/CAN/ADC。。。。