做一个自己的STM32下载器

       记得当年第一次入手STM32时,是众筹回来的,带一键下载电路(ISP烧录)的学习板:keil编译后生成HEX文件,然后使用USB数据线,通过另一个软件mcuisp烧录到芯片中。软件中还要设置两个高低电平,当时啥也不会,也没朋友玩这个,只能跟着教程一点点试错一点点摸索。用这种傻乎乎的操作差不多大半年后,无意间在野火的教程上知道了一个事物:下载器!!  在keil里点击就能直接下载,这不神了么?!惊喜得像发现自己有了特异功能!

1:x宝买的第一个下载器

也记不清用过多少个下载器/仿真器了,但很记得买的第一个下载器,因为被折磨了很久,上图:

  • 左上角写的是: 驱动,不用另找,在keil/ARM/stlink
  • 右边标注的是swd接线的引脚。

当时买回来后,按书上的教程一步步接上线,准备开心地烧录下载了。

谁知道反复捣弄大半天也没成功过,看了N多教程才发现:好像要安装驱动!多菜的当年~~。

网上找了各种驱动,各种没反应。那时,没啥经验,根本分不清问题在哪:驱动?引脚?设备?软件设置?无从下手,不断地上网找同样的案例,枯燥地一个人对着设备一遍又一遍操作碰运气~~

2:做的第一个下载器

2018年,技小新出了个开源的下载器:CMSIS DAP,  根据ARM开源项目做的, 用了一段时间,确实是很方便很稳定。

  • 透明的外壳,小巧简单;
  • 不用安装驱动,插上就能用;
  • SWD方式接口,三线就能下载
  • 支持corter-m架构所有芯片,stm32只是其中一小员。

更重要的是,技新网把软件和硬件都开源了,原理图和代码都放到网上供爱好都下载。下载处如下:

技新网—CMSIS DAP资料 下载

用了一年多,就开始心痒痒的,想根据资料打板一个自己的下载器。

工作之余根据技小新的原理图,作了部分修改,开始慢慢地造自己的武器了。

这个是裸板的第一版,5cm*1.9cm, 自己打板做的,好不好看不重要了,用着心里舒服,哈~

期间,打过第二版和第三板,也尝试过使用更高性价比的GD芯片和HK芯片,不过没成功,最后回归stm32f103。

发一下资料,资料中的是精简和完善后的第三版,压缩包里有原理图、PCB生产文件、代码,都是直接可用。

CMSIS DAP 裸版第三版资料下载: 原理图、PCB生产文件、代码

3:下载器进化

当然,想打造自己的专属工具,就不满足止步于此。

硬件调试要往电脑插各种数据线、各种设备,之前因为买的桌面USB集线器用得不顺手,自己做了一个,这次打算把集线器和下载器结合在一起,这样可以把我们的桌面开发环境整理很简洁一些。

软件工程师的桌面可以摆个花盘,但硬件工程师的桌面....其实给我一个独立房间还不是乱哄哄的,我们就不埋怨桌子小了。

  • 把CMSIS DAP升级更换成DAPLink了,有了拖拽烧录功能,这功能试用后,感觉然并卵。
  • 之前裸板下载器被精简的虚拟串口,这版本回来上阵了,毕竟是比硬件串口更方便的。
  • 七口集线器(FE2.1), 其中的1口连接了DAPLink,所以只能引出6个U口,但也足够日常使用了
  • 引出两个5V电源输出 接口(红色),两个3.3V电源输出接口(蓝色),方便为开发板供电。
  • 有两个usb micro b输入接口,左边的是数据线接口,并能提500ma电流,开发板调试一般足够。
  • 另一个micro b接口,可以使用平时的手机充电器插入,这样能提供1A~2A电流,调试10寸显示屏也没压力了。

4:逐步完善

使用了几天,感觉挺实用的,不过使用稍长一点的杜邦线时,下载不太稳定,应该是数据干扰了,然后,又根据使用情况作出更多的调整:

  • 不喜欢使用手机充电器供电,希望电源被更自由地控制 ,就增加了5430, 输出常用的5V,3A大电流;
  • 移除了3.3V输出, 因为自己的调试中的板子都是5V供电,而且是三个同时调试,全换上了5V,。
  • 更换了三个按键的位置(复位、固件升级),和防尘有机板不冲突了,之前没考虑到。
  • 软件上和硬件配合,修改了几个地方,使其在三四十厘米长的杜邦线上稳定地实现三线连接,并自动软复位。

上面这个,是第五版了,上午收到电路板后立马焊元件,上电、烧固件,运行妥妥的。哈~~

摆上了自己的私伙工具,桌面更条理了,甜甜的满足感,嘻~~

当然也有代价的:打板第一个下载器,边用边完善,到现在第五版,老实说,烧点银子事小,误了工作进度才事大,自我批评!!

发布了44 篇原创文章 · 获赞 20 · 访问量 9532

猜你喜欢

转载自blog.csdn.net/zhouml_msn/article/details/103912494