因为没有野火的调试器,但是手上有ST-LINK,就把ST-LINK 刷成 jlink 来用,方法如下:
打开这个网站,https://www.segger.com/products/debug-probes/j-link/models/other-j-links/st-link-on-board/,下载如下1,2,3文件并安装
打开第三个文件,解压:
双击 STLinkReflash.exe 开始刷:按照提示一步步做:
刷成功如上三个OK,然后电脑设备管理器出现jlink 串口和 jlink 驱动,现在stlink 的串口和 stlink 都可以用了,并且是当作 jlink 来使用:
先刷一下st 单片机试试,把工程中的 debugger 调整为 jlink:然后能看到芯片:
编译刷机正常。
然后把板子上的stlink 用于外部单片机烧录:
如下三个红圈使用跳线和板子上的 debugger 接口连接好,右边的1234是个跳线选项,选择debugger 用于外部单片机烧录还是板子自身的单片机烧录,需要把这两个跳线帽去掉。Debuger 245 pin 接 RT1052 mini debuger接口的.425 pin
使用 jlink 刷 RT1052 mini 开发板:
能检测到 RT1052 芯片,但是刷的时候报错了,这个是无法复位的问题:
是因为杜邦线太长了,设置频率太高,swd 频率降降就好了,我的最大只能支持 100Khz,
继续下载会提示 erase,flash 失败,因为算法的问题,野火需要更换自己的下载算法:
解决方法:更新下载算法,上面对应的库函数下载算法,下面对应的寄存器下载算法:
再次下载就可以了,我没有野火上面用的5pin 排线,用的普通的杜邦线插的,估计对信号影响大,最快只有 100Khz,这个就是极限了。200Khz 都上不去,一直报错。
下载过程中会报这个错误:
解决方法:调整一下算法 ram 大小
然后烧写了固件库第7个例程,使用按键控制蓝色LED灯亮灭,更换个下载算法,一切正常,程序运行没啥问题,reset 旁边的两个按键都可以控制Led灯亮灭。
野火使用体验,需要注意的地方还是不少的,感觉对于新手来说,不算很友好,细节比较多,不过也是相当于错了,没什么大麻烦。
stlink 刷 jlink 用完之后,还可以再刷回 stlink ,选第三个选项
这个固件和工具都是 SEGGER公司官方的工具和固件,用起来很安全,可以放心使用
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)