国产免驱USBasp下载线烧录Arduino BootLoader的方法

本文仅适用于BootLoader损坏且买到国产免驱USBasp下载线导致IDE无法识别从而不能烧写的情况。是一种略显非主流的操作方式。

因为Arduino的IDE并不支持这种免驱的USBasp线,会提示错误。

事情的全程是这样的:

1.症状

用Arduino控制舵机不慎玩脱了,插入电脑时,在“设备管理器”中没有串口提示,用Arduino IDE无法下载程序到电路板中,提示找不到COM口。而且电脑也找不到串口。估计是BootLoader损坏了,准备用USBasp下载线重新烧录。

2.准备解决

之前的标准USBasp下载线送给了表弟,只好再买一根。买了个“国产免驱动”的下载线,倒是省了安装驱动了。插到电脑上之后并不生成串口号,只是识别为了一个USB-HID设备,如图。

普通的USBasp线有10个引脚,Arduino只有6个。但只要引脚接对了,还是能适配的。用杜邦线两两连接以下引脚:MOSI,VCC,RST,SCK,MISO,GND。

不幸的是,由于Arduino IDE的"高端大气国际范儿",根本识别不到这种修改过固件的“中国特色”USBasp下载线,用常规方法根本无法进行烧录操作,显示错误“could not find USB device "USBasp" ”“avrdude: stk500_getsync(): not in sync: resp=0x00”,无法连接。

3.拨云见日

归根结底,Arduino不就是一个Atmega 328P单片机和外围电路嘛,BootLoader也不过是单片机的一个FLASH文件,何必要依靠Arduino IDE呢!(说是这么说,当时写不进去的时候还是有点惊慌的…) 冷静,冷静。既然有了下载线,我们就按单片机的玩法,直接下载编译好的FLASH文件。但Arduino UNO的FLASH是哪个呢?没有官方列表中支持的下载器怎么办?

这种国产免驱动的下载线,可以用PROGISP这款软件。(AVR fighter似乎也能用,但是所支持的芯片类型数目似乎没有PROGISP多)

下载软件选好了,但软件里一堆的参数应当如何设置?在Arduino的文件夹里已经有了说明。以我的为例,“E:\arduino-1.0.5-r2\hardware\arduino”文件夹中的boards.txt里面包含了各种型号Arduino的参数,我的是Arduino UNO,文件里对应记载参数如下:

##############################################################

uno.name=Arduino Uno

uno.upload.protocol=arduino

uno.upload.maximum_size=32256

uno.upload.speed=115200

uno.bootloader.low_fuses=0xff

uno.bootloader.high_fuses=0xde

uno.bootloader.extended_fuses=0x05

uno.bootloader.path=optiboot

uno.bootloader.file=optiboot_atmega328.hex

uno.bootloader.unlock_bits=0x3F

uno.bootloader.lock_bits=0x0F

uno.build.mcu=atmega328p

uno.build.f_cpu=16000000L

uno.build.core=arduino

uno.build.variant=standard

##############################################################

这里并不用完全记住,设定几个关键值即可:

1.用杜邦线两两连接以下引脚:MOSI,VCC,RST,SCK,MISO,GND。

下载线插入电脑,打开PROGISP软件,FLASH文件选择“E:\arduino-1.0.5-r2\hardware\arduino\bootloaders\optiboot”文件夹里的“optiboot_atmega328.hex”。

2.上面列表中的low_fuses=0xff(低熔丝位),high_fuses=0xde(高熔丝位),extended_fuses=0x05(扩展熔丝位)这三个要在PROGISP里面设置好。

3.点击软件“自动”,即开始自动擦除,复位,烧写,设置熔丝位等一系列操作了。十几秒之后提示完成。

然后拔掉下载线,用USB线连接电脑和Arduino,是不是又能识别出新硬件、又能欢乐地写入程序了?

时间: 2024-10-29 12:00:42

国产免驱USBasp下载线烧录Arduino BootLoader的方法的相关文章

非标准USBasp下载线烧录Arduino BootLoader的参数设置

本文仅适用于BootLoader损坏且买到国产“免驱USBasp下载线”导致Arduino IDE无法识别从而不能烧写的情况.是一种略显非主流的操作方式. 因为Arduino的IDE并不支持这种免驱的USBasp线,会提示错误. 事情的全程是这样的: 1.症状 用Arduino控制舵机不慎玩脱了,插入电脑时,在“设备管理器”中没有串口提示,用Arduino IDE无法下载程序到电路板中,提示找不到COM口.而且电脑也找不到串口.估计是BootLoader损坏了,准备用USBasp下载线重新烧录.

USBASP下载线制作教程

USB免驱RFID读写器编程解析之一:智能卡篇

随着RFID应用的普及,越来越多的软件工程师需要使用RFID读写器编程来实现自己的需求.为了使软件工程师更快的了解RFID读写器的使 用,本文选择一款市面上常用的USB免驱RFID读写器SDT-HA来做解析.USB免驱一般是使用USB HID接口,因为windows系统本身带有HID接口的驱 动,所以不需要单独发布驱动程序. 要编写RFID读写器的程序,先必须了解RFID读写器读写的卡的内存结构.现在广泛使用的是以M1(S50)卡及其兼容卡为代表的智能卡,以 下将详细介绍S50卡的内存结构. 标

关于战舰STM32用PL2303下载线下载和BOOT的软件相关控制

以下内容可能有一些错误什么的,欢迎各位同学指正. 关于战舰STM32开发板上的BOOT0和BOOT1,很多人会有疑问,特别是软件mcuisp上为什么是DTR的低电平,RTS的高电平进入下载模式,先不管硬件上的BOOT0和BOOT1连接. 要了解BOOT0和BOOT1,首先要知道有三种模式, (1)BOOT0接高电平,BOOT1接低电平,如果此时RESET   I/O口产生复位信号,软件上点击下载,此时会把程序烧写进32里面 (2)BOOT0接低电平,BOOT1接低电平,如果此时RESET I/O

MATLAB获取“非免驱的相机或者摄像头”的图像数据

Image Acquisition Toolbox? Adaptor Kit 图像采集工具箱 当要使用MATLAB获取"非免驱的相机或者摄像头"的图像数据时,需要开发一个插件,MATLAB提供了插件接口,MATLAB中有范例和说明书,以方便二次开发. 通过imaqtool命令注册调用插件,可以预览相机或摄像头,也可以查看和设置参数. 有意思的事情是: 刚开始在计算机win7 32位系统安装了MATLAB R2009a,安装目录中有32位和64位的lib,用vs2008都开发了插件. 拿

Win8.1 7月份免激活镜像下载

Win8.1 7月份免激活镜像下载 [X86]2015-07-17更新 免激活 迅雷下载 百度云下载 [X64]2015-07-13更新 免激活 迅雷下载 百度云下载 说实话用上了Win10真有点想换Win8.1的感觉,微软真是要命.╮(╯_╰)╭ Win8和8.1差了大约1年的时间发布,并回归了大家熟悉的开始菜单,即使还是磁贴.. 微软大法好微软大法好微软大法好微软大法好微软大法好微软大法好微软大法好微软大法好微软大法好微软大法好微软大法好微软大法好微软大法好微软大法好爬虫采集狗全家死全家死微

USB转TTL 下载线 线序定义

产品名称:USB转TTL 下载线 长度       :1米 芯片       :PL2303HX.PL2303TA. 线序定义红+5V, 黑GND, 绿TXD,白RXD

STM32下载线启动使用方法

STM32在和USB下载线连接,32单片机外接供电电源 在电脑上下载必须安装驱动,这是博主亲测的驱动文件 链接:https://pan.baidu.com/s/1qvrRSBiEQu-m29oou-PW2w 密码:thsa 解压后直接安装第一个即可. 那么,下面也就是到了重要的阶段啦! 使用下载线可以直接在keil文件中下载不需要在生成.hex文件啦 让我们来看看怎么修复它的bug把! 完成上述步骤即可实现USB下载,且USB下载速度快,值得推荐! 原文地址:https://www.cnblog

Spring官网下载dist.zip的几种方法

Spring官网下载dist.zip的几种方法 Spring官网改版后,很多项目的完整zip包下载链接已经隐掉了,虽然Spring旨在引导大家用更“高大上”的maven方式来管理所依赖的jar包,但是完全没想到中国的国情,在伟大的墙内,直接通过maven下载墙外的东西,要么龟速,要么直接被和谐. 下面是从网上搜集的一些方法,可用于一次性下载Spring各项目的完整dist.zip 第一种 直接 http://repo.springsource.org/libs-release-local/org