Diferencia entre revisiones de «Programación de micros ATMEGA en C»
(Página creada con '== Introducción ==') |
|||
Línea 1: | Línea 1: | ||
== Introducción == | == Introducción == | ||
+ | |||
+ | == Descarga de programas == | ||
+ | === Línea de comandos === | ||
+ | Ejemplo: Descarga del fichero ledp.hex (en Linux) | ||
+ | |||
+ | avrdude -patmega168 -carduino -P/dev/ttyUSB0 -b19200 -D -Uflash:w:ledp.hex:i | ||
+ | |||
+ | |||
+ | == Programación == | ||
+ | === Grabación usando el USBtiny === | ||
+ | |||
+ | Grabación de un fichero .hex: | ||
+ | |||
+ | $ sudo avrdude -q -patmega168 -cusbtiny -Uflash:w:ledp.hex:i | ||
+ | |||
+ | Establecimiento de los valores de los fusibles: | ||
+ | |||
+ | $ sudo avrdude -patmega168 -cusbtiny -U lfuse:w:0xFF:m -U hfuse:w:0xDD:m -U efuse:w:0x00:m | ||
+ | |||
+ | Grabación del BOOTLOADER: | ||
+ | |||
+ | sudo avrdude -patmega168 -cusbtiny -Uflash:w:/usr/share/arduino/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_diecimila.hex:i | ||
+ | |||
+ | === Hello World! (o cómo probar si todo funciona correctamente) === | ||
+ | |||
+ | Desde que se escribe un programa en C hasta que lo ves funcionando en la SkyMega, hay una serie de pasos a seguir (normalmente llamada toolchain). Esto implica compilar el código fuente, generar un archivo hexadecimal (código máquina, que es lo único que entiende la SkyMega), y "quemar" el AVR con ese binario. | ||
+ | Gracias a un tipo de fichero llamado Makefile, todos esos pasos se reducen a: | ||
+ | $ sudo make burn | ||
+ | Descomprimiendo el .zip [[Media:EjemplosSkymega.zip]] veréis varias carpetas con diferentes ejemplos. Desde terminal, entrad en helloWorld, donde habrá un Makefile y un código fuente (main.c). Si tenéis todo instalado y la placa conectada al ordenador, con alimentación y encendida, sólo hay que escribir (desde dentro de la carpeta helloWorld) | ||
+ | $ sudo make burn | ||
+ | Tras esto, el led de prueba de la Skymega debería parpadear. Enhorabuena! Ahora para aprender a programar sólo tienes que editar el archivo main.c y volver a hacer sudo make burn para ver los cambios en la placa. | ||
+ | |||
+ | Las otras carpetas muestran cómo usar el puerto serie y cómo leer valores analógicos. |
Revisión del 10:15 20 nov 2011
Contenido
Introducción
Descarga de programas
Línea de comandos
Ejemplo: Descarga del fichero ledp.hex (en Linux)
avrdude -patmega168 -carduino -P/dev/ttyUSB0 -b19200 -D -Uflash:w:ledp.hex:i
Programación
Grabación usando el USBtiny
Grabación de un fichero .hex:
$ sudo avrdude -q -patmega168 -cusbtiny -Uflash:w:ledp.hex:i
Establecimiento de los valores de los fusibles:
$ sudo avrdude -patmega168 -cusbtiny -U lfuse:w:0xFF:m -U hfuse:w:0xDD:m -U efuse:w:0x00:m
Grabación del BOOTLOADER:
sudo avrdude -patmega168 -cusbtiny -Uflash:w:/usr/share/arduino/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_diecimila.hex:i
Hello World! (o cómo probar si todo funciona correctamente)
Desde que se escribe un programa en C hasta que lo ves funcionando en la SkyMega, hay una serie de pasos a seguir (normalmente llamada toolchain). Esto implica compilar el código fuente, generar un archivo hexadecimal (código máquina, que es lo único que entiende la SkyMega), y "quemar" el AVR con ese binario. Gracias a un tipo de fichero llamado Makefile, todos esos pasos se reducen a:
$ sudo make burn
Descomprimiendo el .zip Media:EjemplosSkymega.zip veréis varias carpetas con diferentes ejemplos. Desde terminal, entrad en helloWorld, donde habrá un Makefile y un código fuente (main.c). Si tenéis todo instalado y la placa conectada al ordenador, con alimentación y encendida, sólo hay que escribir (desde dentro de la carpeta helloWorld)
$ sudo make burn
Tras esto, el led de prueba de la Skymega debería parpadear. Enhorabuena! Ahora para aprender a programar sólo tienes que editar el archivo main.c y volver a hacer sudo make burn para ver los cambios en la placa.
Las otras carpetas muestran cómo usar el puerto serie y cómo leer valores analógicos.