Herramientas de usuario

Herramientas del sitio


desarrollo:firmware:arq_estatica_fw

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

desarrollo:firmware:arq_estatica_fw [2014/09/26 11:11]
ppezoimburu Page name changed from desarrollo:firmware:arq_estatica to desarrollo:firmware:arq_estatica_fw
desarrollo:firmware:arq_estatica_fw [2014/11/27 16:26] (actual)
ppezoimburu Se incluyen módulos y se organiza el contenido.
Línea 1: Línea 1:
-===== Arquitectura del Firmware =====+====== Arquitectura ​estática ​del CIAA-Firmware ​======
  
-El Firmware ​se divide ​en varios ​[[modules|módulos]] separados en 4 capas:+===== Módulos ===== 
 + 
 +### 
 +El CIAA-Firmware ​está dividido ​en módulos. Un módulo es un conjunto de archivos .h/.c y Makefiles, que implementa una funcionalidad específica. Cada módulo contiene una relativa gran cantidad de llamadas dentro del mismo, pero mantiene acotadas las dependencias a otros módulos, y de ser posible no tiene dependencias de otros módulos. 
 +### 
 + 
 +### 
 +Todos los módulos que componen el CIAA-Firmware se encuentran dentro del  ​[[https://​github.com/​ciaa/​Firmware/​tree/​master/​modules|directorio modules del repositorio de GitHub]]. 
 +### 
 + 
 +===== Capas ===== 
 + 
 +Los [[#modulos|módulos]] ​del CIAA-Firmware están ​separados en 4 capas:
   * Aplicación   * Aplicación
   * Servicios   * Servicios
Línea 8: Línea 20:
  
 === Aplicación ===  === 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.+No es en sí parte del Firmware sino la aplicación en sí misma que utiliza el Firmware. Una aplicación podría ser la Aplicación Ladderque de estar cargada transforma la CIAA en un PLC. 
 +###
  
 === Servicios === === Servicios ===
  
-Esta capa de software provee a la aplicación ​interfaces estandarizadas a la aplicación.+Esta capa de software provee a la **Aplicación** ​interfaces estandarizadas a ella.
  
 === Interfaz === === 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.+Abstrae la funcionalidad de los drivers para la capa de **Servicios**. A su vezimplementa toda la funcionalidad posible para dejar la implementación de los drivers a su mínima expresiónpermitiendo la mayor re utilización posible entre dos hardwares incompatibles. 
 +###
  
 === Drivers === === Drivers ===
 +###
 +Esta capa implementa todos los drivers de la CIAA. Es la única capa que depende del hardware. Es desarrollada de forma de minimizar su funcionalidad. Toda funcionalidad adicional debe estar implementada en la capa de **Interfaz**.
 +###
  
-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 ==== ==== Diagrama de la estructura del Firmware ====
  
-El siguiente diagrama muestra la estructura del Firmware:+El siguiente diagrama muestra la estructura del CIAA-Firmware:
 {{ ciaafirmware.png |}} {{ ciaafirmware.png |}}
  
-En el diagrama intenta seguir una estructura UNIX like pero no 100% compatible.+El diagrama intenta seguir una estructura UNIX like pero no 100% compatible. 
  
 ==== Acceso a dispositivos ==== ==== Acceso a dispositivos ====
  
-El acceso a dispositivos ​esta pensado de forma similar a POSIX, con las funciones:+El acceso a dispositivos ​está pensado de forma similar a POSIX, con las siguientes ​funciones:
   * ciaaPOSIX_open   * ciaaPOSIX_open
   * ciaaPOSIX_close   * ciaaPOSIX_close
Línea 40: Línea 57:
   * ciaaPOSIX_lseek   * ciaaPOSIX_lseek
  
-para permitir esta funcionalidad se implementaran ​los siguientes [[modules|módulos]] en el Firmware:+Para permitir esta funcionalidad se implementarán ​los siguientes [[#modulos|módulos]] en el Firmware:
   * servicios   * servicios
     * ciaaPOSIX_stdio     * ciaaPOSIX_stdio
 +
   * interfaz   * interfaz
     * ciaaDevices     * ciaaDevices
Línea 49: Línea 67:
     * ciaaModbus     * ciaaModbus
     * ciaaGpio     * ciaaGpio
 +
   * drivers   * drivers
     * ciaaDriverUart     * ciaaDriverUart
Línea 54: Línea 73:
     * ciaaDriverFlash     * ciaaDriverFlash
     * ciaaDriverGpio     * ciaaDriverGpio
-  
- 
desarrollo/firmware/arq_estatica_fw.txt · Última modificación: 2014/11/27 16:26 por ppezoimburu