终于到移植IO部分了,这个DAP移植也算暂时告一段落了。
本次移植没啥好说的,官方基本都准备好了,直接配置IO就行,可以看代码。
这里简单聊一下IO部分优化,
市场上有很多的DAPLink也有很多其他的下载器,但是很多时候你配置到一定的速度,实际并不一定能跑的到这个速度,这个问题是有很多种原因,可能是USB速率不行,也可能是IO部分速度不行,也可能是目标芯片不支持这么高的速度。
对于一个DAP(SWD)来说,SWD协议IO部分实现一般有下面三种方式。
1.两个IO,SWDIO输入输出切换使用软件控制。
2.三个IO,SWDIO输入、输出各使用一个IO。
这里我们只是初步移植,并不涉及具体的优化,所以本次移植使用的方式1,没有对代码、USB或IO接口进行有针对性的优化。感兴趣的小伙伴可以尝试优化一下看看,这里我把我的源码附到最后。
还是看大家最喜欢的测试环节。
先看一下最大的SWCLK速度能到多少,5.26MHZ,还是比较可以的,毕竟RT1020属于老一代,并没有高速IO。
接下来我们测试下载速度,本次参与测试的Link有AZ158-LINK、JLink EDU、STLink V2、LPC-LINK2(LPC55S69评估板板载)、MCU-LINK(LPC55S69评估版烧录MCULINK固件),先来张全家福。
目标板卡就是我们的小键盘,主控是LPC55S69
测试方式是使用Keil进行下载,对比下载时间,使用的固件大小为364.44KB。
下面是在Keil的具体配置
一般测试都是拿个表格比啊比,太麻烦也不直观,这里我直接上动图,强弱一目了然。
az158-LINK纯下载速度大约在90.43KB/s,考虑到只测试了一次,没有计算误差,再加上本人的电脑实在太老了,这个结果仅供参考。
MCU-LINK还是相当能打的,下一步制作离线下载器,就就计划使用LPC55S69进行设计(这个估计要鸽子一段时间了)不过我估计像RT1060之后的RT系列,比如RT1010,自带高速IO,搞不好就能用方式1直接跑满10MHz,看看啥时候也拿这个芯片画一个DAP使使(这个更鸽)。
代码工程
6.az158_dapLink.zip (521.67 KB, 下载次数: 6, 售价: 10 NXP金币)
当前环境
速度对比视频完整版(没找到上传视频在哪,扔个压缩包)
速度对比.zip (14.96 MB, 下载次数: 0, 售价: 1 NXP金币)