Advertencia, se presenta una explicación larga y sin aliento. Me gustaría aclarar algunos conceptos erróneos que creo que estás teniendo.
El Arduino es realmente dos cosas.
- Una colección de bibliotecas C / C ++ compiladas con avr-gcc y
- Un pequeño programa de firmware del gestor de arranque que se programó previamente en el chip de fábrica.
Sí, el IDE de Arduino básicamente envuelve avr-gcc, el compilador AVR C. Sus proyectos, o "bocetos", incorporan las bibliotecas Arduino mencionadas y se compilan con avr-gcc. Sin embargo, nada de esto tiene nada que ver con cómo se escribe algo en la pizarra. La forma en que se implementan estos bocetos es un poco diferente de lo habitual.
El IDE de Arduino se comunica con su Arduino a través del chip USB a serie en la placa e inicializa un modo de programación que el gestor de arranque comprende y envía su nuevo programa al chip donde el gestor de arranque lo colocará en una ubicación conocida y luego lo ejecutará . No existe una "biblioteca avr que realice la escritura real", es solo el IDE de Arduino que abre un puerto serie y habla con el gestor de arranque, así es como también se imprimen sus mensajes de depuración en el IDE durante el tiempo de ejecución.
Cualquier IDE alternativo tendrá que poder hacer esta misma comunicación en serie con el gestor de arranque. Arduino es fácil debido a todas las bibliotecas que ya le proporcionan y un programa de un solo toque y ejecutar desde el IDE. Sinceramente, no creo que sea más fácil o más fácil de usar. Han resumido todos los detalles del microcontrolador AVR y el proceso de construcción / implementación.
La alternativa sería algo como avr-studio (que también usa avr-gcc para su compilador) y un programador ICSP (que es una pieza adicional de hardware que debe comprar). No tiene mucho más que algunos archivos de encabezado de definición de registro y algunas macros útiles. Tampoco se le proporciona ningún cargador de arranque en su chip AVR, es solo una pizarra en blanco. Cualquier cosa que desee hacer con el microcontrolador, tendrá que profundizar y aprender sobre sus periféricos y registros de hardware y mover los bytes en C. ¿Desea imprimir un mensaje de depuración en la PC? Escriba la rutina UART para print () primero y abra una terminal en su computadora.
Un paso más abajo de esto, está escribiendo código en un editor de texto y llamando a avr-gcc y avr-dude (herramienta de línea de comandos de programación) desde un Makefile o línea de comandos.
Un paso más bajo de eso y estás escribiendo ensamblaje en un editor de texto y llamando al avr-assembler y avr-dude.
No estoy seguro de a dónde voy con esto, solo creo que el IDE y Arduino existentes son absolutamente geniales y perfectos para un principiante: su reclamo de fama es fácil de usar. Tal vez no sea la respuesta que está buscando, aprenda el flujo de trabajo y haga algo genial con él.