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/08/02 17:32]
ppezoimburu
desarrollo:firmware:caracteristicas_fw [2014/11/27 20:08] (actual)
ppezoimburu Cambios menores.
Línea 1: Línea 1:
-====== Requerimientos del CIAA-Firmware ​v1.0.0 ​====== +====== Requerimientos del CIAA-Firmware ======
-~~ODT~~+
  
-Los requerimientos propuestos para la versión ​1.0.0 del Firmware ​de la CIAA se dividen en tres categorías:​+### 
 +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 Funcionales.   * Requerimientos Funcionales.
   * Requerimientos de la Arquitectura del Firmware.   * Requerimientos de la Arquitectura del Firmware.
   * Requerimientos de Codificación y Testing.   * Requerimientos de Codificación y Testing.
  
-===== Requerimientos Funcionales ===== 
  
-  ​* **FW_FUNC_001** Proveer conectividad MODBUS ASCII en los siguientes buses: +---- 
-    * **FW_FUNC_002** Serial+===== CIAA-Firmware v0.2.0 ===== 
-    * **FW_FUNC_003** Ethernet.+ 
 +==== Requerimientos Funcionales ==== 
 + 
 +  ​* **FW_FUNC_002** Proveer conectividad MODBUS ASCII a través del bus **Serial**.
  
   * **FW_FUNC_004** Implementar las siguientes funcionalidades de MODBUS:   * **FW_FUNC_004** Implementar las siguientes funcionalidades de MODBUS:
Línea 19: Línea 22:
     * **FW_FUNC_008** 0x10 Write Multiple registers.     * **FW_FUNC_008** 0x10 Write Multiple registers.
  
-  * **FW_FUNC_009** Ladder: 
-    * **FW_FUNC_010** Capacidad para cargar programas Ladder. 
-    * **FW_FUNC_011** Capacidad para ejecutar programas Ladder. 
-    * **FW_FUNC_012** Capacidad para depurar paso a paso programas ladder. 
  
-  * **FW_FUNC_013** Proveer ​la misma funcionalidad en todas las plataformas ​de hardware de la CIAA.+==== Requerimientos a la Arquitectura ​de Firmware ====
  
-===== Requerimientos a la Arquitectura de Firmware ​=====+  * **FW_ARQ_005** Permitir el reuso de la mayor cantidad posible de código entre 2 arquitecturas. 
 + 
 +  * **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_001** Permitir portar el Firmware a diversas arquitecturas:​
Línea 32: Línea 84:
     * **FW_ARQ_003** Reglas para compilar por arquitectura.     * **FW_ARQ_003** Reglas para compilar por arquitectura.
     * **FW_ARQ_004** Programar en C99.     * **FW_ARQ_004** Programar en C99.
- 
-  * **FW_ARQ_005** Permitir el reuso de la mayor cantidad posible de código entre 2 arquitecturas 
-    * **FW_ARQ_006** SW dividido en 4 capas: 
-      * **FW_ARQ_007** [[versiones:​v1_0:​firmware:​firmware layers|Aplicación]]. 
-      * **FW_ARQ_008** [[versiones:​v1_0:​firmware:​firmware layers|Service Layer]]. 
-      * **FW_ARQ_009** [[versiones:​v1_0:​firmware:​firmware layers|Interface Layer]]. 
-      * **FW_ARQ_010** [[versiones:​v1_0:​firmware:​firmware layers|Driver Layer]]. 
-    * **FW_ARQ_011** Proveer un [[versiones:​v1_0:​firmware:​RTOS|RTOS]]. 
  
   * **FW_ARQ_012** Proveer una interfaz POSIX Like para el manejo de dispositivos.   * **FW_ARQ_012** Proveer una interfaz POSIX Like para el manejo de dispositivos.
  
-  * **FW_ARQ_013** Proveer una interfaz al usuario que desee programar sobre el ciaaFirmware. 
  
-===== Requerimientos de Codificación y Testing ​=====+==== Requerimientos de Codificación y Testing ====
  
-  * **FW_SW_001** El código del Firmware de la CIAA debe ser verificado mediante ej.ecución de tests. +    ​* **FW_SW_003** Con las Pruebas Unitarias se debe alcanzar el 100% de [[Coverage|Statement Coverage]].
-    * **FW_SW_002** El código debe ser testeado en [[versiones:​v1_0:​firmware:​unit_tests|Unit Tests o Pruebas Unitarias]] en la PC. +
-    ​* **FW_SW_003** Con las Pruebas Unitarias se debe alcanzar el 100% de [[versiones:​v1_0:​firmware:​Coverage|Statement Coverage]].+
  
-  * **FW_SW_004** El código debe estar basado en las [[:​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]]. 
  
 ---- ----
 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: 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 http://​www.sase.com.ar/​asociacion-civil-sistemas-embebidos/​files/​2013/​12/​CIAA-Firmware-v1.0.pdf
desarrollo/firmware/caracteristicas_fw.1407011532.txt.gz · Última modificación: 2014/08/02 17:32 por ppezoimburu