Herramientas de usuario

Herramientas del sitio


docu:fw:bm:estructura

Diferencias

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

Enlace a la vista de comparación

docu:fw:bm:estructura [2015/04/04 05:37]
mcerdeiro agregar link git clone
docu:fw:bm:estructura [2015/04/12 09:31] (actual)
mcerdeiro agregar barra
Línea 1: Línea 1:
 ====== Estructura de directorios ====== ====== Estructura de directorios ======
- 
-El CIAA-Firmware está construido de forma modular. 
  
 ### ###
 +El CIAA-Firmware está construido de forma modular. Para la mayoria de los usuarios puede que alcance saber que existe un directorio de ejemplos (examples). Esta página es para aquellos que quieran conocer un poco más en detalle la estructura del Firmware.
 +
 En el directorio principal luego de hacer un [[desarrollo:​firmware:​git|git clone]] o al bajar una release oficial se pueden encontrar los siguientes Directorios y Archivos: En el directorio principal luego de hacer un [[desarrollo:​firmware:​git|git clone]] o al bajar una release oficial se pueden encontrar los siguientes Directorios y Archivos:
 ### ###
Línea 10: Línea 10:
 Firmware/ Firmware/
 ├── doc ├── doc
-├── examples +├── examples ​                  /* ejemplos de utilización del Firmware */ 
-│   ├── adc_dac +│   ├── adc_dac ​               /* ejemplo de conversor analogico digital */ 
-│   ├── blinking +│   ├── blinking ​              /* ejemplo básico que hace parpadear un led */ 
-│   ├── blinking_echo +│   ├── blinking_echo ​         /* ejemplo básico que hace echo en el bus serial */ 
-│   ├── blinking_lwip +│   ├── blinking_lwip ​         /* ejemplo utilizando lwip (ethernet) */ 
-│   ├── blinking_modbus +│   ├── blinking_modbus ​       /* ejemplo utilizando modbus RS485 (ascii) */ 
-│   ├── blinking_modbus_master +│   ├── blinking_modbus_master ​/* ejemplo utilizando modbus master */ 
-│   └── rtos_example+│   └── rtos_example ​          /* ejemplo de utilización de FreeOSEK */
 ├── externals ├── externals
-│   ├── base +│   ├── base                   /* archivos básicos necesarios para compilar/​linkear */ 
-│   ├── ceedling +│   ├── ceedling ​              /* ceedling utilidad para correr los unit test */ 
-│   ├── drivers +│   ├── drivers ​               /* drivers para el módulo posix */ 
-│   ├── lcov +│   ├── lcov                   /* utilidad para analizar el coverage de los unit test */ 
-│   └── lwip +│   └── lwip                   /* stack tcpip */ 
-├── Makefile + 
-├── Makefile.config +├── Makefile ​                  /* makfile principal del proyecto */ 
-├── Makefile.mine +├── Makefile.config ​           /* plantilla para crear un Makefile.mine propio */ 
-├── modules +├── Makefile.mine ​             /* Makfile con la configuración del usuario */ 
-│   ├── base + 
-│   ├── ciaak +├── modules ​                   /* módulos del Firmware */ 
-│   ├── drivers +│   ├── base                   /* archivos básicos necesarios para compilar y linkear */ 
-│   ├── libs +│   ├── ciaak                  /* kernel de la ciaa */ 
-│   ├── modbus +│   ├── drivers ​               /* drivers para posix */ 
-│   ├── plc +│   ├── libs                   /* algunas librerias genéricas */ 
-│   ├── posix +│   ├── modbus ​                /* módulo para manejo de modbus */ 
-│   ├── rtos +│   ├── plc                    /* módulo de PLC (en desarrollo) */ 
-│   ├── systests +│   ├── posix                  /* posix like library */ 
-│   ├── template +│   ├── rtos                   /* RTOS de CIAA-Firmware (FreeOSEK) */ 
-│   ├── tools +│   ├── systests ​              /* utilidad para correr los tests en HW (en desarrollo) */ 
-│   ​── update +│   ├── template ​              /* template para crear un nuevo módulo */ 
-│   └── wrappers +│   ├── tools                  /* tools internos de CIAA-Firmware */ 
-├── out +│   ​── update ​                /* módulo de bootloader (en desarrollo) */ 
-│   ├── bin +│ 
-│   ├── ceedling +├── out                        /* archivos generados */ 
-│   ├── ci +│   ├── bin                    /* archivo binario (proyecto a ser flasheado) */ 
-│   ├── coverage +│   ├── gen                    /* archivos generados por el RTOS */ 
-│   ├── doc +│   ├── lib                    /* librerias */ 
-│   ├── docbook +│   ├── obj                    /* object files */ 
-│   ├── gen +│   └── ​...                    /* ... (para simplificar no se han listado todos los sub directorios) */
-│   ├── lib +
-│   ├── obj +
-│   └── ​rtos+
 └── README └── README
 </​code>​ </​code>​
  
 ^ Directorio o\\ Archivo ^ Descripción ^ ^ Directorio o\\ Archivo ^ Descripción ^
-| .git | Contiene archivos de GIT vinculados al manejo de este repositorio,​ no son parte en si de CIAA-Firmware | +| .git | Contiene archivos de GIT vinculados al manejo de este repositorio,​ no son parte en si de CIAA-Firmware. Solo estaran presentes en caso de haber clonado el repositorio. Si bajó una release los archivos no estarán presentes. | 
-| doc | Contiene la documentación del proyecto+| .gitignore | ::: | 
-| examples | Contiene ​algunos ​ejemplos que se pueden utilizar de base para futuros desarrollos |+| .gitmodules | ::: 
 +| doc | Contiene la documentación ​básica ​del proyecto ​somo ser: Rlease Notes, Credits, Página de inicio de Doxygen y algunos diagramas UML 
 +| examples | Contiene ​los ejemplos que se pueden utilizar de base para futuros desarrollos|
 | externals | Contiene librerías o tools necesarios por CIAA-Firmware pero que no son parte directa de la CIAA y pueden contener otras licencias. | | externals | Contiene librerías o tools necesarios por CIAA-Firmware pero que no son parte directa de la CIAA y pueden contener otras licencias. |
 | modules | Contiene los [[desarrollo:​firmware:​arq_estatica_fw#​modulos|módulos]] del CIAA-Firmware. | | modules | Contiene los [[desarrollo:​firmware:​arq_estatica_fw#​modulos|módulos]] del CIAA-Firmware. |
-| out | Todos los archivos ​de salida, ya sean librerías, binarios o archivos generados son almacenados en este y sub directorios. |+| out | Todos los archivos ​generados/salida, ya sean librerías, binarios o archivos generados son almacenados en este y sub directorios. |
 | Makefile | Este archivo es el [[:​make_environment|makefile principal]] de CIAA-Firmware. | | Makefile | Este archivo es el [[:​make_environment|makefile principal]] de CIAA-Firmware. |
 | Makefile.config | Contiene un ejemplo de como debería ser Makfile.mine. | | Makefile.config | Contiene un ejemplo de como debería ser Makfile.mine. |
-| Makefile.mine | No existe por defecto (GIT no lo descarga del repositorio ​porque debe ser propio de cada usuario). Debe crearse a partir de una copia de Makefile.config,​ puede encontrar más información en [[:​make_environment|Make]]. |+| Makefile.mine | Es un archivo que el usuario debe crear basandose en Makefile.config. El mismo no se encuentra en el repositorio ​ni en las releases. Es propio de cada usuario. Debe crearse a partir de una copia de Makefile.config,​ puede encontrar más información en [[:​make_environment|Make]]. |
  
-===== doc (Documentación ​del CIAA-Firmware) ===== +===== examples ​(Ejemplos ​del CIAA-Firmware) =====
-### +
-Contiene los fuentes documentación oficial de una Release. También se puede encontrar documentación en nuestra [[desarrollo:​firmware|Wiki del CIAA-Firmware]]. +
-###+
  
-La documentación se puede generar desde el makefile utilizando: 
-<​code>​ 
-make doc 
-</​code>​ 
- 
-===== examples (Ejemplos del CIAA-Firmware) ===== 
 ### ###
 Contiene los ejemplos de CIAA-Firmware. A todo aquel que comience a programar utilizando el CIAA-Firmware le recomendamos iniciar el proyecto basado en alguno de nuestros ejemplos. Contiene los ejemplos de CIAA-Firmware. A todo aquel que comience a programar utilizando el CIAA-Firmware le recomendamos iniciar el proyecto basado en alguno de nuestros ejemplos.
 ### ###
  
-La primera versión contiene ​la siguiente estructura bajo el directorios ​examples:+En la sección TODO (examples) se estudiara cada ejemplo en más detalle.
  
-^ Directorios ​       ^ Descripción ​                                   ^ +===== externals (Software y Tools Externos) =====
-| blinking_with_rtos | Un ejemplo de un Led Titilando con OSEK RTOS   | +
-| blinking wo_rtos ​  | Un ejemplo de un Led Titilando sin ningún RTOS |+
  
-### 
-Para poder compilar algún ejemplo debe editar el Makefile.mine. Si todavía no tiene un Makefile.mine lea nuestra introducción a [[:​make_environment|Makefile]]. 
-### 
- 
- 
-===== externals (Software y Tools Externos) ===== 
 ### ###
 Este directorio contiene el Software y Tools externos al CIAA-Firmware,​ que son necesarios para compilar, testear, etc. el Firmware. Tenga en cuenta que el Software y Tools en esta carpeta no son parte de CIAA-Firmware y pueden contener otras licencias. Este directorio contiene el Software y Tools externos al CIAA-Firmware,​ que son necesarios para compilar, testear, etc. el Firmware. Tenga en cuenta que el Software y Tools en esta carpeta no son parte de CIAA-Firmware y pueden contener otras licencias.
Línea 99: Línea 81:
 ^ Directorio ^ Descripción ^ ^ Directorio ^ Descripción ^
 | ceedling | Tool utilizada para los [[unit_tests|Unit Tests o Pruebas Unitarias]] | | ceedling | Tool utilizada para los [[unit_tests|Unit Tests o Pruebas Unitarias]] |
-platforms ​Software utilizado para las plataformasdesde scritps para el linker ​como códigos de startup ​para la inicialización del software. Con el tiempo intentaremos reescribir todas estas rutinas y scripts para que no sea necesario utilizar scripts o software externo. |+base     Fuentesheaders y linker ​scripts necesarios ​para poder compilar y linkear el código en la plataforma | 
 +| drivers ​ | Drivers provistos por el proveedor del chip, los cuales son luego adaptados al formato de la CIAA. |
  
 ===== modules (Módulos de CIAA-Firmware) ===== ===== modules (Módulos de CIAA-Firmware) =====
Línea 111: Línea 94:
 ^ Directorio ^ Descripción ^ ^ Directorio ^ Descripción ^
 | bin | Contiene el binario del proyecto, es el archivo que se va a correr en la PC o a cargar en el CIAA-Firmware | | bin | Contiene el binario del proyecto, es el archivo que se va a correr en la PC o a cargar en el CIAA-Firmware |
-| ceedling | Contiene todo lo relevante a las salidas de los [[unit_tests|Unit Tests o Pruebas Unitarias]] | 
-| doc | Contiene la documentación generada utilizando: <​code>​make doc</​code>​ | 
 | gen | Archivos generados de [[rtos|OSEK RTOS]] | | gen | Archivos generados de [[rtos|OSEK RTOS]] |
 | lib | Por cada Módulo el make genera un archivo .a, osea una libreria | | lib | Por cada Módulo el make genera un archivo .a, osea una libreria |
 +| obj | Todos los archivos fuentes son compilados a object files y almacenados en este directorio |
 +
 +<- docu:​fw:​bm:​woide|Trabajando sin IDE ^ ^ docu:​fw:​bm:​make|Make ->
docu/fw/bm/estructura.1428136662.txt.gz · Última modificación: 2015/04/04 05:37 por mcerdeiro