首页 > 编程语言 >使用Arduino Uno作为烧录器为Atmega328PB芯片直接烧录程序

使用Arduino Uno作为烧录器为Atmega328PB芯片直接烧录程序

时间:2024-09-12 19:16:04浏览次数:10  
标签:烧录 Arduino 烧录器 程序 烧写 使用 Atmega328PB

目录

摘要

通过将一块Arduino Uno设置成ISP模式作为烧录器,从而实现为Arduino Pro Mini空白的ATMega328PB芯片直接烧录程序。

烧录方式

查阅相关资料,常见的烧写方式有4种:

  1. 使用USBtinyISP编程器烧录
  2. AVR USB编程器烧录
  3. AVRASP编程器烧录
  4. 使用Arduino作为ISP烧录

我对第4种烧录方式进行了实验,使用了Arduino IDE和Ardudess这2种软件,均可实现程序正常运行。

操作过程

准备工作

需要用到的东西包括一块Arduino uno开发板、一根USB数据线、目标开发板、杜邦线若干,你的电脑要提前安装好Arduino IDE和Ardudess这2款软件。

将Arduino uno设置为烧录器

我使用的是第4种烧录方式,即将Arduino uno作为烧录器。首先设置好开发板参数,当然每台电脑端口都不一样,具体看你连接后电脑提示的是哪了个端口,我的电脑如图:

打开官方示例程序Arduino ISP,将程序上传至开发板,如图:

烧录器和目标板电路连接

主要采用SPI连接方式,接线原理如下:

Uno 数字接口序号 目标板
VCC VCC
GND GND
SS 10 RESET
MOSI 11 MOSI
MISO 12 MISO
SCK 13 SCK

因为烧录器是Arduino uno开发板,所以大家知道引脚序号,目标板型号太多,需要具体型号具体确定引脚序号,我使用的是Arduino Pro Mini开发板,其使用的MCU是Atmega328PB,与Arduino uno使用的Atmega328P没有太大的区别,引脚序号可以延用。
网上别人的连接图[1]是这样的:

我的连接图是这样的:

^_^
开玩笑,实际上是这样的[2]

添加第三方库

请参阅博主唐唐爸爸为ATMega328pb芯片烧录Arduino bootloader

设置参数

我买的Arduino Pro Mini板是3.3V8MHz的版本,采用Atmega328PB芯片,实物如图:

相应的设置参数如图:

解释一下,COM3端口是刚才Arduino Uno的端口,因为目标板是通过SPI方式与Arduino Uno板连接的,实际上与电脑连接的就只有Arduino Uno板。波特率随便选。BOD(Brown out detection)因为使用的是3.3V工作电压,所以设置成2.7V低电压保护。Bootloader可以选择不使用,这样每次都需要烧写板进行程序烧写,但我选的是使用UART0口,主要还是考虑后续可以直接用Arduino Pro Mini板连接电脑下载程序。晶振使用的是3.3V外源8MHz。Variant应设置成328PB,这很重要,必须要根板子上的芯片型号一致,否则后续可能程序烧写成功,但就是会出现各种各样意外的错误。

程序烧写

关于这一部分,我使用了2种方法。

使用Arduino IDE进行烧写

使用Ardudess进行烧写

首先导出程序的Hex文件:

而后使用Ardudess加载并点击Go按钮写入:

以上部分,虽然看似2种方法,归根结底还属于1种,无论是Arduino IDE,还是Ardudess,它们的底层都是调用的Avrdude程序。

但是还是建议使用Arduino IDE进行烧写,因为空白的芯片在正式烧程序前要先烧录熔丝位和加密位。

成果展示


  1. 为ATMega328pb芯片烧录Arduino bootloader ↩︎

  2. Fritzing连接图 ↩︎

标签:烧录,Arduino,烧录器,程序,烧写,使用,Atmega328PB
From: https://www.cnblogs.com/hele-two/p/18410856

相关文章

  • PY32离线烧录器功能介绍,使用说明,支持PY32系列多款单片机
    PY32离线烧录器可以对PY系列单片机进行批量烧录,现支持PY32F002A/002B/020/003/030/071/072/040/403/303芯片各封装和XL32F001/003等芯片。烧录器支持加载“Hex”与“Bin”两种格式的固件。PY32离线烧录器支持批量烧录,上机台烧录,烧录速度快。界面简洁,操作也是比较简单,支持多种烧写配......
  • silicon zigbee开发环境搭建及工程创建、导入、烧录
    1.Ember软件和sdk安装1.1SimplicityStudio   1.安装:双击install-studio-v4_x64.exe安装,使用默认方式安装即可,或者可以将安装目录更改到自己的安装目录下。   2.SDK安装:   推荐使用方法2安装,这样可以不用下载sdk。   方法1:连接开发板自动安装   ......
  • 蓝桥杯-STM32G431RBT6工程创建和程序烧录(保姆级图文详解)
    文章目录前言蓝桥杯嵌入式赛道所使用的开发板为STM32G431RBT6 CT117E-M4开发板(新版),如下图:一、需要安装的环境keilMDK,stm32cubemx,官方提供的资源包二、使用步骤(STM32cubemx部分)1,首先打开STM32cubemx注:蓝桥杯用HAL库更节省比赛时间,也更方便修改2,创建项......
  • H7-TOOL脱机烧录的UID加密操作方法,支持一键生成目标板C代码,方便大家轻松操作(2024-08-2
    UID加密使用比较方便,对应的C代码模板已经做好,使用TOOL上位机生成后,直接复制粘贴到自己的工程即可使用。返回1表示解密成功,返回0表示失败。【UID加密原理】1、烧录器在烧录芯片时,按照指定的算法将UID码编码为一个加密数据,并写入FLASH指定区域。2、用户的程序必须增加一段UID校......
  • H7-TOOL新版固件2.26发布,增加20多款新系列芯片脱机烧录支持,CAN UDS解析,升级CAN助手,串
    H7-TOOL详细介绍(含操作手册):http://www.armbbs.cn/forum.php?mod=viewthread&tid=89934【PC软件】V2.261.PC软件取消自动检查版本,替换为手动按钮检查更新2.CAN助手  -支持时钟选择(20M40M80M),CANFD支持最高8M波特率(需支持8M的canPHY芯片)  -增加“J1939通用解......
  • H7-TOOL混合脱机烧录以及1拖4不同的通道烧录不同的程序操作说明(2024-08-07)
     【应用场景】原本TOOL的1拖4是用于同时烧录相同程序给目标板,但有时候一个板子上有多个不同的MCU,客户希望仅通过一个TOOL就可以完成对板子上多个MCU的烧录,也就是1拖4不同的通道烧录不同的程序,此贴为此制作。【实验目标】由于这个属于定制需求,需要简单修下目标文件,后面升......
  • STM32通过ESP8266连接机智云APP(第二讲,烧录固件并测试)
       今天与大家分享STM32通过ESP8266连接机智云APP,并完成数据的上传下发第二讲。带大家一起烧录机智云固件到ESP8266并且将其通过机智云串口助手与APP进行测试。     另外新创建了公众号“宝藏Code园”,本系列相关代码将在公众号里面开源。需要本项目相关工程代码......
  • Jetson Orin Nano安装(烧录)Ubuntu22.04.4LTS
    1、准备材料JetsonOrinNano(8GB)外设(键盘、屏幕、鼠标、网线、电源适配器)主机(也可以是虚拟机,只要是ubuntu系统就可以)2、下载SDKmanger下载地址:JetPackSDK|NVIDIA开发者进入下载位置并解压:cdDownloads/sudodpkg-isdkmanager_2.1.0-11682_amd64.deb第一次解压......
  • H7-TOOL自制Flash读写保护算法系列,为STM32H7全系列芯片制作读写使能和解除算法,支持在
    说明:很多IC厂家仅发布了内部Flash算法文件,并没有提供读写保护算法文件,也就是选项字节算法文件,需要我们制作。实际上当前已经发布的TOOL版本,已经自制很多了。但是依然有些厂家还没自制,所以陆续开始为这些厂家提供读写保护支持。最近好几个网友咨询H7系列芯片保护支持,马不停蹄,已......
  • H7-TOOL自制Flash读写保护算法系列,为国民技术N32G031制作读写使能和解除算法,支持在线
    说明:很多IC厂家仅发布了内部Flash算法文件,并没有提供读写保护算法文件,也就是选项字节算法文件,需要我们制作。实际上当前已经发布的TOOL版本,已经自制很多了。但是依然有些厂家还没自制,所以陆续开始为这些厂家提供读写保护支持。实现效果:本次添加国民技术的N32G031,从2.26版本开......