Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.

Instalar um bootloader é o primeiro passo para dar vida aos seus projetos Arduino. Este é um software que ajuda você a carregar frequentemente esboços do Arduino com facilidade na placa, sem a necessidade de equipamentos de programação especiais.

Embora isso possa parecer ciência de foguetes, na verdade é mais simples do que você imagina, mesmo para iniciantes. Mostraremos como instalar (ou reinstalar) facilmente um gerenciador de inicialização em sua placa Arduino em apenas algumas etapas simples.

Mas primeiro, o que exatamente é um bootloader na placa Arduino?

O que é um gerenciador de inicialização?

Um bootloader do Arduino é um pequeno programa armazenado na memória não volátil da placa que é executado toda vez que a placa é ligada, carregada com um novo código ou reiniciada. Sempre que o programa bootloader é executado, ele inicializa o hardware da placa e então carrega o sketch principal ou programa que está armazenado na memória flash da placa.

Vale a pena notar que todas as placas Arduino vêm com um bootloader pré-instalado de seus fabricantes. Às vezes, você pode encontrar placas com bootloaders defeituosos imediatamente. No entanto, isso raramente acontece.

Por que usar um gerenciador de inicialização?

Existem várias situações em que usar um bootloader do Arduino pode ser útil. Por exemplo, se você é iniciante na plataforma Arduino, usar um bootloader pode facilitar e agilizar o upload de novos programas para sua placa. Isso ocorre porque você não precisa usar dispositivos de programação externos, como um programador ou um conversor USB para serial, para carregar seu código.

Se você estiver trabalhando em um projeto que requer atualizações frequentes no código, você o achará muito útil. Nesse caso, usar um bootloader pode economizar tempo e esforço, pois você pode simplesmente carregar o novo código na placa sem precisar usar dispositivos de programação externos.

Além disso, se você estiver trabalhando em um projeto que requer o Arduino estar em um estado específico quando for ligado, como executar um programa específico, usar um gerenciador de inicialização pode ser útil. O bootloader permite que você defina o estado inicial da placa para que ela execute automaticamente o programa desejado quando for ligada.

Por fim, ele fornece uma maneira de recuperar o Arduino se o esboço principal for corrompido ou falhar na execução.

Por que meu bootloader está ausente?

Pode haver quatro razões possíveis pelas quais sua placa pode precisar de um novo gerenciador de inicialização:

  1. Nenhum bootloader pré-instalado: É bastante comum ter muitos projetos autônomos ATMEGA328P onde você solda seu chip em um PCB e frita o chip. Portanto, pode ser possível que você tenha substituído a placa por um chip sem a instalação prévia do bootloader.
  2. Carregador de inicialização substituído: você pode ter substituído seu gerenciador de inicialização por um gerenciador de inicialização modificado de terceiros que pode estar corrompido.
  3. Bootloader corrompido: este é o cenário menos provável. No entanto, em alguns casos, a memória flash do Arduino pode ser corrompida.
  4. Memória estendida: Se você substituiu (instalou) todo o gerenciador de inicialização com seu aplicativo para aproveitar os 2K restantes de memória do programa, seu gerenciador de inicialização está definitivamente ausente.

Aqui está o que você precisa fazer.

Instalando/Reinstalando o Arduino Bootloader

Os microcontroladores são normalmente programados antes de serem soldados em um PCB. Isso geralmente é feito usando a programação no sistema (ISP), como a programação serial no circuito (ICSP), que permite que o microcontrolador seja programado usando um programador externo. Muitos fabricantes de microcontroladores, como Atmel e Microchip, fornecem um cabeçalho ISP em suas placas para essa finalidade.

Usando outra placa Arduino

Para atualizar o bootloader em um microcontrolador ATmega328, você precisa usar o cabeçalho ICSP na placa antes de instalar o bootloader usando a outra placa como um programador ISP.

Inicie o Arduino IDE, navegue até ArduinoISP conforme mostrado abaixo, e carregue o código de exemplo na placa que pretende usar como programador. (Siga o tutorial em vídeo para conexão de hardware).

O código deve ficar assim para que você saiba que está no caminho certo.

De Ferramentas guia, vá para Programador então clique em Arduino como ISP como mostrado abaixo.

Finalmente, a partir do Ferramentas guia novamente, clique em Gravar Bootloader como mostrado.

Após a conclusão do processo, a placa de destino está pronta para ser programada.

Usando um programador dedicado

Existem muitos dispositivos de programação AVR disponíveis para este tipo de instalação. Uma boa opção que você pode experimentar é o AVR Pocket Programmer (somente Windows) baseado no programa de Dick Streefland. USB minúsculo e Limor Fried's USBtinyISP. Ele oferece uma maneira mais simples de programar microcontroladores AVR, como os encontrados nas placas Arduino. Além do fato de ser alimentado por uma conexão USB, é a melhor opção porque é compatível com uma variedade de linguagens de programação e software, tornando-se uma ferramenta versátil para qualquer usuário arduino.

Você também pode tentar outras opções, como o programador oficial Atmel-ICE para microcontroladores ARM, especialmente se você não estiver no Windows.

Conecte a placa Arduino ao programador e atualize o bootloader. Consulte este tutorial em vídeo abaixo.

O processo deve ser simples e não demorar mais de 20 segundos.

Observação: A placa de destino deve ser ligada corretamente antes de tentar este método. Caso contrário, você não será capaz de piscar o .hex arquivo para o seu destino.

Para usuários avançados, existe uma maneira mais complexa de instalar o bootloader usando a linha de comando. Não é necessário chegar a este estágio, mas dá a você o poder de modificar ou recompilar o código para obter uma experiência mais personalizada.

A primeira etapa do processo é configurar os bits de fusíveis, que fazem parte do chip AVR, e controlar configurações como o uso de um cristal externo. Use o seguinte comando para definir seus bits de fusível:

avrdude-b 19200 -cusbtiny-pm328p-v-e-VOCÊefuso:c:0x05:m-VOCÊfusível:c:0xD6:m-VOCÊlfuse:c:0xFF:m

Após a configuração dos bits de fusível, a próxima etapa é transferir um arquivo .hex compilado para a placa de destino e definir os bits de bloqueio. Isso permitirá que você execute o programa na placa. Certifique-se de estar no mesmo diretório que o optiboot_atmega328.hex arquivo antes de digitar este comando:

avrdude-b 19200 -cusbtiny-pm328p-v-e-VOCÊclarão:c:hexfilename.hex-VOCÊtrancar:c:0x0F:m

Observação: Esses comandos são para o Arduino Uno. Você precisará refatorar os bits de fusíveis para sua placa encontrados no board.txt arquivo e ajustar o Parâmetros do número de peça do AVRDUDE também para eles trabalharem.

O que você fará com o Arduino a seguir?

O bootloader do Arduino é o que o torna tão fácil de programar, mesmo para iniciantes. Agora você pode fazer upload de seus próprios esboços personalizados para o Arduino e restaurar o bootloader para futuros projetos DIY do Arduino.