搜索
bottom↓
回复: 14

分享基于 CH32V305 的 DAPLink,,High Speed USB with on-chip PHY

[复制链接]

出0入25汤圆

发表于 2023-1-15 16:46:05 | 显示全部楼层 |阅读模式

淘宝上的高速 USB DAPLink 主控都是 atmel SAM3U2C,,价格昂贵、体积偏大

所以移植了个 CH32V305 版本的,,芯片只需 13 块钱,,便宜很多。。代码在此:https://github.com/XIVN1987/DAPLink

只移植了 HID 协议的,,查看了下 DAPLink 官方的 SAM3U2C 移植,,HID 传输下包大小被限制到了 64 字节,,所以 USBHS 版本的 DAPLink 传输只比 USBFS 快了 8 倍,,没用完全发挥出 USBHS 的速度优势。。

不过一般也够用了,,而且传输太快了 DAPLink 主控也未必能处理的过来。。


DAPLink 对 HID 传输下的包大小似乎做了限制,,就算是高速 USB 也设置成 64:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2023-1-15 17:10:34 | 显示全部楼层
老板讲一下,怎么移植的?

出20入186汤圆

发表于 2023-1-15 17:13:40 来自手机 | 显示全部楼层
赞,手头上有307,

出590入992汤圆

发表于 2023-1-15 17:14:51 来自手机 | 显示全部楼层
大神又出来了。

出0入25汤圆

 楼主| 发表于 2023-1-15 17:48:15 | 显示全部楼层
lfgc 发表于 2023-1-15 17:10
老板讲一下,怎么移植的?
(引用自2楼)


第一步、找个类似的官方例程,比如 CH32V305 可以用 SimulateCDC-HID 例程,,两者都是同时使用 HID、CDC 功能,功能相似
第二步、把描述符替换成以前跑通的 DAPLink 程序的描述符
第三步、把 HID 和 CDC 的端点响应函数和 DAPLink 的 HID、CDC 功能代码关联起来,,比如 HID OUT 端点接收到电脑数据后调用 HID_GetOutReport() 把从 USB 接收到的数据搬运到 USB_Request[] 数组里面去。。

主要就是这三步,,剩下的就是调整代码通过编译、然后调试测试。。调试的时候最好有 USB 协议分析仪可以抓取通信过程。。

出0入0汤圆

发表于 2023-1-17 14:54:18 | 显示全部楼层
XIVN1987 发表于 2023-1-15 17:48
第一步、找个类似的官方例程,比如 CH32V305 可以用 SimulateCDC-HID 例程,,两者都是同时使用 HID、CD ...
(引用自5楼)

谢谢大神全面认真地回复。

出0入42汤圆

发表于 2023-1-17 19:14:59 来自手机 | 显示全部楼层
谢谢大神分享

出0入0汤圆

发表于 2023-3-7 20:42:31 | 显示全部楼层
有空自己移植个ch32V307玩下

出0入30汤圆

发表于 2023-3-7 21:29:40 来自手机 | 显示全部楼层
CH32V系列,IO口操作,没有位带区,

出0入25汤圆

 楼主| 发表于 2023-3-8 11:37:44 | 显示全部楼层
ycheng2004 发表于 2023-3-7 21:29
CH32V系列,IO口操作,没有位带区,
(引用自9楼)


ARM 在新的 Cortex-M 内核上已经完全取消了 bit-band,,这是不是说明 ARM 发现这功能很鸡肋,,没啥实际用途啊

实际上 STM32 及其兼容芯片上,一般也是通过 BSRR、BRR 寄存器实现IO口的原子操作,,而不是使用位带

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入30汤圆

发表于 2023-3-8 13:59:18 | 显示全部楼层
XIVN1987 发表于 2023-3-8 11:37
ARM 在新的 Cortex-M 内核上已经完全取消了 bit-band,,这是不是说明 ARM 发现这功能很鸡肋,,没啥实 ...
(引用自10楼)

也是,ARM不像8051,
ARM没有位操作指令, 单有位带区也没什么用,

出700入102汤圆

发表于 2023-12-4 15:31:23 | 显示全部楼层
楼主大神,请教一下,MDK工程芯片为 STM32F103C8T6,实际使用的芯片为 GD32F103C8T6,下载时会提示错误“Not a genuine ST Device! Abort connection”,用JLINK或者ST-LINK不会有这个问题,请问有什么方法

出215入118汤圆

发表于 2023-12-5 08:35:32 | 显示全部楼层
xionggehao 发表于 2023-12-4 15:31
楼主大神,请教一下,MDK工程芯片为 STM32F103C8T6,实际使用的芯片为 GD32F103C8T6,下载时会提示错误“No ...
(引用自12楼)

改成GD32F103C8T6

出700入102汤圆

发表于 2023-12-5 09:34:39 | 显示全部楼层

程序都是很多年积累下来的,用的ST的标准库,重新用GD来写的话太麻烦
我的意思是,有没有什么办法,在DAPLink的里面加上欺骗代码,让MDK误认为是ST

出215入118汤圆

发表于 2023-12-5 11:50:41 来自手机 | 显示全部楼层
把芯片改成GD的就可以了,其他的不变。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 18:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表