Diferencia entre revisiones de «Programación de micros ATMEGA en C»
(Página creada con '== Introducción ==') |
(→Licencia) |
||
(No se muestran 5 ediciones intermedias del mismo usuario) | |||
Línea 1: | Línea 1: | ||
== Introducción == | == Introducción == | ||
+ | {| {{tablabonita}} | ||
+ | | [[Imagen:Icono_aviso.png]] En construcció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. | ||
+ | |||
+ | == Autores == | ||
+ | * [[Juan Gonzalez:Main| Juan González-Gómez]] | ||
+ | * [http://iearobotics.com/alberto/doku.php Alberto Valero] | ||
+ | * Sergio Vilches | ||
+ | |||
+ | == Licencia == | ||
+ | {| | ||
+ | |[[Imagen:GPLv3-logo-red.png|left|150px]] | ||
+ | ||El código está liberado bajo la [http://www.viti.es/gnu/licenses/gpl.html licencia GPL v3.0] | ||
+ | |} | ||
+ | |||
+ | == Noticias == | ||
+ | '''20/Nov/2011''': Comenzada esta página (a partir de la información de otras) | ||
+ | |||
+ | |||
+ | [[Categoría:Skymega]] | ||
+ | [[Categoría:ATMEL]] |
Revisión actual del 10:31 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.
Autores
- Juan González-Gómez
- Alberto Valero
- Sergio Vilches
Licencia
![]() |
El código está liberado bajo la licencia GPL v3.0 |
Noticias
20/Nov/2011: Comenzada esta página (a partir de la información de otras)