请教各位如何用usbisp烧写bootloader

请教各位如何用usbisp烧写bootloader,第1张

如果你的USBasp有壳子,那么需要先拆开它,如果没有壳子,直接上!我们需要找到跳线的地方(短路后,给USBasp升级固件)。我手上有两个USBasp,正如那个帖子所述的,一个是带有彩壳的,一个是没有壳子的。 在背面,我们需要短接图中两个红色箭头所指的过孔,我用的是尖头镊子,当然,用导线也是可以的,但要保证可靠短路。 没有彩壳的,我们可以看到有两个焊盘,如下图中红色圈圈所示,我们需要短接的就是那两个。我用的还是尖头镊子,你呢? 接下来,我们需要两个USBasp,一个是作为编程器,一个是作为目标(更新芯片上的程序,进行固件升级)。将两个USBasp进行对连,也就是他们ISP的接口:一个的1号脚接另一个的1号脚,一个的2号脚接另一个的2号脚,一一对应,以此类推。当然,你购买编程器的时候,应该会附送一个10p的排线,用那个直接连接即可,如果没有,那就只能用十根杜邦线了。连接完毕后,然后再短路刚才图示的地方(我用的是镊子),接着插到电脑的USB口上。 我们用的还是原先的progisp软件,打开软件界面,在器件一栏,选择ATmega8(绝大多数情况,编程器所用的芯片是ATmega8,除非你人品爆发了)。接下来,请保持可靠短路,直到固件更新完毕。我们可以读一下器件序号,如果提示读出ID成功,如下图所示,那你的接线是妥的,我们可以继续了。 在更新固件之前,我建议你备份下当前的固件,以防万一。也就是读出芯片中的内容,然后保存。做法是:点击progisp软件菜单栏中的“命令”选择,选中下拉菜单中的“读出flash”,如下图所示,稍等片刻,就能读完。然后点击菜单栏中的“文件”,出现下拉菜单后,点击“保存flash”即可,默认是以bin文件形式保存的。这样备份好固件后,即使升级失败,我们也有“后悔药”。 此次 *** 作,是不用修改熔丝位的,因为原先的固件出厂前就修改好熔丝位了。当然,为了以防万一,我把熔丝位读了出来,留图做个备份,熔丝位如下图: 好了,完成了前期工作,真正关键的时刻来了。我们调入附件中的firmware,路径是:usbasp2011-05-28\usbasp2011-05-28\bin\firmware\usbaspatmega82011-05-28hex,然后和以前一样,设置好编程参数:校验flash,芯片擦除和编程flash,其他不要勾选。如下图所示: 然后点击“自动”按钮,稍等片刻,USBasp的固件就更新完毕了!怎么样,其实也不难吧。这时,你需要把编程器从USB口拔出,接着你需要解除刚才短路的地方,从此,USBasp固件更新完成了。 当然,用更新完固件的USBasp可以对另一个USBasp更新固件!也就是说PROGISP软件还可以正常使用,你仍可以用这个软件来对其他芯片烧写程序。 如果你只有一个USBasp,别急,可以用Arduino UNO作为ISP编程器,给USBasp更新固件。 固件更新完毕后,把更新完固件的USBasp插入电脑的USB口,然后把电脑上对应的驱动更新到最新版(附件usbasp-windriver2011-05-28),最新版本是1240。 然后,一劳永逸的时刻到来了! 我们以Arduino UNO为例讲述烧写bootloader的方法。 打开Arduino IDE,选好板子类型为Arduino UNO。 接着,选择编程器为USBasp。 最后点击“Burn Bootloader”即可,稍等片刻就会提示烧写完毕!如下图所示。怎么样,超简单吧,小伙伴们再也不用担心设错熔丝位了。 转载

这里不如贴网址,只能贴部分。
基本概念:
甲) 事前准备和硬件连接
乙) 编写程序代码和经ArduinoISP上载至ATtiny
*** 作流程:
A) 事前准备 - Arduino IDE(参考:1& 2)
这是为使原来的Arduino IDE能支持ATtiny13/44/45/84/85的一次性步骤:
下载档案 attiny/tree/Arduino1
b) 解压下载档,把当中的 "ATtiny" 放在Arduino 档案夹hardware 内

c) 修改attiny档案夹内的boards文字档,把当中的 "attiny13buildf_cpu=9600000L" 改为 "attiny13buildf_cpu=10000000L"
d) 修改hardware/arduino/cores/arduino/wiringc
修改前:
#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)
修改後:
#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) || defined(__AVR_ATtiny13__)
B) 事前准备 – ArduinoISP (参考:1 & 3)
这是使Arduino板用作ArduinoISP上载烧写其它AVR芯片的步骤,若Arduino板之前已为ArduinoISP,则不用再做。
a) 运行Arduino IDE
b) 打开ArduinoISP范例文件

c) 正确选择所使用的Arduino板及串口

d) 上载至Arduino板
e) 退出Arduino IDE
C) 硬件连接
这是ArduinoISP 与ATtiny13的硬件连接
D) 编写程序代码和经ArduinoISP上载至ATtiny
a) 运行Arduino IDE
b) 正确选择所使用的ATtiny13

c) 编写程序代码
int led = 4;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
d) 经ArduinoISP上载烧写ATtiny13

e) 若板上的LED以1秒亮1秒灭的闪动,表示以上 *** 作成功。

首先,确保你的自制板子没啥硬件上的电路问题。

1有一块儿能正常工作的Arduino UNO板子,最好是官方的。

2把Uno的D13,D12,D11,GND,5V都连接到自制板子的对应pin上,把自制板子的RESET连接到UNO的D10上,检查下连线是否正确,如果没错,下一步。

3像往常一样,用USB线把UNO连接到电脑上,打开Arduino IDE,选好com口,板子选Arduino Uno,编程器选Arduino as ISP,在文件->示例中选ArduinoISP,把这个示例程序上传到Uno,成功后,下一步。

4 在工具菜单中点击烧录引导程序,如果没问题的话,一分钟内会看到Arduino ODE在底部黑窗口上方的提示条上给你个烧录成功的提示,这就好了。

如有疑问,再问吧,祝愉快!

APM飞控程序是开源的,我们可以对某一版本的APM飞控程序进行修改做二次开发。当对APM程序二次开发完成后就要将修改的APM程序编译上传到APM飞控板子中。下面就是介绍如何使用“ArduPilot-Arduino-103-windows”编译、上传APM程序。
1,下载APM飞控程序编译环境(IDE)--“ArduPilot-Arduino-103-windows”,注意不要使用其他版本的Arduino编译环境。
2,下载一个APM飞控程序,例如:ArduPlane-275。另外“ArduPilot-Arduino-103-windows”文件夹与飞控程序文件夹放在一个文件夹中,文件夹的命名最好都是用英文。
3,使用“ArduPilot-Arduino-103-windows”时,打开该文件夹,直接双击“arduino”图标使用,无需安装。“ArduPilot-Arduino-103-windows”的设置:
tool-->board: Arduino mega 2560 or mega ADK;
tool-->programmer: AVRISP mkII
ArduPilot-->: HAL board: Ardupilot mega 2X(现在使用的APM20-25-26等)
File-->reference-->Sketchbook 选为要编译的飞控程序文件夹,每次更改后点OK,并关掉Arduino 103 再打开,这时再选File-->Sketchbook中一项进行编译。
例如,对File-->Sketchbook中ArduPlane进行编译,点击工具栏中“对号”图标开始编译,没有错误大约1分钟就能编译结束。编译完成之后将APM通过数据线连接到电脑上(编译时就连接也可以),选择Board-->serial-port 选择APM的接口。之后点击工具栏的“向右箭头”图标将编译好的程序写进APM,这样就完成了一次对APM飞控程序的刷新。
现在的APM飞控程序不经删减,编译后的大小很容易超过248KB(256KB总内存-8KB的Bootloader占用内存),当编译后大于248KB时不能上传到APM中否则会破坏APM的bootloader


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13199214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-19
下一篇 2023-06-19

发表评论

登录后才能评论

评论列表(0条)

保存