如题,准备工具如下:
硬件:
一片atmega328p-pu
16M无源晶振(必须16M)
USBASP下载器(用于烧写arduino的bootloader)
USB转串口工具(如PL2303或CH340)
软件:
Arduino1.8.2软件
progisp172软件(用于烧写arduino的bootloader)
步骤一:
焊接Arduino核心板,参见如下原理图:
步骤二:
烧写Arduino的bootloader。
USBASP连接usbasp下载接口,打开progisp172软件,如下操作:
1、Select Chip 选为Atmega 328P,点RD确认是否一致
2、熔丝位设置:低字节0xFF 高字节0xDE 扩展自己0xFF ,写入再读出看是否已正确写入熔丝位
3、调入flash:在arduino安装目录下的…\hardware\arduino\avr\bootloaders\optiboot\optiboot_atmega328.hex ,注意晶振必须是16M,如果用8M晶振则要用…\hardware\arduino\avr\bootloaders\atmega\ATmegaBOOT_168_atmega328_pro_8MHz.hex。
4、配置好熔丝位、调入flash后点自动即可。
步骤三:
1、Select Chip 选为Atmega 328P,点RD确认是否一致
2、熔丝位设置:低字节0xFF 高字节0xDE 扩展自己0xFF ,写入再读出看是否已正确写入熔丝位
3、调入flash:在arduino安装目录下的…\hardware\arduino\avr\bootloaders\optiboot\optiboot_atmega328.hex ,注意晶振必须是16M,如果用8M晶振则要用…\hardware\arduino\avr\bootloaders\atmega\ATmegaBOOT_168_atmega328_pro_8MHz.hex。
这里我用的是16M晶振,已经烧写了optiboot_atmega328.hex。
4、配置好熔丝位、调入flash后点自动即可。
步骤三:
使用Arduino1.8.2软件和串口工具PL2303上传程序:
如果烧写的bootloader是optiboot_atmega328.hex ,则开发板选项应为”Arduino/Genuino Uno”才可以。如果烧写的bootloader是ATmegaBOOT_168_atmega328_pro_8MHz.hex开发板应选为Arduino pro or pro mini,处理器选为328P。因为使用串口上传文件,所以需要手动复位,板子上的白色键即复位键。特别注意,点上传后编译进度满了之后迅速按下复位键,等待10秒左右,显示上传成功即可。如果过了半分钟还在上传中或者报错了,说明复位的时机不对或者bootloader和开发板选项不匹配。