硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4327|回复: 5
收起左侧

[USB] 在h7上实现的裸机dap(烧写速度很慢的)

[复制链接]

2

主题

24

回帖

30

积分

新手上路

积分
30
发表于 2021-2-14 20:33:01 | 显示全部楼层 |阅读模式
大家新年好,为了赚积分的我又来了。我最近花了好久研究cmsis-dap和usb,就是为了用裸机的方式实现。因为我对芯片烧写和调试的实现形式比较好奇,又想学习一下usb,所以就开始长达六个月的痛苦学习之路。实在是惭愧,还好最近入手了h7tool,对比了很多源码,才找到和解决了很多问题,最终也让目的得以实现。
   软件上 usb采用的是hal的usb cmustom-hid库,直接cubemx生成,然后从的别的地方抄来的inevent和outevent处理。hal库的usb学起来真的难顶,实现都是面向对象编程思想,一个usb结构体里面有很多函数指针。光看源码,根本不知道什么时候干了什么事,只能慢慢调试结合usb的书才知道发生该如何处理。(默默的流下了没有技术的眼泪)。我在找视频学习的时候,发现讲usb的st工程师是个印度人,本来就听不懂,加上说话一股咖喱味,直接晕了。
   硬件上 就用了两个脚,GPIOF5作为swdio,GPIOF11作为swclk。没有硬件nreset脚。见下图,vcc和gnd随便连了两个给下级板子供电。虽然没有实现nreset,但是不知道为什么要把nreset插在GPIOH5上才行,不然不能正确识别。
IMG_20210214_200316.jpg

红色是vcc,黑色是GND.

IMG_20210214_202332.jpg

黄线是下级板子的nRESET。(不连不会识别。。。。,不知道咋回事)




   源码在这里: nake-dap.rar (4.11 MB, 下载次数: 10) 。用的clang(前端)+gcc(后端)编译,文件组织形式用makefile,build文件里面有已经编译好的hex,想用的话可以直接用工具下载,mdk还没搞(有空再搞)。



   实测下载和调试速度很很勉强,首先是用的全速usb,然后是刚实现,我还没咋优化管教的读和写的速度,就尝试了把usb中断端点的速度改高,还有加大了dap命令的缓存,从4直接拉到200(下载的时候可能有用)。不过速度慢可能不是坏事,毕竟是实现来研究调试和下载的,快了可能不是好事(大概吧)。

QQ图片20210214202723.png



评分

参与人数 2金币 +120 收起 理由
雷鹏 + 20 很给力!
eric2013 + 100 赞一个!

查看全部评分

回复

使用道具 举报

17

主题

108

回帖

159

积分

初级会员

积分
159
发表于 2021-2-14 23:42:11 | 显示全部楼层
想学习很简单,找本usb的书,你这是连通信过程都不知道吧?然后买个分析仪,便宜点的6  700,贵一点的我买的9000多的力科,然后再看st的代码,太容易理解了。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115667
QQ
发表于 2021-2-15 07:33:29 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

2

主题

24

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2021-2-15 08:39:47 | 显示全部楼层
初晴sama 发表于 2021-2-14 23:42
想学习很简单,找本usb的书,你这是连通信过程都不知道吧?然后买个分析仪,便宜点的6  700,贵一点的我买 ...

羡慕,大佬有机会交流一下
回复

使用道具 举报

2

主题

24

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2021-2-15 08:40:51 | 显示全部楼层

谢谢硬汉,我参考tool的源码
回复

使用道具 举报

17

主题

108

回帖

159

积分

初级会员

积分
159
发表于 2021-2-16 09:51:05 | 显示全部楼层
wx_BwfeP1fz 发表于 2021-2-15 08:39
羡慕,大佬有机会交流一下

后面我放一些usb抓包的截图上来给你们用用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-10 20:53 , Processed in 0.345624 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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