Arduino烧录引导程序详解
改造USBasp编程器用arduino烧录引导程序

改造USBasp编程器用arduino烧录引导程序本帖最后由 KMKA 于 2018-2-7 01:59 编辑玩arduino的朋友应该都知道常用的arduino的处理器几乎都是atmega系列的单片机(AVR单片机一种)想要更加灵活的玩转arduino的莫过于自己制作一块arduino主板,但这就带来了一个问题——BootLoader的烧录(也就是引导程序的烧录)arduino的BootLoader不能使用串口烧录这是常识(我个人认为),唯一的办法就是编程器(也叫烧录器或下载器)可以将一块arduino板子制作成arduinoISP,但据说并不稳定,有一定概率烧录失败(我并没有有试验过,所以具体情况我也不太清楚,用过的可以说一下)还有就是目前最便宜的编程器也就是是USBasp(国内大部分AVR单片机用的都是这种),也就是下图这种(颜色不一定相同)注:USBisp和USBasp并不是同一种下载器,某宝搜出来的虽然写的是isp,但几乎都是智峰USBasp某宝一搜USBasp出来一大堆(本文仅针对这种带外壳,插头向后的烧录器,其他的不保证成功)因为arduino的jtag接口是6p的,所以要再接上一个10p转6p 的转换头(当然直接用杜邦线接也可以)但很多人买回来连上电脑后并不能使用,在arduino上点击“烧录引导程序”会提示:avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='' product='USBasp'烧录引导程序出错。
原因在于目前国内的USBasp大部分使用的是国内“智峰”的USBasp编程器的程序固件,虽然免驱,但只能用智峰的下载软件progisp。
而arduino官方的烧录程序识别的是国际版USBasp,也就是说虽然都是USBasp,但固件和驱动完全不一样(这也是为什么很多的USBasp不能在Linux上对AVR单片机烧录程序的原因)因此,如果要用USBasp烧录引导程序,我知道两种办法一:在arduino安装目录找到BootLoader的hex文件,然后使用progisp进行烧录,但这种方法比较麻烦,每次换不同的版型都要更换flash、更换配置(熔丝位设置等等,设置不当还会引起单片机锁死,然而解锁更麻烦)网上已经有这种方法了,在此不介绍二:还一种就是我琢磨了好久才解决的一种办法,把智峰的USBasp改造成国际版,一劳永逸,做成之后就可以直接用改造后的USBasp下载BootLoader,也可以使用编程器上传arduino程序改造方法如下:一前期准备:硬件两个USBasp烧录器(改造完后一个是智峰驱动,一个是通用版,以后就有两种USBasp下载器,面对不同情况,毕竟progisp大多时候还是比通用版AVR烧录程序很好用)一根USBasp下载线(买的时候一般都有)尖头短路镊子(没有也可以用导线代替)烙铁等电工工具软件USBasp固件(解压) /usbasp/智峰progisp /softview/SoftView_118051.html Zadig(驱动安装) /二硬件修改:把其中一个USBasp的外壳拆掉,手拿着外壳(不要碰尾端),USB头向下,对着硬板或地面向下一压就拆掉了注意图上用红线标记的地方(B短路点),有个0欧的电阻,有的下载器是直接用焊锡焊成一个点把0欧的电阻焊掉或把锡点焊开,也就是让线路断开(重要)把两个编程器用下载线连接起来将智峰USBasp插在电脑上用短路镊子连接待改造的编程器的“up”两侧对应的两个过孔(也可以用导线临时焊接在一起)下载固件期间“up”两端的过孔须保持连接状态,下载完成后断开(不用立即断开)三固件下载:打开progisp确认改造的USBasp处理器型号,图中所示位置,应为atmega8或atmega88或atmega48,后缀A、L之类的可以忽略点右侧“调入Flash”,在下载的“USBasp固件”中打开“\bin\firmware\”可以分别找到对应的型号atmega8、atmega48、atmega88的hex文件按图示下载程序,可按图示框选相应选项熔丝位设置方式,可以直接在下方输入ATMEGA8设置为低位值EF,高位值C9ATMEGA48设置为低位值FF,高位值DDATMEGA88设置为低位值FF,高位值DD固件下载成功后断开“up”对应电路可关闭progisp四安装驱动:拔掉智峰USBasp,插上改造后的USBasp,电脑会提示安装驱动失败或其他提示(也有提示成功的,为保万一还是再装一下,因为驱动有3种),忽略打开Zadig选择 Options->List All Devices在下拉框中选择USBasp(一定不要选错)绿色箭头右侧选择为WinUSB然后Install Driver(我已经安装过了,所以显示为Reinstall Driver)注:arduino对应驱动为WinUSB,而如果想用AVRDUDE下载AVR程序,需要将驱动改为libusb-win32或libusbK至此,一个公版USBasp就改造完成了不仅arduino可以用来烧录BootLoader,linux也可以用来下载程序了。
uboot中烧录方法

uboot中烧录方法
在嵌入式系统开发中,U-Boot是一个常用的引导加载程序,用
于引导嵌入式设备的操作系统。
烧录U-Boot到嵌入式设备通常涉及
以下几种方法:
1. 串口烧录,通过串口连接嵌入式设备和主机,使用串口通信
工具(如minicom、putty等)将U-Boot固件通过串口传输到设备
的存储器中。
这种方法需要设备具备串口接口,并且需要主机具备
串口通信工具和相应的串口线缆。
2. TFTP烧录,使用TFTP(Trivial File Transfer Protocol)通过网络将U-Boot固件传输到嵌入式设备的存储器中。
在设备启动时,U-Boot会尝试从网络上的TFTP服务器下载固件。
这种方法需
要设备处于能够访问网络的环境中,并且需要在网络中设置好TFTP
服务器。
3. SD卡烧录,将U-Boot固件写入SD卡,然后将SD卡插入嵌
入式设备,设备在启动时会读取SD卡中的U-Boot固件。
这种方法
需要主机具备SD卡写入工具,如dd命令或Win32 Disk Imager等。
4. JTAG烧录,使用JTAG(Joint Test Action Group)接口连接嵌入式设备和主机,通过专用的JTAG调试器将U-Boot固件烧录到设备的存储器中。
这种方法通常需要专门的硬件设备和相应的调试软件。
在选择烧录方法时,需要根据具体的嵌入式设备和开发环境来决定,确保选择的方法能够有效、安全地将U-Boot固件烧录到设备中,并且需要注意备份设备中原有的U-Boot固件以防止意外情况发生。
希望这些信息能够帮助你更好地理解在U-Boot中的烧录方法。
单片机程序烧录方法

单片机程序烧录方法单片机程序烧录是将已经编写好的程序代码通过某种方式写入到单片机芯片中,使之能够运行的过程。
烧录程序是嵌入式软件开发的重要环节,也是将代码从PC机传输到单片机的必要步骤。
下面我将详细介绍一下常见的单片机程序烧录方法。
第一种方法是使用通用的ISP编程器进行烧录。
ISP编程器是一种针对单片机芯片设计的专用工具,它通过连接单片机的编程接口(一般使用标准的ISP接口)与PC机进行通信。
烧录步骤如下:1. 连接ISP编程器与单片机:将ISP编程器的编程接口与单片机的编程接口相连接。
常见的接口有ISP、SPI、JTAG等。
2. 打开烧录软件:根据使用的ISP编程器型号,选择相应的烧录软件,并打开。
3. 选择芯片型号:在烧录软件中选择要烧录的单片机芯片型号,以确保能正确识别芯片。
4. 导入程序文件:将事先编写好的程序代码文件导入到烧录软件中。
5. 烧录操作:在烧录软件中设置好相应的烧录参数,如芯片供电电压、编程速度等,然后点击烧录按钮开始烧录操作。
6. 烧录完成:烧录过程完成后,烧录软件会给出相应的提示,告知烧录结果。
如果烧录成功,单片机上就可以运行相应的程序了。
第二种方法是使用专用的开发板进行烧录。
许多厂商为了简化单片机开发流程,提供了专用的开发板,其中已经集成了单片机芯片、调试接口和烧录功能。
烧录步骤如下:1. 连接开发板与PC机:将开发板通过USB接口连接到PC机上。
2. 安装开发环境:根据开发板提供的开发环境和烧录工具,进行相应的安装和配置。
3. 打开开发环境:打开相应的开发环境和烧录工具,创建一个新的项目。
4. 编写程序:在开发环境中编写程序代码,并进行编译和链接,生成可执行文件。
5. 烧录操作:在烧录工具中选择要烧录的单片机型号,导入生成的可执行文件,然后点击烧录按钮开始烧录操作。
6. 烧录完成:烧录过程完成后,烧录工具会给出相应的提示,告知烧录结果。
如果烧录成功,开发板上就可以运行相应的程序了。
arduino入门教程

Arduino是什么?开始讲之前跟大家普及一个知识点,Arduino是一个意大利品牌。
Arduino是一个开放源码电子原型平台,拥有灵活、易用的硬件(各种开发板)和软件(arduino IDE也就是编程器)。
吉安优创电子科技有限公司作为arduino国内为数不多的正版授权公司,坚持正版。
打击抵制各类盗版,改版,兼容版的侵权行为,也奉劝广大消费者不要去购买,以免带来不必要的麻烦。
Arduino专为设计师,工艺美术人员,业余爱好者,以及对开发互动装置或互动式开发环境感兴趣的人而设的。
Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。
板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器对Arduino的编程是利用 Arduino编程语言 (基于 Wiring)和Arduino开发环境(based on Processing)来实现的。
基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现。
如何学习arduino认识Arduino UNOArduino UNO是Arduino入门的最佳选择,在编著本书时,其最新的版本为UNO R3,本书大部分内容都是基于Arduino UNO R3写成的。
Arduino UNO的详细组成信息如下图所示。
1. 电源(Power)Arduino UNO有三种供电方式:●通过USB接口供电,电压为5V;●通过DC电源输入接口供电,电压要求7~12V;●通过电源接口处5V或者VIN端口供电,5V端口处供电必须为5V,VIN端口处供电为7~12V。
2.指示灯(LED)Arduino UNO带有4个LED指示灯,作用分别是:● ON,电源指示灯。
当Arduino通电时,ON灯会点亮。
程序烧录注意事项-概述说明以及解释

程序烧录注意事项-概述说明以及解释1.引言1.1 概述概述程序烧录是在嵌入式系统开发中至关重要的一环。
它指的是将编写好的程序代码烧写到目标芯片或设备中,以使其能够正常运行和执行预定义的任务。
程序烧录的目的是为了确保程序的正确性和完整性,并验证其与硬件的兼容性。
在进行程序烧录之前,我们需要准备好相应的软件和硬件资源,例如烧录工具、烧录器、连接线等。
同时,我们也需要了解一些必要的注意事项,以确保程序烧录的成功和稳定性。
本文将介绍程序烧录的一般步骤和注意事项。
首先,我们将讨论如何选择合适的烧录软件,该软件应具备易用性、稳定性和功能丰富性等特点。
其次,我们将探讨硬件要求,这包括与目标芯片或设备的兼容性、连接方式和供电要求等相关问题。
最后,我们将详细描述程序烧录的步骤,包括准备工作、设置参数、连接设备、烧录程序和验证等环节。
总的来说,程序烧录是一个非常关键且复杂的过程,在进行程序烧录之前,我们需要提前做好充分的准备工作,并遵循相关的注意事项。
只有这样,我们才能确保程序烧录的成功和稳定性,以提高嵌入式系统的性能和可靠性。
在接下来的章节中,我们将深入探讨这些内容,并结合实际案例给出一些推荐的实践方法。
1.2 文章结构:本文将按照以下顺序介绍程序烧录的注意事项。
首先,在引言部分概述程序烧录的重要性以及本文的目的。
接下来,在正文部分,将详细介绍在进行程序烧录之前需要考虑的软件选择和硬件要求。
然后,会提供程序烧录的具体步骤,以确保读者了解整个烧录过程。
最后,在结论部分,将对前文进行总结,并重点强调需要注意的关键要点。
此外,还将提供一些推荐的实践方法,以帮助读者更好地进行程序烧录工作。
通过以上结构,本文将全面介绍程序烧录的注意事项,帮助读者更好地理解和应用程序烧录技术。
我们希望读者通过本文的学习,能够掌握程序烧录的过程和技巧,减少烧录过程中可能出现的错误和问题,并能够在实践中灵活运用这些知识。
1.3 目的目的部分的内容可以如下所示:目的是为了提供程序烧录时需注意的事项,以帮助读者正确、高效地进行程序烧录操作。
arduino bootloader原理

arduino bootloader原理
Arduino bootloader即为Arduino引导程序,其原理是将Arduino程序实现在ATmega328P芯片的flash存储器中,以便后续通过串口通信和计算机连接进行编程和程序更新。
在引导程序中,Arduino通过串口通信接收来自计算机的指令进行程序烧录和数据传输,同时也能够使程序从之前烧入的flash存储器中自动启动运行。
这样做的好处是可以
避免使用专业的编程器进行单片机编程,只要使用USB与计算机连接,就可以随时更新程序,在使用过程中更加方便、灵活。
Arduino引导程序可以分为两部分,第一部分为"bootloader",即引导区,它占用了ATmega328P的0号bootloader区,该存储区大小为512个字节,用于存储引导程序的一些指令。
第二部分是用户程序区,即Sketch区,用于存储用户编程的程序以及数据,它的大小为ATmega328P的flash总大小的95%左右,其余留作操作系统区和引导区等。
使用引导程序烧写的程序有一定的局限性,由于引导程序本身也需要占用一部分
Flash空间,因此用户程序的可用空间也会受到影响,而且程序运行的速度也会略微变慢。
但是这些影响并不会对Arduino的应用场景造成影响,因为Arduino针对的是一些中小型
的物联网应用,实现简单控制逻辑即可,而且其研发周期短、应用面广,成本低廉等优点,使得该产品被广泛应用于可穿戴设备、智能家居、自动巡航等领域。
总之,Arduino bootloader可以使产品研发更快、更便捷,使代码开发和调试更加方便,甚至使得一些非专业开发人员也可以快速入门和实现想法,这种开发方式为物联网的
发展做出了不小的贡献。
单片机程序烧录步骤

单片机程序烧录步骤单片机(Microcontroller)是一种集成了微处理器(Microprocessor)、存储器(Memory)、输入输出接口(IO interface)和定时器等功能的集成电路。
单片机程序烧录是将用户编写的程序通过一定的方法烧录到单片机的存储器中,以使得单片机能够正常运行用户编写的程序。
1. 确定开发环境:首先确定开发环境,根据单片机型号选择合适的开发工具如Keil软件或MPLAB。
2.编写程序:根据具体应用需求编写程序。
使用C语言或汇编语言编写单片机程序,根据需要进行调试和优化。
3.连接单片机:将单片机与电脑连接。
通过USB、串口或者JTAG等方式将计算机与单片机连接起来,以便进行程序烧录和调试。
4. 选择编程方式:选择适当的编程方式。
有多种烧录方式,如ICSP (In-Circuit Serial Programming)方式、ISP(In-System Programming)方式、JTAG(Joint Test Action Group)方式等。
5.选择编程器:根据单片机的型号选择合适的编程器。
编程器是将程序烧录到单片机存储器中的硬件设备。
可以选择市面上常见的USB编程器或者自行设计编程器。
6.设置编程器:根据编程器提供的说明,设置编程器。
一般需要设置芯片型号、程序路径和烧录参数等。
7.程序烧录:进行程序烧录。
将编写好的程序导入编程器软件中,连接编程器和单片机,并执行烧录操作。
按照编程器提供的步骤进行操作,等待烧录过程完成。
8.确认烧录结果:确认烧录结果。
烧录完成后,编程器软件会显示烧录是否成功。
可通过读取程序数据、操作IO口等方式进行验证。
9.调试程序:验证程序功能。
将烧录好的程序在单片机上运行,通过示波器、调试器等工具对程序进行调试和性能优化。
10. 打包发布:将程序打包发布。
根据实际需求将程序发布到目标设备上,可以是单片机板上的Flash或EEPROM存储器。
单片机程序烧录步骤

单片机程序烧录步骤单片机(Microcontroller)是一种集成电路,内部包含了中央处理器(CPU)、内存、输入输出端口以及各种外围设备。
在使用单片机之前,我们首先需要将程序烧录到单片机的非易失性存储器中,以使其能够执行我们所编写的程序。
以下是单片机程序烧录的一般步骤:1.硬件准备:为了烧录单片机程序,我们需要准备好以下硬件设备:- 单片机开发板:选择适当的单片机开发板,比如常用的Arduino开发板或者STMicroelectronics的STM32开发板。
-烧录器:烧录器是将程序写入单片机存储器的设备。
根据单片机的类型和指令集,选择合适的烧录器。
-连接线:根据单片机开发板和烧录器之间的接口类型(比如USB、JTAG、SWD等),准备好对应的连接线。
3.编写程序:使用所选开发环境或IDE,编写需要烧录到单片机的程序。
根据单片机的型号和指令集,采用合适的编程语言,如C语言或汇编语言。
4.配置烧录工具:将烧录器连接到计算机,并确保其与开发环境的连接正常。
根据烧录工具的说明书,配置烧录工具的参数。
这些参数包括烧录芯片的型号、接口类型、烧录速度、电压等。
5.连接单片机:需要将烧录器与单片机开发板连接起来。
根据单片机开发板和烧录器的接口类型,插入合适的连接线。
确保连接的牢固可靠,避免松动。
6.烧录程序:使用开发环境提供的烧录工具,执行烧录操作。
这些工具可能提供命令行接口或图形化界面。
根据工具的提示,选择要烧录的程序文件和配置文件。
然后,点击“烧录”按钮,开始烧录程序。
7.程序验证:烧录完成后,进行程序验证以确保程序正确烧录到了单片机的存储器中。
此时可以关闭烧录工具,断开连接线,再次连接单片机到电源。
根据程序的逻辑和预期结果,验证程序是否按预期工作。
需要注意的是,每种单片机的烧录步骤可能会有所不同。
因此,在进行实际烧录之前,应仔细阅读所使用单片机和烧录器的说明书,并参考所选开发环境的文档。
总结起来,单片机程序烧录的步骤包括硬件准备、安装开发环境、编写程序、配置烧录工具、连接单片机、烧录程序以及程序验证。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Arduino烧录引导程序详解
一、所需材料:
1:一块可以正常上传Arduino程序的开发板(Nano、UNO、各种Atmega168/328的板都可以)
或者
2:若干杜邦连接线
3:准备修复引导程序的完好目标板
二、软件:
Arduino1.6.6中文版(这里使用的是这个版本,win7/64位系统,使
用其它软件版本肯定也可以实现本文的功能,只是对应的菜单可能有所变化)
三、步骤:
1、连接可以正常上传程序的开发板,在菜单“工具”中选择对应
的开发板类型和端口。
2、在菜单“文件”中选择“示例”->“11.ArduinoISP”。
3、注意看打开的程序中的注释文字,即图片中反选出来的部分。
当前VCC GND Pin 10 Pin 11 Pin 12 Pin 13
板
VCC GND Reset Pin 11 Pin 12 Pin 13 目标
板
4、点击“上传”把ArduinoISP程序上传到当前开发板上。
5、断开当前开发板的USB连接,然后把当前开发板和目标板按照
步骤3里面的要求使用杜邦线连接,如下图范例。
或是
6、开发板连上电脑,选择“工具”中的“编程器”->“Arduino as ISP”,
然后点击“工具”中的“烧录引导程序”,等待完成即可。
编写:****************。