用USBISP/USBasp编程器给Atmega328P下载Arduino bootloader引导程序
用USBISP/USBasp编程器给Atmega328P下载Arduino bootloader引导程序
bootloader引导程序是什么
犹如电脑主板的BIOS,开机或重启时先自动进行BIOS设置。有些单片机出厂时芯片厂商已经烧录好了引导程序,例如串口方式下载的引导程序。单片机复位或重新上电时先从引导程序执行代码检测是否有其他命令需要执行,再跳转到用户程序代码执行。
Arduino开发板预先写入了bootloader,通过USB转串口芯片下发下载命令给Arduino开发板使其复位进入bootloader,bootloader识别到下载命令后接着引导新的用户程序下载到单片机内部flash,若没有识别到下载命令则跳转到原来的用户应用程序继续执行。
对于新出厂的atmega328p芯片内部是没有arduino引导程序的,需要用户预先下载bootloader后才能用串口下载自己的应用程序.在某些罕见情况下旧的bootloader会导致一些bug,这个时候写入新版本bootloader可能会解决问题。
|
|
Arduino UNO引导程序下载接口
Arduino UNO使用的是AVR芯片,AVR芯片烧写程序是通过ICSP(in-circuit serial programmming)硬件接口来实现的,左上角是atmega16u2芯片作为USB转TTL串口用,也有ICSP接口,不用去下载引导程序,右边中间ICSP作为Atmega328P芯片的引导程序下载接口
SPI接口 | MOSI、MISO、SCLK |
---|---|
电源 | VCC、GND |
复位 | RESET |
几种常见的下载器和6P转接头
|
|
|
|
|
安装USBasp驱动
免驱版直接插入电脑就能被识别到
下载器与Arduino UNO开发板连接
USBas驱动与烧录软件下载地址:
https://pan.baidu.com/s/1ovbBz5D4a2MRvxWPAloXYg 提取码:mg21
Arduino Bootloader下载
连接好下载器和Arduino uno开发板或atmega328p单片机最小系统ICSP引脚,打开ProgISP下载软件
熔丝位配置好后点写入,再点读出,看是否与写入相同!
固件在Arduino安装目录中找到,如下图
引导程序下载好后,打开Arduino IDE给Arduino UNO开发板下载一个例程检查芯片能否通过串口下载Arduino的用户应用程序。
总结
烧写bootloader与使用编程器给单片机烧写程序是一样的,有的厂商的单片机出厂时已烧录好自己的引导程序,有的没有,烧录方法也会不同!
本文地址:https://blog.csdn.net/qq_42250136/article/details/107855202