板型选目标板
确认:Tools > Board 选要被烧录的目标板,例如 Arduino Uno 或 Nano,而不是选作为烧录器的 UNO。
ATmega328P · ArduinoISP · Bootloader
用于空白 ATmega328P、Arduino UNO/Nano 芯片、最小系统板的 ArduinoISP 烧录说明。重点排查接线、板型选择、外部晶振、自动复位和常见 avrdude 报错。
结论基于 Arduino 官方 ArduinoISP / Bootloader 文档和 Microchip ATmega328P 公开数据手册。不同板卡丝印以实物为准。
Conclusion
确认:烧 Bootloader 不是普通 USB 串口上传,必须通过 ISP 接口连接 MOSI、MISO、SCK、RESET、VCC、GND。Arduino IDE 里要先把 UNO 上传成 ArduinoISP,再选择目标板和 Programmer: Arduino as ISP,最后执行 Burn Bootloader。
确认:Tools > Board 选要被烧录的目标板,例如 Arduino Uno 或 Nano,而不是选作为烧录器的 UNO。
确认:Classic Nano 可能有 Old Bootloader 选项;ATmega328P 与 ATmega328 非 P 签名不同,遇到签名错误要先确认芯片型号。
确认:UNO bootloader 通常按外部 16MHz 时钟配置。目标芯片如果 fuse 已设外部晶振但实物没接晶振,会表现为无法通信。
Wiring
自绘无水印接线图。若目标是裸片/最小系统,按 ATmega328P 引脚连接;若目标是 UNO/Nano 板,可直接接 ICSP 排针。
| Arduino UNO 烧录器 | 目标 ATmega328P / 板子 | 说明 |
|---|---|---|
| 5V | VCC / AVCC | 确认:5V 目标板使用;3.3V 目标板不要直接接 5V。 |
| GND | GND | 确认:必须共地。 |
| D10 | RESET | 确认:UNO 作为 ISP 时 D10 控制目标芯片复位。 |
| D11 | MOSI | 确认:SPI 数据输出。 |
| D12 | MISO | 确认:SPI 数据输入。 |
| D13 | SCK | 确认:SPI 时钟。 |
| RESET-GND 加 10uF | 烧录器 UNO 自身 | 确认:用于防止烧录器 UNO 自动复位,很多 UNO 需要加。 |
Steps
Troubleshooting
确认:常见于串口上传失败,不一定是 bootloader 烧录失败。若正在 Burn Bootloader,请优先检查 Programmer 是否选 Arduino as ISP、接线是否是 D10/D11/D12/D13 到目标 RESET/MOSI/MISO/SCK。
确认:ISP 没有和目标芯片建立通信。检查 VCC/GND、RESET、MOSI/MISO/SCK 是否接反;裸片检查外部晶振/谐振器是否存在。
确认:芯片签名与板型不匹配。常见原因是 ATmega328P 和 ATmega328 非 P 型号不同、Tools > Board/Processor 选错、目标芯片没有正常供电或 SPI 接线异常。
确认:作为烧录器的 UNO 没有正常运行 ArduinoISP,或 UNO 自动复位。先重新上传 ArduinoISP,再给 UNO 的 RESET-GND 加 10uF 电容后重试。
待确认:先确认你烧的是对应板型 bootloader;Nano 需要确认 Processor/Old Bootloader;裸片需要检查 RX/TX、自动复位电容、USB 转串口芯片和波特率。
Customer Reply
Bootloader 烧录失败多数是接线、板型、Processor、晶振、自动复位导致。先按流程排查,再判断是否芯片或板子硬件问题。
References
只使用公开资料和自绘接线图,不使用客户截图、订单、地址或带水印图片。
Arduino
官方教程说明 Arduino as ISP 是给其他 AVR 芯片烧 bootloader 的实用方法。
打开资料Arduino Support
Arduino 官方支持文章,说明用另一块 Arduino AVR 板给 UNO、Mega、classic Nano 等烧 bootloader。
打开资料Microchip
官方数据手册,确认 ATmega328P 支持通过 SPI 串行接口进行 ISP 编程。
打开 PDF