= Firmware del controlador embebido del robot móvil RoMAA-II = == Firmware con kernel en tiempo real == 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]]. La versión actual se encuentra en el repositorio [[http://proyectos.ciii.frc.utn.edu.ar/romaa_freertos|romaa_freertos]]. === 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 debe tener permisos de ejecución) 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. ------ 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]]