制作下载器的初衷:我们在调试STM32或者是国产32芯片时,需要用到不同的下载器,但是市面上的下载器质量参差不齐,常常用一段时间固件就会丢失,我用的j-tagV8当时买的时候100+,用的时候也会常常丢失固件。而在我们用国产32芯片时,也是需要仿真器的,对于国产32,ST-link是不能用的,厂家给出的价格也是比较高的,自己购买又不是很划算,利用STM32刷一个DAP的固件用起来也是很方便的。
设计的时候,参考了他人的硬件设计,同时也增加一路type-c接口,方便我们进行代码代码。
简单介绍一下ST-Link,DAP下载器,J-Link下载器几种下载器的区别:
ST-LINK:ST官方提供的调试工具,可以用于STM8,STM32的单片机
DAP-LINK :这是ARM公司开源出来的一款调试工具,可以调试ARM架构的系列的单片机,像国产32单片机提供的下载器或者某些平台的提供的下载器基本上都是DAP的衍生版,主要是开源的资料比较多,软件代码也是开源的,个人制作起来也是比较方便的
J-LINK下载器:是SEGGER公司推出的JTAG仿真器,主要也是为了调试arm架构的单片机,不过我是用V8系列也是出现丢固件的情况,不过该款下载器支持的开发环境还是比较多的,制作这个也是不错的选择。
1:硬件设计如下:
项目优点:当时为了使下载器工作的时候更加的稳定,使用的一款有源的晶振,由于自己当初并没有使用过有源晶振的经验,担心单片机的设计有问题,所以在电路板的背面有预留了一个无源的8Mhz 晶振,(大家在如果需要复刻的时候,可以根据自己的焊接水平或者是手头上的元器件进行选择,焊接的时候需要注意有源晶振的电容,大家根据自己设计情况进行焊接即可)
PCB的仿真图片如下:
PCB 3D效果图如下:
板子大小在50mm*18mm,尺寸设计的比较小,只是在usb接口和type-c接口处电路在布局的时候,为了方便手动焊接,预留的空间比较大,手工焊接时方便烙铁进行焊接,毕竟type-c接口还是比较难焊接的,预留的空间也不是很大,对于一些新手焊接时,只需要焊接usb口就可以了,用起来还是比较方便的。
烧录hex文件过程及其注意事项:
1:需要一个额外的ST-link下载器或者是手头上有其他的脱机下载器也可以。打开STM32CubeProgrammer.exe软件,以制作ST-link V2为例
连接到下载器的连接处,由于只是下载程序使用,当时并没有标出各个焊盘的引脚,小伙伴们只需要去查看pcb的源文件就可以了
使用的是C8T6的主芯片,需要将V2J16.S4bin下载到开发板上面,然后用ST -link updata软件升级到V3.7版本,由于C8T6内部的flash空间不够,注意不要升级到带串口功能的版本,如果使用带串口的功能,需要使用CBT6的芯片。
不过如果需要使用串口功能的话,可以使用C8T6制作成DAP形式的下载器,这样使用低成本就可以实现下载器和USB转串口的功能,在实际测试中也是很稳定,调试国产的arm内核的芯片也是没有任何问题,个人觉得比ST-LINK的功能只会多,不会减少。
下载好程序版本后,可以在电脑上面识别到:下载器,如下图所示,
制作的实物图片如下:
最终成果达到的目标:
1:以ST-link为例说明书:将制作的下载器烧录hex文件后,可根据自己的单片机型号,对使用官方的升级软件进行升级,最好是使用CBT6的芯片,这样可以虚拟一路串口,不仅仅是arm的调试器,也是USB转TTL的工具
2:将制作好的下载器,连接到电脑上面,检测一下设备管理器里面是不是可以正常识别出ST-link工具,若没有正常识别,可以考虑晶振是不是没有正常起振,这里使用的外部晶振,所以晶振的稳定性能好,是DIY成功的关键。
3:使用跳线帽将TXD,RXD短接到一起,使用串口工具,发送不定长的数据,观察接收区是否可以正常收到发出的数据。
4:ST-link V2.1版本还会虚拟一个U盘,可以测试一下U盘拖拽烧录功能,当然这个功能也不是很复杂,大家感兴趣的可以演技一下。
最后,大家在制作的时候注意一下,有源晶振的焊接方向,LED的焊接方向。