一直缺个JLink,嘉立创降价之后就着手画了一个JLink OB,参照了网上的原理图之后,发现这不过就是个最小系统板,所谓的固件也只是一段程序,JLink的本质就是用一块stm32来给另一块stm32烧写和调试程序,刚好手里有一块stm32f103c8t6的最小系统,所以就参照着JLink OB的原理图改造了一下。stm32f103c8t6最小系统如下图所示,买的话10块钱左右吧。
JLink OB的原理图用到的部分如下图:
对于最小系统板,只需要连4根线:
PA4接100Ω电阻接到PA7
PA3接100Ω电阻接到PB13
PA5接到PB13
PA6接到PA10
接好线后如下图所示:
然后利用短路帽将BOOT0拉高,BOOT1拉低,将USB转TTL的下载器与最小系统板连接,以烧写固件:
打开FlyMcu烧写软件,将固件烧写进去(JLink OB的固件网上很多,可自行百度):
烧写完成后,再用短路帽把BOOT0拉低,再将最小系统板与要调试的单片机连接,
最小系统的PA3接单片机的SWCLK
最小系统的PA4接单片机的SWDIO
然后电源接好
将USB线与最小系统连接,接入电脑:
打开之前创建好的keil工程文件,点击魔术棒,选择debug,调试器选择JLink,点击setting,提示更新固件,点击是:
之后会出现警告然后Keil卡死之类的问题,把工程关闭,把USB插拔一下。重新打开工程,打开debug,应该可以检测到JLInk了。
然后进行简单的配置,应该就可以烧录了。
其中还会弹出一些警告,可以根据警告内容进行百度,我记得有一个警告是版本过高的原因,可以根据网上的教程进行设置。
自己画的JLink ob烧录不进去程序,结果同学送的最小系统板可以正常烧录调试,虽然会出一些小错误,但算是稳定可以用,也算是无心插柳柳成荫。之前搜了一下网上似乎没人这样试过,成功了自己也很开心。