O que é um carregador de inicialização Arduino®?
O carregador de inicialização Arduino® é um pequeno pedaço de software gravado em um chip em todas as placas Arduino®. Seu objetivo é facilitar a reprogramação fácil e rápida. O carregador de inicialização Arduino® é de código aberto, o que significa que pode ser copiado, modificado e redistribuído livremente e é útil apenas nos sistemas Arduino®.
Os gerenciadores de inicialização são pequenos pedaços de software que são executados quando o computador é ligado pela primeira vez. A maioria dos computadores desktop usa um carregador de inicialização para carregar o sistema operacional do computador na memória ou para iniciar o sistema operacional no caminho do carregamento. Em máquinas configuradas para inicializar vários sistemas operacionais, um carregador de inicialização também serve para solicitar ao usuário que selecione qual sistema operacional usar. Apesar de sua relativa simplicidade, os dispositivos Arduino® são essencialmente computadores de uso geral muito pequenos e requerem um gerenciador de inicialização quando ligados.
O carregador de inicialização padrão do Arduino® é executado em uma sequência para determinar qual software carregar na memória de curto prazo. Se a placa estiver conectada ao computador por cabo USB, rádio Xbee® ou conexão serial, o carregador de inicialização tentará fazer o download de um novo software do computador. Os programas Arduino® também são chamados de esboços Arduino®. Após o download do esboço, ele será gravado na memória de longo prazo e, em seguida, carregado novamente na memória de curto prazo para execução. Se a placa não estiver conectada a um computador ou se falhar no download de um novo software, ela carregará o programa gravado mais recentemente da memória de longo prazo.
Um carregador de inicialização Arduino® é especialmente útil porque elimina a necessidade de um dispositivo de programação externo, que geralmente é necessário para alterar o software em dispositivos similares. As invenções do Arduino® geralmente executam seu software diretamente dos chips sem a vantagem de dispositivos de armazenamento magnético. Essa abordagem é mais rápida e barata do que usar armazenamento magnético. A principal desvantagem de um gerenciador de inicialização é que ele consome parte do espaço limitado nos chips, minimizando o espaço disponível para o software.
Alguns usuários ficaram frustrados com as limitações do gerenciador de inicialização Arduino® e recorrem ao uso de um dispositivo de programação externo para remover o gerenciador de inicialização e adicionar manualmente novos programas. Embora essa técnica aumente o espaço disponível e a velocidade de execução do software, consome bastante tempo e não é recomendada para a maioria dos usuários. Outros usuários criaram gerenciadores de inicialização alternativos do Arduino®, alguns dos quais de código aberto e disponíveis gratuitamente online.