Experiencia de primera mano con Linux AVR IDE

Estoy buscando información sobre cómo configurar un buen entorno de desarrollo integrado para la programación AVR en Linux (Assembly y C).

Mis estudios me dieron una experiencia práctica limitada con AVR, pero me temo que me estoy oxidando un poco, así que quiero estar ocupado con algunos proyectos, pero también quiero persistir en realizar todo el desarrollo bajo Linux.

Utilizo USBtinyISP de Ladyada y he estado programando mis chips usando AVRdude, pero aún tengo que encontrar un IDE que funcione como me gusta en Linux, así que he estado compilando y construyendo a través de mi lappie de Windows y AVRstudio. (¡Es por eso que amo Arduino, buen IDE y funciona de inmediato!)

Entonces, ¿alguien tiene alguna experiencia de primera mano usando un IDE con Linux que hayan desarrollado con éxito sus proyectos AVR de principio a fin?

Respuestas (5)

Lo que pasa con los desarrolladores basados ​​en Linux es que generalmente tienen su propio flujo de trabajo único (vim vs emacs, etc.). En mi opinión, Linux es un gran IDE al que agregas tus propias partes. Con eso en mente:

Si está utilizando una distribución basada en Debian, ejecute esto en su línea de comando: sudo apt-get install build-essential avr-gcc avrdude

Luego busque un editor de texto que le guste (google es su amigo, pero aquí hay algunos: vim/gvim, emacs, geany, kate, jedit) y escriba algo de C. Cuando esté listo para compilar, salte a avrfreaks y eche un vistazo a Makefiles de otras personas . Probablemente pueda simplemente robar un archivo MAKE del proyecto de otra persona y modificar el dispositivo de destino, la frecuencia XTAL y los nombres de los archivos de origen. Después de ejecutar make y tener un archivo .hex, use avrdude para programar su chip.

Entrar en detalles tomaría mucho más espacio del que tengo, pero ese es el proceso básico. Cuando se sienta cómodo con el proceso, puede hacer cosas extra interesantes en el archivo MAKE, como tener un solo comando que compile y descargue su código. Algunos editores de texto (como geany) le permiten establecer comandos de creación personalizados en las opciones del menú de la GUI para que pueda tener un botón de compilación y descarga como yo.

Además, lo fantástico de este proceso es que es más o menos lo mismo si está compilando para ARM, AVR, x86, SPARC, lo que sea. Una vez que tenga archivos MAKE y gcc, ¡el resto del desarrollo de Linux es pan comido!

JEJE, así de simple. Me sentí innecesariamente intimidado por este enfoque. Hasta que se explicó de manera tan simple, no sabía cómo construir el archivo MAKE. Gracias por la dirección :)
Esto es lo que hago yo también. EMACS y un Makefile. También puedes compilar cosas de Arduino de esta manera. (*jcl*)
También puede usar Eclipse como IDE/editor y usar el archivo MAKE para compilar y descargar. Con OpenOCD y ARM, incluso es posible depurar a través de JTAG (no sé si esto funciona con AVR).

Hay un módulo Eclipse para el AVR, pero lo usé y parecía ser mucho más problemático de lo que valía. (Como la mayoría de los otros módulos de Eclipse que he usado)

Saludos por el papel principal, pero como no suenas tan convencido, no me molestaré demasiado :)
Solo me gustaría agregar que tengo que usar eclipse en el trabajo (aunque no para avrs) y no lo recomiendo. Para los microcontroladores, puede prescindir de toda esa hinchazón.

No tengo ninguna experiencia de primera mano con él, pero KontrollerLab suena interesante.

Sí, he intentado que KontrollerLab funcione antes, pero mi PC se bloqueó gravemente recientemente y acabo de configurar todo de nuevo. Parece ser del mismo equipo que hizo Ktechlab, que he encontrado muy útil para el diseño de esquemas y circuitos. Gracias por el aporte.

Como el enfoque de archivo MAKE parece tratar con el lado C de mi pregunta, hice un poco más de experimentación aquí (tal como estaba) y descubrí que también tenía los recursos para construir código ensamblador.

Usando AVRA , un ensamblador de línea de comandos, probé la construcción de un proyecto mío de la vieja escuela y generé un archivo *.hex idéntico comparándolo con mi salida original de AVRstudio. Si bien no he programado el micro AVR, basándome solo en la salida, estoy feliz de decir que ahora tengo xp de primera mano, aunque limitado :)

No olvide que avr-gcc también incluye un ensamblador perfectamente bueno. Tiene una sintaxis ligeramente diferente a la del ensamblador de AVRA y Atmel, pero funciona igual de bien.

ECLIPSE funciona bien en un EeePC con el parche AVR... Pero es un poco lento.