Herramientas de usuario

Herramientas del sitio


desarrollo:firmware:caracteristicas_fw

Diferencias

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

Enlace a la vista de comparación

desarrollo:firmware:caracteristicas_fw [2014/05/09 19:45]
mcerdeiro [Requerimeintos de Firmware]
desarrollo:firmware:caracteristicas_fw [2014/11/27 20:08] (actual)
ppezoimburu Cambios menores.
Línea 1: Línea 1:
-====== ​Características técnicas ​del Firmware de la CIAA v0.0.2 ​====== +====== ​Requerimientos ​del CIAA-Firmware ​======
-~~DISCUSSION~~ +
-~~ODT~~+
  
-La siguientes son requerimientos para el Firmware ​de la CIAA, los mismos ​se deviden ​en tres categorias+### 
-  * Requerimientos Funcionales +En esta sección se presentan los requerimientos ​propuestos ​para cada versión ​de CIAA-Firmware. En todos los casos, los requerimientos ​se dividen ​en tres categorías: 
-  * Requerimientos de la Arquitectura del Firmware +### 
-  * Requerimientos ​del Firmware+  * Requerimientos Funcionales. 
 +  * Requerimientos de la Arquitectura del Firmware. 
 +  * Requerimientos ​de Codificación y Testing.
  
-El primer documento de características técnicas del firmware de la CIAA se publicó el 23/12/2013 en la página de la ACSE: 
-http://​www.sase.com.ar/​asociacion-civil-sistemas-embebidos/​files/​2013/​12/​CIAA-Firmware-v1.0.pdf 
  
-===== Requerimientos Funcionales ​=====+---- 
 +===== CIAA-Firmware v0.2.0 ​=====
  
-  * **FRM_FUNC_001** Proveer conectividad MODBUS ASCII en los siguientes buses +==== Requerimientos Funcionales ====
-    * **FRM_FUNC_002** Serial +
-    * **FRM_FUNC_003** Ethernet +
-  * **FRM_FUNC_004** Implemnentar las siguientes funcionalidades de MODBUS +
-    * **FRM_FUNC_005** 0x03 Read Holding Registers +
-    * **FRM_FUNC_006** 0x04 Read Input Registers +
-    * **FRM_FUNC_007** 0x06 Write Single Register +
-    * **FRM_FUNC_008** 0x10 Write Multiple registers +
-  * **FRM_FUNC_009** Ladder +
-    * **FRM_FUNC_010** Capacidad para cargar Programmas Ladder +
-    * **FRM_FUNC_011** Capacidad para ejecutar Programas Ladder +
-    * **FRM_FUNC_012** Capacidad para debugear paso a paso Programmas ladder +
-  * **FRM_FUNC_013** Proveer la misma funcionalidad en todas las ciaa Hardwares+
  
-===== Requerimientos ​la Arquitectura de Firmware =====+  * **FW_FUNC_002** Proveer conectividad MODBUS ASCII través del bus **Serial**.
  
-  * **FRM_ARQ_001** Permitir portar el Firmware a diversas arquitecturas +  * **FW_FUNC_004** Implementar las siguientes funcionalidades de MODBUS: 
-    * **FRM_ARQ_002** Makefile para multi arquitectura +    * **FW_FUNC_005** 0x03 Read Holding Registers. 
-    * **FRM_ARQ_003** Reeglas para compilar por arquitectura +    * **FW_FUNC_006** 0x04 Read Input Registers. 
-    * **FRM_ARQ_004** Programar en C99 +    * **FW_FUNC_007** 0x06 Write Single Register. 
-  * **FRM_ARQ_005** Permitir el reuso de la mayor cantidad posible de código entre 2 arquitecturas +    * **FW_FUNC_008** 0x10 Write Multiple registers.
-    * **FRM_ARQ_006** SW Layered en 4 capas +
-      * **FRM_ARQ_007** [[versiones:​v1_0:​firmware:​firmware layers|Aplicación]] +
-      * **FRM_ARQ_008** [[versiones:​v1_0:​firmware:​firmware layers|Service Layer]] +
-      * **FRM_ARQ_009** [[versiones:​v1_0:​firmware:​firmware layers|Interface Layer]] +
-      * **FRM_ARQ_010** [[versiones:​v1_0:​firmware:​firmware layers|Driver Layer]] +
-    * **FRM_ARQ_011** Proveer un [[versiones:​v1_0:​firmware:​RTOS|RTOS]] +
-  * **FRM_ARQ_012** Proveer una interfaz POSIX Like para el manejo de dispositivos +
-  * **FRM_ARQ_013** Proveer una interfaz al usuario que desee programar sobre el ciaaFirmware+
  
-===== Requerimeintos de Firmware ===== 
  
-  ​* **FRM_SW_001** El SW debe estar testeado +==== Requerimientos a la Arquitectura de Firmware ==== 
-    * **FRM_SW_002** El código debe ser testeado en [[versiones:​v1_0:​firmware:​unit_tests|Unit Tests o Pruebas Unitarias]] en la PC. + 
-    * **FRM_SW_003** Con las Pruebas Unitarias se debe alcanazar 100% [[versiones:​v1_0:​firmware:​Coverage|Statment Coverage]]. +  ​* **FW_ARQ_005** Permitir el reuso de la mayor cantidad posible de código entre 2 arquitecturas. 
-  * **FRM_SW_004** El código debe estar basado en las [[:​coding_guidelines|CIAA Firmware Coding Guidelines]] + 
-  * **FRM_SW_005** El código debe estar basado en los [[https://​github.com/​ciaa/​Firmware/​tree/​master/​modules/​template|ciaaFirmware ​Tempaltes]]+  * **FW_ARQ_006** Software dividido en 4 capas: 
 +      * **FW_ARQ_007** [[firmware layers|Aplicación]]. 
 +      * **FW_ARQ_008** [[firmware layers|Service Layer]]. 
 +      * **FW_ARQ_009** [[firmware layers|Interface Layer]]. 
 +      * **FW_ARQ_010** [[firmware layers|Driver Layer]]. 
 + 
 +  * **FW_ARQ_011** Proveer un [[RTOS|RTOS]] (Real Time Operating System). 
 + 
 +  * **FW_ARQ_013** Proveer una interfaz al usuario que desee programar sobre el ciaaFirmware. 
 + 
 + 
 +==== Requerimientos de Codificación y Testing ==== 
 + 
 +  * **FW_SW_001** El código del Firmware de la CIAA debe ser verificado mediante ejecución de tests. 
 + 
 +  ​* **FW_SW_002** El código debe ser testeado en [[unit_tests|Unit Tests o Pruebas Unitarias]] en la PC. 
 + 
 +  * **FW_SW_004** El código debe estar basado en las [[fw_coding_guidelines|CIAA-Firmware Coding Guidelines]]
 + 
 +  * **FW_SW_005** El código debe estar basado en los [[https://​github.com/​ciaa/​Firmware/​tree/​master/​modules/​template|ciaaFirmware ​Templates]]
 + 
 + 
 +---- 
 +===== CIAA-Firmware v0.3.0 ===== 
 + 
 +//Nota: Sección en construcción.//​ 
 + 
 +---- 
 +===== CIAA-Firmware v1.0.0 ===== 
 + 
 +A los requerimientos ya propuestos para la versión 0.2.0 del CIAA-Firmware,​ la versión 1.0.0 incorporará los siguientes requerimientos. 
 + 
 +==== Requerimientos Funcionales ==== 
 + 
 +  * **FW_FUNC_003** Proveer conectividad MODBUS TCP a través del bus **Ethernet**. 
 + 
 +  * **FW_FUNC_009** Proveer las siguientes capacidades:​ 
 +    * **FW_FUNC_010** **Cargar programas** escritos en lenguaje **Ladder**. 
 +    * **FW_FUNC_011** **Ejecutar programas** escritos en lenguaje **Ladder**. 
 +    * **FW_FUNC_012** **Depurar paso a paso programas** escritos en lenguaje **Ladder**. 
 + 
 +  * **FW_FUNC_013** Proveer la misma funcionalidad en **todas las plataformas de hardware** de la CIAA. 
 + 
 +  * **FW_FUNC_014** Se deberá implementar las capas de transporte MODBUS Serial (ASCII y RTU) y MODBUS TCP independientes de la capa de aplicación MODBUS. 
 + 
 +  * **FW_FUNC_016** La capa de transporte MODBUS RTU debe identificar el inicio y fin de una trama de acuerdo a las especificaiones detalladas en la sección 2.5.1.1 del documento [[http://​www.modbus.org/​docs/​Modbus_over_serial_line_V1.pdf|Modbus over Serial Line]]. 
 + 
 +  * **FW_FUNC_017** Implementar la capa de aplicación MODBBUS Slave independiente de la capa de enlace o transporte a utilizar. 
 + 
 +  * **FW_FUNC_018** Implementar la capa de aplicación MODBBUS Master independiente de la capa de enlace o transporte a utilizar. 
 + 
 +==== Requerimientos a la Arquitectura de Firmware ==== 
 + 
 +  * **FW_ARQ_001** Permitir portar el Firmware a diversas arquitecturas:​ 
 +    * **FW_ARQ_002** Makefile para multi arquitectura. 
 +    * **FW_ARQ_003** Reglas para compilar por arquitectura. 
 +    * **FW_ARQ_004** Programar en C99. 
 + 
 +  * **FW_ARQ_012** Proveer una interfaz POSIX Like para el manejo de dispositivos. 
 + 
 + 
 +==== Requerimientos de Codificación y Testing ==== 
 + 
 +    * **FW_SW_003** Con las Pruebas Unitarias se debe alcanzar el 100% de [[Coverage|Statement Coverage]]. 
 + 
 + 
 + 
 +---- 
 +El primer documento de características técnicas del Firmware de la CIAA se publicó el 23/12/2013 en la página de la ACSE: 
 +http://​www.sase.com.ar/​asociacion-civil-sistemas-embebidos/​files/​2013/​12/​CIAA-Firmware-v1.0.pdf
desarrollo/firmware/caracteristicas_fw.txt · Última modificación: 2014/11/27 20:08 por ppezoimburu