当前位置:   article > 正文

【Arduino】关于使用USB-ISP烧入bootloader的一些记录_stk500v2 bootloader的问题

stk500v2 bootloader的问题

前言:由于自己的一号机3D打印机工作范围实在太小,再加上是Delta结构的,实在懒得再改了,索性重新设计一台新的机器,采用UM2结构。然后在下载marlin2.X的固件时候把mega2560的bootloader搞出问题了,不得以开始研究烧录arduino的bootloader。

bootloader的几个方法

首先是成本问题,如果手上有额外的Arduino,可以直接使用Arduino下载ArduinoISP程序到使用Arduino给另一个烧录bootloader,这个方案可以说是最省的(前提是有多余的)打开Arduino里面的示例就有ArduinoISP
第二个方法是使用使用AVR USB tiny ISP 烧写,但是现在的价格都不便宜,就算了。
最后选择了使用使用AVR 下载器(烧录器)烧写,主要是便宜,15元左右就可以搞到一个,就是使用起来有许多要注意的事项。

使用AVR 下载器的一些注意事项:

1、不同的USB-ISP能烧录的芯片是不同的,买之前最好向店家问清楚;
2、烧录使用的软件版本,个人感觉是版本越高越好,低版本的烧录会出现校验失败的情况,虽然测试bootloader确实是烧录进去了。
3、烧录前一定要检查熔丝位有没有搞错;
买之前检查下支持的芯片

使用USB-ISP烧录的方法

工具

USB-ISP一个,杜邦线若干,烧录软件
软件我使用的是progisp2.0的版本
progisp2.0提取码: 7p64

接线

在这里插入图片描述
注意5V和GND不要接反了。

软件设置

在这里插入图片描述
1:选择需要烧入的芯片,这里以mega2560作为例子。可以选择RD键读取芯片ID,读取成功说明连接成功;
2:提供电源勾选上;
3:调入Flash,选择需要烧录的bootloader的hex文件,以mega2560为例,只要安装了ArduinoIDE,可以从\Arduino\hardware\arduino\avr\bootloaders\stk500v2这里找到stk500boot_v2_mega2560.hex,其他avr芯片也可以从这个目录里找到;
4:勾选芯片擦除,编程FLASH,校验FLASH,编程熔丝。在这里插入图片描述
关于熔丝设置可以从)\Arduino\hardware\arduino\avr下的boards文件可以找到说明,还是以mega2560为例,可以在这个文件里找到
megaADK.bootloader.tool=avrdude
megaADK.bootloader.low_fuses=0xFF//熔丝低位
megaADK.bootloader.high_fuses=0xD8//熔丝高位
megaADK.bootloader.extended_fuses=0xFD//拓展位值
megaADK.bootloader.file=stk500v2/stk500boot_v2_mega2560.hex
megaADK.bootloader.unlock_bits=0x3F
megaADK.bootloader.lock_bits=0x0F

修改完成后直接关掉就行

所有前期准备完成,剩下只需要点击自动,等待烧录完成就行了

最后说下在使用PlatformIO时候下载marlin2.1的时候,读取和写入都是正常的最后校验的时候报错了。。。最后一步报错了。。。
但是吧,给mega2560上电,确实是程序是可以正常跑起来的,希望有人能帮我解答下这个校验失败是怎么回事。
反正他就是正常可以用。。。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/67610
推荐阅读
相关标签
  

闽ICP备14008679号