发新帖本帖赏金 50.00元(功能说明)我要提问
返回列表
打印
[AT32F405]

【AT-START-F405测评】第四篇 移植CMSIS-DAP

[复制链接]
1620|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
duanks|  楼主 | 2024-5-24 20:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
CMSIS-DAP的移植只需包含很少的文件,首先需要从github上[下载](https://github.com/ARM-software/CMSIS-DAP),为简化移植,我们只使用SWD接口。需要的文件有**Firmware\Source**目录下的DAP.c,DAP_vendor.c,SW_DP.c和**Firmware\Include**目录下的DAP.h,**Firmware\Config**目录下的DAP_config.h



CMSIS-DAP采用的是接收命令->执行命令->返回结果的运行方式。为加速运行,我们使用了FIFO式的环形队列,接收,执行,发送同时进行。另外,还使用了硬件SPI加速SWD接口

在上一篇WINUSB移植中,程序的框架已经完成了,我们只需将OUT端点接收到的数据使用DAP_ExecuteCommand执行,将返回值发送会电脑即可。关于环形队列的使用,大家可以对照程序理解





引脚分配


SWD数据包如下



参考**ARM® Debug Interface v5 Architecture Specification**,可以看到能使用SPI优化的只有两处:一个8bit的写操作,一个32bit的读或写操作,我们使用CPHA=1,CPOL=1进行模拟,剩下的ACK,Trn,Parity使用软件模拟,具体可以查看HWDAP.c和SW_DP.c文件

连接目标芯片的时候尽量在SWDIO和SWCLK之间间隔一个地线不然连接不太稳定

最后,我们开发板自带的AT-Link对比测试一下速度吧。均为下载一个494KB的文件至HC32F460JEUA中,时钟频率为10MHz


HS-CMSIS-DAP.zip (1.31 MB)

使用特权

评论回复

打赏榜单

ArteryMCU 打赏了 50.00 元 2024-06-07
理由:[F405开发板评测活动]内容优质

发新帖 本帖赏金 50.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

141

帖子

2

粉丝