Paso 10: Preparando el microcontrolador
Si no tienes el IDE de Arduino, descargarlo e instalarlo. Estoy usando versión 0022.
Los pasos siguientes se explican en detalle en este artículo de la wiki: http://code.google.com/p/ro-4-copter/wiki/GeneralSoftwareSetup
Esta página es sólo un resumen muy corto de lo que ya está en el anterior artículo de la wiki!
El bootloader de Arduino se debe programar en el microcontrolador primero. Este paso requiere el uso de un programador AVR. Sin embargo, después de que el gestor de arranque es destelló en el microcontrolador, sólo necesita un cable de USB a serie (como un cable FTDI) para cargar el código desde el IDE de Arduino.
El gestor de arranque (he atado le) se modifica un poco ya que estoy usando el ATmega644P en vez de la usual Arduino ATmega328P. Se proporcionan los archivos. El fusible bits deban escribirse así los valores correctos.
AVRDUDE es la herramienta que utilizamos para flash el archivo .hex de bootloader en el microcontrolador. Los comandos AVRDUDE necesitarás es
"avrdude - c programmer_name -p atmega644p - U flash:w:bootloader_filename.hex - U lfuse:w:0xFF:m - U hfuse:w:0xD8:m"
Prestar atención a la programmer_name y la bootloader_filename! Los fusibles son para el ATmega el resonador de 16 MHz, establecer el tamaño del cargador de arranque, activar el gestor de arranque, desactivar el JTAG y Active SPI descargando.
Copie también la carpeta de gestor de arranque "Ro4Copter_Boot" (no olvide cambiar el nombre sin la versión de fecha) como .../arduino-0022/hardware/arduino/bootloaders/Ro4Copter_Boot.
Además, descargar el Arduino «fundamentales» que he proporcionado aquí (llamado Ro4Copter_Core, recuerda cambiar el nombre sin la versión de fecha) y colóquelo en el directorio Arduino «fundamentales» por lo que se .../arduino-0022/hardware/arduino/cores/ro4copter_core. También modificar el archivo boards.txt para incluir una entrada para este núcleo. Esto permitirá que el IDE de Arduino compilar para ATmega644P en lugar de la original Arduino ATmega328P. Asegúrese de seleccionar la entrada correcta de la junta dentro de los menús del IDE de Arduino. Para más detalles sobre este paso, consulta la página wiki por encima.
La entrada de board.txt:
Ro4Copter.Name=Ro4CopterRo4Copter.upload.Protocol=STK500
Ro4Copter.upload.maximum_size=57344
Ro4Copter.upload.Speed=57600
Ro4Copter.bootloader.low_fuses=0xFF
Ro4Copter.bootloader.high_fuses=0xD8
Ro4Copter.bootloader.extended_fuses=0xFF
Ro4Copter.bootloader.Path=Ro4Copter_Boot
Ro4Copter.bootloader.File=Ro4Copter_Boot_arduino.hex
Ro4Copter.bootloader.unlock_bits=0x3F
Ro4Copter.bootloader.lock_bits=0x0f
Ro4Copter.Build.MCU=atmega644p
Ro4Copter.Build.f_cpu=16000000L
Ro4Copter.Build.Core=Ro4Copter_Core
Aquí está una captura de pantalla para mostrarte dónde están todas estas carpetas:
El bosquejo que necesita para compilar es proporcionado en el paso 26. Compilarlo y subirlo a la ATmega644P usando el gestor de arranque más adelante.
Los pasos siguientes le ayudará a entender qué hace exactamente el código. Saltarlos si usted no se preocupa.