MEGA2560 arduino烧录USB 芯片flash以及bootloader记录
一、相关硬件说明
1、自制MEGA2560板子一块
该板子是仿制了arduino的MEGA2560的板子,USB接口的实现是通过单片机ATMEGA16U2来实现,ATMEGA16U2和MEGA2560通过串口实现通信。ICSP接口1是对芯片ATMEGA16U2,ICSP接口2是对芯片ATMEGA2560.
2、USBtiny烧录器一个
红色线对应的有三角标识的是ICSP接口的第一个脚。
3、方口USB线一条
二、相关软件工具和固件说明
1、avrdude.exe工具
avrdude 是使用ISP下载/上传/操作AVR微控制器ROM和EEPROM的工具。
avrdude的网址是:http://www.nongnu.org/avrdude/
可以在这里更详细的了解和下载avrdude。
2、MEGA-dfu_and_usbserial_combined.hex固件
该固件为单片机ATMEGA16U2 USB转串口连接的固件。
3、USBtiny驱动
该驱动为烧录工具USBtiny在Windows的驱动
avrdude工具以及USB固件下载链接
三、烧录过程
1、安装USBtiny驱动
将USBtiny工具通过USB接口插入电脑后,会显示USBtiny,但是会带叹号,更新驱动程序,手动选择驱动文件夹,选择USBtiny驱动所在的文件夹。安装成功后会在设备管理器中看到libusb-win32-devices USBtiny设备:
2、烧录USB芯片flash
首先,将USBtiny的ICSP接口接入板子的USB接口芯片的ICSP接口,注意,不要接错,接错会烧录不成功。然后,打开cmd命令提示符模式,进入到avrdude所在的目录,注意:avrdude.exe和MEGA-dfu_and_usbserial_combined.hex需要在同一个目录中,然后执行命令avrdude -U flash:w:MEGA-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U loca:w:0x0F:m -P usb -c usbtiny -p usb82 -F命令,执行成功后会提示正在写入和烧录成功
这时,拔掉USBtiny工具,直接将板子通过USB连接到电脑,在设备驱动安装完成后,如在设备管理器中,看到如下设备
那么恭喜你,你的USB芯片flash烧录成功了,如在设备上有叹号,查看属性提升无法验证此设备所需的驱动程序的数字签名,
这时需要强制禁止系统的驱动数字签名验证,重新启动电脑,在启动过程中按键盘F8,进入到高级选项模式,然后选择禁用驱动程序签名强制启动,电脑重启成功后,在设备管理器中的设备就不会出现叹号和无法验证驱动数字签名的错误了。但是这种方式只能禁用验证一次,下次启动电脑后,该验证功能还是会恢复
3、烧录MEGA2560 bootloader
将USBtiny接到MEGA2560的ICSP接口,然后打开arduino IDE,选择工具->开发板->MEGA2560
处理器选择MEGA2560,编程器选择USBtinyISP,选择成功后,点击烧录引导程序,等一到两分钟,会提升验证错误,这时bootloader已烧录成功,验证错误可以忽略。
四、arduino上传应用程序
将板子和电脑直接通过USB连接,驱动正确安装
在arduino IDE的工具中选择正确的串口
选择成功后,就可以进行应用程序的上传了。
结束语
这是我自己在工作中所做的总结,水平有限还请见谅,网上还有其他非常好的方法,但是时间有限,没能一一尝试。