Atenção, uma explicação extensa é iminente. Gostaria de esclarecer alguns conceitos errôneos que acho que você está tendo.
O Arduino é realmente duas coisas.
- Uma coleção de bibliotecas C / C ++ compiladas com avr-gcc e
- Um pequeno programa de firmware do carregador de inicialização que foi previamente programado no chip de fábrica.
Sim, o Arduino IDE basicamente envolve o avr-gcc - o compilador AVR C. Seus projetos, ou "esboços", incorporam as bibliotecas mencionadas do Arduino e são compilados com o avr-gcc. No entanto, nada disso tem a ver com a forma como algo é escrito no quadro. Como esses esboços são implantados é um pouco diferente do habitual.
O IDE do Arduino se comunica com o seu Arduino através do chip USB-para-serial na placa e inicializa um modo de programação que o gerenciador de inicialização entende e envia seu novo programa para o chip onde o gerenciador de inicialização o colocará em algum local conhecido e, em seguida, execute-o . Não existe uma "biblioteca avr que faça a gravação real" - é apenas o IDE do Arduino abrindo uma porta serial e conversando com o gerenciador de inicialização - é assim que suas mensagens de depuração também são impressas no IDE durante o tempo de execução.
Qualquer IDE alternativo deverá ser capaz de fazer a mesma comunicação serial com o carregador de inicialização. O Arduino é fácil por causa de todas as bibliotecas que eles já fornecem e com um toque para programar e executar a partir do IDE. Sinceramente, acho que não fica mais fácil ou mais amigável. Eles abstraíram todos os detalhes do microcontrolador AVR e do processo de construção / implantação.
A alternativa seria algo como o avr-studio (que também usa o avr-gcc para seu compilador) e um programador ICSP (que é uma peça adicional de hardware que você precisa comprar). Você não recebe muito mais do que alguns arquivos de cabeçalho de definição de registro e algumas macros úteis. Você também não recebe nenhum carregador de inicialização no seu chip AVR, é apenas uma folha em branco. Qualquer coisa que você queira fazer com o microcontrolador, terá que se aprofundar e aprender sobre seus periféricos e registradores de hardware e mover bytes no C. Deseja imprimir uma mensagem de depuração no PC? Escreva a rotina UART para print () primeiro e abra um terminal no seu computador.
Um passo abaixo disso, você está escrevendo código em um editor de texto e chamando avr-gcc e avr-dude (ferramenta de linha de comando de programação) de um Makefile ou linha de comando.
Um passo abaixo disso e você está escrevendo assembly em um editor de texto e chamando o avr-assembler e avr-dude.
Não tenho certeza de onde estou indo com isso, apenas acho que o IDE e o Arduino existentes são absolutamente geniais e perfeitos para iniciantes - sua reivindicação à fama é fácil de usar. Talvez não seja a resposta que você procura, aprenda o fluxo de trabalho e faça algo legal com ele.