Herramientas de usuario

Herramientas del sitio

Traducciones de esta página:

desarrollo:firmware:arq_estatica_fw

¡Esta es una revisión vieja del documento!


Arquitectura del Firmware

El Firmware se divide en varios módulos separados en 4 capas:

  • Aplicación
  • Servicios
  • Interfaz
  • Drivers

Aplicación

No es en si parte del Firmware sino la aplicación en si misma que utiliza el Firmware. Una aplicación podría ser la Aplicación Ladder que de estar cargada transforma la CIAA en un PLC.

Servicios

Esta capa de software provee a la aplicación interfaces estandarizadas a la aplicación.

Interfaz

Abstrae la funcionalidad de los drivers para la capa de servicios. A su vez implementa toda la funcionalidad posible para dejar la implementación de los drivers a su mínima expresión permitiendo la mayor re utilización posible entre dos hardwares incompatibles.

Drivers

Esta capa implementa todos los drivers de la CIAA. Es la única capa que depende del HW. Será desarrollada de forma de minimizar su funcionalidad. Toda funcionalidad adicional debe estar implementada en la capa de Interfaz.

Diagrama de la estructura del Firmware

El siguiente diagrama muestra la estructura del Firmware:

En el diagrama intenta seguir una estructura UNIX like pero no 100% compatible.

Acceso a dispositivos

El acceso a dispositivos esta pensado de forma similar a POSIX, con las funciones:

  • ciaaPOSIX_open
  • ciaaPOSIX_close
  • ciaaPOSIX_read
  • ciaaPOSIX_write
  • ciaaPOSIX_ioctl
  • ciaaPOSIX_lseek

para permitir esta funcionalidad se implementaran los siguientes módulos en el Firmware:

  • servicios
    • ciaaPOSIX_stdio
  • interfaz
    • ciaaDevices
    • ciaaSerialDevices
    • ciaaBlockDevices
    • ciaaModbus
    • ciaaGpio
  • drivers
    • ciaaDriverUart
    • ciaaSocket
    • ciaaDriverFlash
    • ciaaDriverGpio
desarrollo/firmware/arq_estatica_fw.1411740708.txt.gz · Última modificación: 2014/09/26 11:11 por ppezoimburu