Advertencia: se avecina una larga explicación. Me gustaría aclarar algunos conceptos erróneos que creo que tienes.
El Arduino es realmente dos cosas.
- Una colección de bibliotecas C/C++ compiladas con avr-gcc y
- Un pequeño programa de firmware de arranque que se programó previamente en el chip desde la fábrica.
Sí, el IDE de Arduino básicamente envuelve a avr-gcc - el compilador de C de AVR. Sus proyectos, o "sketches", incorporan las mencionadas librerías de Arduino y se compilan con avr-gcc. Sin embargo, nada de esto tiene que ver con cómo se escribe algo en la placa. La forma de desplegar estos sketches es un poco diferente a la habitual.
El IDE de Arduino se comunica con tu Arduino a través del chip usb-a-serial de la placa e inicializa un modo de programación que el gestor de arranque entiende y envía tu nuevo programa al chip donde el gestor de arranque lo colocará en alguna ubicación conocida y luego lo ejecutará. No hay ninguna "biblioteca avr que haga la escritura real" - es sólo el IDE de Arduino abriendo un puerto serie y hablando con el gestor de arranque - así es como tus mensajes de depuración se imprimen en el IDE durante el tiempo de ejecución también.
Cualquier IDE alternativo tendrá que ser capaz de realizar esta misma comunicación en serie con el gestor de arranque. Arduino es fácil debido a todas las bibliotecas que ya te proporcionan y a la programación y ejecución de un solo toque desde el IDE. Sinceramente, no creo que sea más fácil, o más fácil de usar. Han abstraído todos los detalles del micro-controlador AVR y el proceso de construcción/desarrollo.
La alternativa sería algo como avr-studio (que también utiliza avr-gcc para su compilador) y un programador ICSP (que es una pieza adicional de hardware que tienes que comprar). No se le proporciona mucho más que algunos archivos de cabecera de definición de registros y algunas macros útiles. Tampoco se le proporciona ningún cargador de arranque en su chip AVR, es sólo una pizarra en blanco. Cualquier cosa que quieras hacer con el microcontrolador, tendrás que profundizar y aprender sobre sus periféricos de hardware y registros y mover bytes en C. ¿Quieres imprimir un mensaje de depuración al PC? Escribe primero la rutina UART para print() y abre un terminal en tu ordenador.
Un paso más abajo de esto estás 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 abajo de eso y estarás escribiendo el ensamblaje en un editor de texto y llamando al avr-assembler y al avr-dude.
No estoy seguro de a dónde voy con esto, sólo creo que el IDE existente y Arduino es absolutamente genial y perfecto para un principiante - su reclamo a la fama es facilidad de uso. Tal vez no sea la respuesta que buscas, aprende el flujo de trabajo y haz algo genial con él.