Bienvenido: Ingresar
location: Diferencias para "LabElectronica/RoMAA-FW"
Diferencias entre las revisiones 3 y 19 (abarca 16 versiones)
Versión 3 con fecha 2011-12-05 21:36:49
Tamaño: 2920
Editor: localhost
Comentario:
Versión 19 con fecha 2012-05-31 22:05:48
Tamaño: 2976
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 1: Línea 1:
## page was copied from LabElectronica/RoMAAFirmware22
## page was copied from LabElectronica/RoMAAFirmware21
Línea 3: Línea 5:
= 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 proyecto "Hardware de Control de Plataforma Robótica Móvil con Arquitectura ARM7 y RTOS embebido. Caracterización". Tesis de grado para obtener el título de Ing. en electrónica de Santiago Pérez y Martín Baudino [[LabElectronica/FreeRTOSLpc2114Web|Ir]].
= v2.3 - Firmware del robot móvil RoMAA-II =
<<TableOfContents()>>
Línea 7: Línea 8:
La versión actual se encuentra en el repositorio [[http://proyectos.ciii.frc.utn.edu.ar/romaa_firmware|romaa_firmware]]. Y se puede descargar del servidor con {{{hg clone https://proyectos.ciii.frc.utn.edu.ar/hg/romaa_firmware}}} == Objetivos ==
Aquí se documentarán y organizarán todas las investigaciones y desarrollos ha realizar y realizados para la optimización del firmware de la plataforma robótica móvil RoMAA-II, en su aplicación con el sistema operativo en tiempo real FreeRTOS.
Línea 9: Línea 11:
=== Organización del Código ===
La estructura de directorios es la siguiente:
== Repositorio ==
El código que actualmente se utiliza tanto en el RoMAA II como en el RoMAA original esta basado en el desarrollado para el proyecto "Hardware de Control de Plataforma Robótica Móvil con Arquitectura ARM7 y RTOS embebido. Caracterización". Tesis de grado para obtener el título de Ing. en electrónica de Santiago Pérez y Martín Baudino [[LabElectronica/FreeRTOSLpc2114Web|Ir]].
Línea 12: Línea 14:
{{attachment:romaa_firmware_structure.png}}

Las librerías CIIIEmbLibs se incluyen dentro del proyecto para comodidad en la compilación, y corresponden a la versión 1.0 revisada por Jeremías Pablo De la Cruz y Guillermo Hernán Bustos.

=== Compilación ===
Para compilar el proyecto es necesario ubicarse en la carpeta "app" y ejecutar:
La versión en desarrollo actual (v2.3) se encuentra en el repositorio [[http://proyectos.ciii.frc.utn.edu.ar/romaa_firmware|romaa_firmware]]. Y se puede descargar del servidor con:
Línea 20: Línea 17:
romaa_freertos/app$ ./rom_arm.sh hg clone https://proyectos.ciii.frc.utn.edu.ar/hg/romaa_firmware romaa_firmware_v2.3_trunk
Línea 22: Línea 19:
(este script debe tener permisos de ejecución) Para descargar la última versión funciona, referirse a: http://ciii.frc.utn.edu.ar/LabElectronica/RoMAAFirmware22
Línea 24: Línea 21:
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. == Tareas ==
 1. [[LabElectronica/RoMAAFirmware23/Repositorio|Repositorio]]<<BR>>Creación del tag v2.2 disponible para utilizar con ambos RoMAAs. Creación y utilización del trunk v2.3 para el desarrollo del proyecto.
 1. [[LabElectronica/RoMAAFirmware23/Memoria|Memoria]]<<BR>>Estudiar e implementar el uso optimizado de memoria de la aplicación con FreeRTOS'''.'''
 1. [[LabElectronica/RoMAAFirmware23/Grabación del Firmware|Grabación del Firmware]]<<BR>>Estudio y corrección de los problemas de grabación con el software LPC21isp.
 1. [[LabElectronica/RoMAAFirmware23/Reset|Reset]]<<BR>>Modificar las acciones a realizar por el comando "reset" del micro, garantizando la estabilidad del robot.
 1. [[LabElectronica/RoMAAFirmware23/PID|PID]]<<BR>>Implementación de la codificación del PID del cuadricóptero QA3, variables, recursos del FreeRTOS e interacción con las demás tareas.
 1. [[LabElectronica/RoMAAFirmware23/VariosAplicacion|Varios Aplicación]]<<BR>>Optimización y utilización de varios recursos y configuraciones del FreeRTOS para la aplicación.
 1. [[LabElectronica/RoMAAFirmware23/Interrupciones y RTOS|Interrupciones y RTOS]]<<BR>>Estudio e implementación de las interrupciones bajo programación segura con los recursos del FreeRTOS.
 1. [[LabElectronica/RoMAAFirmware23/Uso y medición de los recursos del micro|Uso y medición de los recursos del micro]]<<BR>>Estudio e implementación de mediciones de recursos del micro, FreeRTOS y aplicación.<<BR>>
Línea 26: Línea 31:
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
}}}
El comando grabar_u está configurado para utilizar por defecto el dispositivo /dev/ttyUSB0. Si el dispositivo USB se encuentra en una ubicación diferente, se debe agregar la opción USB. Por ejemplo, para grabar utilizando /dev/ttyUSB1:

{{{
romaa_freertos/app$ make grabar_u USB=/dev/ttyUSB1
}}}
==== 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.1 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]]
== Otros ==
 * [[LabElectronica/RoMAAFirmware23/Compilacion|Compilación]]
 * [[LabElectronica/RoMAAFirmware23/Makefile|Makefile]]

v2.3 - Firmware del robot móvil RoMAA-II

Objetivos

Aquí se documentarán y organizarán todas las investigaciones y desarrollos ha realizar y realizados para la optimización del firmware de la plataforma robótica móvil RoMAA-II, en su aplicación con el sistema operativo en tiempo real FreeRTOS.

Repositorio

El código que actualmente se utiliza tanto en el RoMAA II como en el RoMAA original esta basado en el desarrollado para el proyecto "Hardware de Control de Plataforma Robótica Móvil con Arquitectura ARM7 y RTOS embebido. Caracterización". Tesis de grado para obtener el título de Ing. en electrónica de Santiago Pérez y Martín Baudino Ir.

La versión en desarrollo actual (v2.3) se encuentra en el repositorio romaa_firmware. Y se puede descargar del servidor con:

hg clone https://proyectos.ciii.frc.utn.edu.ar/hg/romaa_firmware romaa_firmware_v2.3_trunk

Para descargar la última versión funciona, referirse a: http://ciii.frc.utn.edu.ar/LabElectronica/RoMAAFirmware22

Tareas

  1. Repositorio
    Creación del tag v2.2 disponible para utilizar con ambos RoMAAs. Creación y utilización del trunk v2.3 para el desarrollo del proyecto.

  2. Memoria
    Estudiar e implementar el uso optimizado de memoria de la aplicación con FreeRTOS.

  3. Grabación del Firmware
    Estudio y corrección de los problemas de grabación con el software LPC21isp.

  4. Reset
    Modificar las acciones a realizar por el comando "reset" del micro, garantizando la estabilidad del robot.

  5. PID
    Implementación de la codificación del PID del cuadricóptero QA3, variables, recursos del FreeRTOS e interacción con las demás tareas.

  6. Varios Aplicación
    Optimización y utilización de varios recursos y configuraciones del FreeRTOS para la aplicación.

  7. Interrupciones y RTOS
    Estudio e implementación de las interrupciones bajo programación segura con los recursos del FreeRTOS.

  8. Uso y medición de los recursos del micro
    Estudio e implementación de mediciones de recursos del micro, FreeRTOS y aplicación.

Otros

None: LabElectronica/RoMAA-FW (última edición 2013-01-26 15:47:38 efectuada por SantiagoPerez)