Bienvenido: Ingresar
location: Diferencias para "LabElectronica/RoMAAFirmware22"
Diferencias entre las revisiones 10 y 14 (abarca 4 versiones)
Versión 10 con fecha 2012-05-23 19:41:44
Tamaño: 2560
Comentario:
Versión 14 con fecha 2012-07-26 21:19:49
Tamaño: 3162
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 8: 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}}} 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 -r v2.2 https://proyectos.ciii.frc.utn.edu.ar/hg/romaa_firmware romaa_firmware_v2.2
}}}
Este comando de Mercurial, crará una carpeta llamada "romaa_firmware_v2.2" en el directorio desde donde se ejecute, y descargará la versión 2.2 del firmware del RoMAA.

NOTA: Solo se descarga la versión y no todo el proyecto ni cambios posteriores a la versión especificada, por lo que si se ejecuta el comando:

{{{
hg tags
}}}
Mercurial mostrará la revisión que corresponde a la etiqueta 2.2 (revisión''' 26''':633efa877cd6), pero no mostrará la etiqueta ya que esta fue creada en la revisión posterior.
Línea 15: Línea 27:
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. 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.
Línea 21: Línea 33:
romaa_freertos/app$ ./rom_arm.sh romaa_firmware_v2.2/app$ ./rom_arm.sh
Línea 25: Línea 37:
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. 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.
Línea 30: Línea 42:
romaa_freertos/app$ make clean romaa_firmware_v2.2/app$ make clean
Línea 35: Línea 47:
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: 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:
Línea 40: Línea 52:
romaa_freertos/app$ make grabar_s romaa_firmware_v2.2/app$ make grabar_s
Línea 45: Línea 57:
romaa_freertos/app$ make grabar_u romaa_firmware_v2.2/app$ make grabar_u
Línea 47: Línea 59:
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: 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:
Línea 50: Línea 62:
romaa_freertos/app$ make grabar_u USB=/dev/ttyUSB1 romaa_firmware_v2.2/app$ make grabar_u USB=/dev/ttyUSB1

v2.2 - 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 Ir.

La versión actual se encuentra en el repositorio romaa_firmware. Y se puede descargar del servidor con:

hg clone -r v2.2 https://proyectos.ciii.frc.utn.edu.ar/hg/romaa_firmware romaa_firmware_v2.2

Este comando de Mercurial, crará una carpeta llamada "romaa_firmware_v2.2" en el directorio desde donde se ejecute, y descargará la versión 2.2 del firmware del RoMAA.

NOTA: Solo se descarga la versión y no todo el proyecto ni cambios posteriores a la versión especificada, por lo que si se ejecuta el comando:

hg tags

Mercurial mostrará la revisión que corresponde a la etiqueta 2.2 (revisión 26:633efa877cd6), pero no mostrará la etiqueta ya que esta fue creada en la revisión posterior.

Organización del Código

La estructura de directorios es la siguiente:

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:

romaa_firmware_v2.2/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_firmware_v2.2/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_firmware_v2.2/app$ make grabar_s
  • Cable USB:

romaa_firmware_v2.2/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_firmware_v2.2/app$ make grabar_u USB=/dev/ttyUSB1

Nota:

Esta información también está presente en el archivo LEAME.txt, dentro de la carpeta app.

None: LabElectronica/RoMAAFirmware22 (última edición 2012-07-26 21:19:49 efectuada por SantiagoPerez)