= Firmware del controlador embebido del robot móvil RoMAA-II =
Temporalmente se puede descargar de esta página el firmware v2.0 del RoMAA-II (con FreeRTOS), con dos diferentes configuraciones de encoders y reducción de velocidad

 * versión para el [[attachment:romaaii_firware_chaco.hex|RoMAA-II del Chaco]] ([[attachment:romaaii_firmware_chaco_20100414.hex|con inversión de encoders]])
 * versión para el [[attachment:romaaii_firware_cba.hex|RoMAA de Córdoba]]

== Proyecto romaa_freertos ==
El código que actualmente se utiliza tanto en el RoMAA II como en el RoMAA original esta basado en el desarrollado para el [[LabElectronica/FreeRTOSLpc2114Web|proyecto final de Santiago Pérez y Martín Baudino]].

=== Organización del Código ===
La estructura de directorios es la siguiente:

{{attachment:romaa_freertos_structure.png||height="137px",width="489px"}}

Las librerías CIIIEmbLibs se incluyen dentro del proyecto porque son una versión anterior a la revisión 0 (la más antigua disponible en los [[http://proyectos.ciii.frc.utn.edu.ar/ciiiemblibs|repositorios]]) y esto significa que contiene implementaciones incompatibles con las librerías que tienen mantenimiento hoy en día.

El principal cambio que habría que llevar a cabo para actualizar el proyecto a las nuevas CIIIEmbLibs es modificar las interrupciones para que utilicen callbacks.

=== Compilación ===
Para compilar el proyecto es necesario ubicarse en la carpeta "app" y ejecutar:

{{{
romaa_freertos/app$ ./rom_arm.sh
}}}
Este script define una serie de variables de entornos para que el código sea generado en modo ARM, sin optimización, y preparado para ser grabado en memoria flash.

Para limpiar el proyecto es necesario ejecutar:

{{{
romaa_freertos/app$ make clean
}}}
De esta forma se borran todos los objetos generados en toda la estructura de directorios.

=== Grabación del Firmware: ===
Luego de una compilación exitosa, se generará un archivo llamado "romaii.hex", que es donde se encuentra el programa compilado y linkeado. Dependiendo del cable utilizado, hay dos formas de grabar el firmware en el microcontrolador:

 * Cable RS232:

{{{
romaa_freertos/app$ make grabar_s
}}}
 * Cable USB:

{{{
romaa_freertos/app$ make grabar_u
}}}
==== Nota: ====
Esta información también está presente en la el archivo LEAME.txt, dentro de la carpeta app.