Vous êtes sur la page 1sur 9

2016/12/27 18:38 1/9

FAQ (Preguntas Frecuentes)


Nota: Esta página se encuentra en construcción.

Fundamentos de la CIAA

¿Qué es la CIAA?

¿Qué significa que la CIAA sea Industrial?

Ver más.

¿Qué significa que la CIAA sea Abierta?

¿Qué significa que la CIAA sea Argentina?

¿En qué se diferencia la CIAA de un PLC?

¿En qué se diferencia la CIAA de placas como Arduino o Raspberry?

¿Existe una versión educativa de la CIAA?

Sumarse al Proyecto CIAA

¿Cómo me puedo sumar al equipo de desarrollo de la CIAA?

¿Cómo me puedo sumar al equipo de auspiciantes del proyecto CIAA?

Uso de la CIAA

¿Dónde puedo obtener una CIAA?

¿Qué necesito para armar mi propia CIAA?

- http://proyecto-ciaa.com.ar/devwiki/
Last update: 2016/11/19 17:59 faq http://proyecto-ciaa.com.ar/devwiki/doku.php?id=faq

¿Dónde puedo aprender a usar la CIAA?

Manual del usuario del CIAA-Firmware.

¿Puedo usar la CIAA como parte de un desarrollo propio?

Sí. Un usuario o empresa cualquiera puede adquirir una CIAA o bajarse los fuentes y armarse una, y
luego usarla en el desarrollo de sus propios proyectos. Tanto los productos de hardware y firmware de
la CIAA, así como todos los archivos fuentes creados para su diseño, deben conservar la autoría y
condiciones de la Licencia BSD de la CIAA.

¿Puedo modificar la CIAA?

Sí. Un usuario o empresa cualquiera puede bajarse los archivos fuentes del hardware o firmware de la
CIAA, y modificarlos para luego usarlos en el desarrollo de su propios proyectos. Todos los archivos
fuentes de la CIAA que se utilicen, con o sin modificaciones, deben conservar con la autoría y
condiciones de la Licencia BSD de la CIAA.

¿Puedo comercializar desarrollos basados en la CIAA?

Sí. Un usuario o empresa cualquiera puede utilizar y comercializar como parte de sus propios
desarrollos los productos de hardware y firmware de la CIAA, con o sin modificaciones. Todos los
archivos fuentes de la CIAA que se utilicen, con o sin modificaciones, deben conservar con la autoría y
condiciones de la Licencia BSD de la CIAA.

¿Puedo incluir el nombre y logo de la CIAA en desarrollos basados en la CIAA?

Ver más sobre la Licencia BSD de la CIAA.

¿Qué productos se han desarrollado con la CIAA para la industria?

Industrias utilizando la CIAA.

CIAA-Hardware

¿Qué es el CIAA-Hardware?

El CIAA-Hardware comprende los componentes físicos de la computadora industrial, dispositivos


electrónicos, características eléctricas e interfaces de comunicación.

¿Qué versiones de CIAA-Hardware están disponibles?

http://proyecto-ciaa.com.ar/devwiki/ Printed on 2016/12/27 18:38


2016/12/27 18:38 3/9

¿Cómo hago para desarrollar una nueva versión de CIAA-Hardware?

¿Para qué sirve el jumper JP15 en la CIAA-NXP o su equivalente JP5 en la


EDU-CIAA-NXP?

Es utilizado para forzar la reprogramación de la CIAA evitando que arranque desde la flash. Ver más
abajo ¿Cómo hago para reprogramar la CIAA-NXP o EDU-CIAA-NXP cuando no responde?.

CIAA-Firmware

¿Qué es el CIAA-Firmware?

El CIAA-Firmware es el programa que se ejecuta en la CPU del microcontrolador de la CIAA, que


comprende los módulos de código de programas para realizar una aplicación determinada, e
interactúa directamente con los periféricos internos y otros componentes físicos de la computadora
industrial, dispositivos electrónicos, e interfaces de comunicación.

¿Dónde puedo obtener el CIAA-Firmware?

Todo el código desarrollado para el CIAA-Firmware se mantiene en un repositorio de GitHub:


https://github.com/ciaa/Firmware
Si nunca usó GitHub puede empezar leyendo el siguiente Tutorial de GitHub.

¿Dónde puedo aprender a usar el CIAA-Firmware?

¿El mismo Firmware sirve para todas las versiones de Hardware?

¿Puedo usar otro Firmware para mi placa CIAA?

¿Cómo puedo saber las cosas que puedo hacer con el make del firmware?

En una consola (linux o cygwin en windows) al posicionarse sobre la carpeta de firmware, hacer:

make help

¿Qué hago si tengo errores al compilar?

Verificar que el makefile.mine esté correctamente configurado, y revisar la información que arroja en
una consola (linux o cygwin en windows) al posicionarse sobre la carpeta de firmware y hacer:

make info

- http://proyecto-ciaa.com.ar/devwiki/
Last update: 2016/11/19 17:59 faq http://proyecto-ciaa.com.ar/devwiki/doku.php?id=faq

¿Quisiera eliminar el firmware 'flasheado' en mi CIAA...como hago?

Teniendo el makefile.mine correctamente configurado, en una consola (linux o cygwin en windows) al


posicionarse sobre la carpeta de firmware, hacer:

make erase

¿Como hago para compilar mi ejemplor de firmware y 'flasheado' en la CIAA?

Para hacer una prueba rápida por consola (linux o cygwin en windows), hay que posicionarse sobre la
carpeta de firmware, teniendo previamente configurado el makefile.mine, y hacer:

make all ☞ Compila todo el proyecto


make download ☞ Abre el openocd, y graba el .axf en la CIAA

¿Si hago un cambio menor, debo recompilar todo de nuevo?

Generalmente no. Sólo hace falta compilar aquello que cambia. Si lo que se modifica es parte de
nuestro proyecto, alcanza con haber hecho al menos una vez en una consola:

make all ☞ Borra todo lo existente, genera el RTOS y Compila todo el


proyecto

make clean_generate ☞ Borra todo lo existente y genera el RTOS

Para luego sólo ser necesario hacer en cada cambio:

make ☞ Compilación incremental...sólo compila los cambios

Sólamente será necesario volver a generar el RTOS y recompilar todo, si se hacen cambios en el .OIL
que configura el RTOS o en algún módulo de base del firmware.

¿Cómo hago para reprogramar la CIAA-NXP o EDU-CIAA-NXP cuando no


responde?

Puede pasar (no es algo común) que ante un Firmware muy inestable la CIAA-NXP no pueda ser
reprogramada mediante el OpenOCD como se hace normalmente. Bajo esta situación anormal, se
puede forzar que el arranque NO sea desde la memoria flash (debido a la inestabilidad del firmware
actual), sino que el procesador queda en espera de recibir el boot externamente. Esto se logra
cerrando el jumper JP15 en la CIAA-NXP o JP5 en la EDU-CIAA-NXP, y luego se procede a reprogramar
le CIAA-NXP con el OpenOCD de manera normal. Una vez reprogramada nuevamente con un firmware
estable, puede abrirse el jumper para que el procesador arranque normalmente desde la memoria
Flash. Los pasos en detalle serían:

● Asegurate que la CIAA esté desenchufada.


● Puentear el JP correspondiente (de manera permanente con estaño o momentaneo con algo
metálico).
http://proyecto-ciaa.com.ar/devwiki/ Printed on 2016/12/27 18:38
2016/12/27 18:38 5/9

● Conectar la CIAA (manteniendo el puente cerrado).


● Soltar JP (si se hizo con algo metálico de manera momentanea).
● Ejecutar parado en el raíz del Firmware, el comando 'make erase'
● Desenchufar la CIAA y soltar JP (si se hizo con estaño).

Si todo anduvo bien, se debería ver al final de la consola un texto similar a:“erased sectors 0 through
14 on flash bank 0 in 0.120510s”

¿Por qué CIAA-Firmware utiliza OSEK-OS como RTOS?

OSEK-OS fue creado por la industria automotriz, pero esa no es la razón para utilizarlo en CIAA-
Firmware. La ventaja de OSEK-OS es que es un estándar y por ende existen muchas
implementaciones. Hay implementaciones open source y cerradas, las hay con QM hasta SIL 3.
Además de que hay muchas empresas que proveen soporte.

Al ser un estándar abierto, quien quiera es libre de usar el estándar, implementarlo, venderlo,
comprarlo, etc. OSEK-OS nos genera la libertad de no dependencia.

El RTOS no compila y dice que falta un archivo *_Cfg.h

Estos archivos son generados en base a la configuración OIL. Debe recordar de correr

make generate

o en su defecto con un clean previo haciendo

make clean_generate

para que estos archivos sean generados.

Dice que operand type mismatch for `jmp'

Si aparece

./modules/rtos/src/Schedule.c: Assembler messages:

./modules/rtos/src/Schedule.c:169: Error: operand type mismatch for `jmp'

es porque estás compilando a 32 bits en una arquitectura de 64, tenés que corregir en Makefile.mine,
que no está versionado y lo conseguís copiandolo de Makefile.config y modifican de

BOARD ?= ciaa_sim_ia32

BOARD ?= ciaa_sim_ia64

- http://proyecto-ciaa.com.ar/devwiki/
Last update: 2016/11/19 17:59 faq http://proyecto-ciaa.com.ar/devwiki/doku.php?id=faq

PHP Fatal error: Uncaught Error: Call to undefined function split() in


Firmware/modules/rtos/generator

Esto es por tener instalado php 7 y estar usando algún branch donde se usa split() en lugar de
explode(). En particular al usar release/1.0.x con nuevas distribuciones como Ubuntu 16.04

El siguiente comando corrige el código y es compatible con php 5.x

sed -i modules/rtos/generator/oilParser.php -e "s/split/explode/"

¿Qué es OIL?

OIL es OSEK Implementation Language, es un lenguaje de configuración para indicar al RTOS cuántas
tareas hay, qué prioridades tienen, etc. Es parte del estándar. Normalmente, se encuentra el archivo
.oil dentro de la carpeta 'etc' del proyecto.

¿Mi aplicación debe usar funciones para formatear cadenas como printf y
sprintf, que no están implementadas aún en ciaaPOSIX_stdio, cómo lo
resuelvo?

Incluir stdio.h pero en tu Makefile.mine agregá lo siguiente

LFLAGS += -lc -lrdimon

Ver más sobre el RTOS utilizado.


Ver más preguntas sobre el RTOS.

¿Cuál branch de los módulos del Firmware corresponden a los releases, en


particular 1.0.0?

En github hay una solapa donde hay branches y tags. Si en tags seleccionás el release y entrás en
la carpeta modules, vas a ver que commit del módulo corresponde. Por ejemplo, para 1.0.0:

rtos@fdb5b7ba160d60d3065ebcf7cdc2de3464c3f115

modbus@05cec18fd210ff8f10f6d9689aff0def7d7bf11f

Luego te parás en cada módulo y ejecutás el git checkout correspondiente:

cd modules/rtos
git checkout fdb5b7ba160d60d3065ebcf7cdc2de3464c3f115
cd -
cd modules/modbus
git checkout 05cec18fd210ff8f10f6d9689aff0def7d7bf11f

http://proyecto-ciaa.com.ar/devwiki/ Printed on 2016/12/27 18:38


2016/12/27 18:38 7/9

Error al instalar OpenOCD

Si te aparece el siguiente error

=== configuring in jimtcl (/home/invap/ciaa-ide/openocd-0.9.0/jimtcl)


configure: running /bin/bash ./configure.gnu --disable-option-checking '--
prefix=/usr/local' '--enable-ftdi' --cache-file=/dev/null --srcdir=.
application-specific initialization failed: Can't find a usable init.tcl in
the following directories:
/tmp/pabuild/tcl8.5.14/lib/tcl8.5
/opt/Xilinx/SDK/2015.2/bin/unwrapped/lib/tcl8.5
/opt/Xilinx/SDK/2015.2/bin/lib/tcl8.5
/opt/Xilinx/SDK/2015.2/bin/unwrapped/library
/opt/Xilinx/SDK/2015.2/bin/library
/opt/Xilinx/SDK/2015.2/bin/tcl8.5.14/library
/opt/Xilinx/SDK/2015.2/tcl8.5.14/library

This probably means that Tcl wasn't installed properly.

invalid command name "clock"


while executing
"clock millis"
invoked from within
"set autosetup(start) [clock millis]"
(file "/home/invap/ciaa-ide/openocd-0.9.0/jimtcl/autosetup/autosetup"
line 937)
configure: error: ./configure.gnu failed for jimtcl

No está aún del todo confirmado pero puede ser que se arregle cambiando en openocd-
0.9.0/jimtcl/autosetup/autosetup donde dice

set autosetup(start) [clock millis]

por

set autosetup(start) clock

Linux en la CIAA

CIAA-Software-IDE

¿Qué es el CIAA-Software-IDE?

El CIAA-Software-IDE es el entorno de desarrollo del CIAA-Firmware, que permite programar la CIAA

- http://proyecto-ciaa.com.ar/devwiki/
Last update: 2016/11/19 17:59 faq http://proyecto-ciaa.com.ar/devwiki/doku.php?id=faq

usando lenguajes C/C++. El CIAA-Software-IDE ofrece a los desarrolladores un instalador con el cual
podrán de forma sencilla instalar y configurar automáticamente la gran mayoría de las herramientas
necesarias para trabajar con la CIAA.

¿Dónde puedo obtener el CIAA-Software-IDE?

Puede descargar la versión más completa del CIAA-IDE-Suite.

Problemas al instalar los Plug-In GNU-ARM-OpenOCD para eclipse en linux

Si al intentar descargar el plug-in de OpenODC nos aparece el siguiente error: “Cannot complete
the install because one or more required items could not be found”, puede ser que la versión
de eclipse no sea la actual,y este plug-in no funciona para versiones viejas. En la versión eclipse
Kepler 4.3.2 funciona correctamente y el link de descarga es el siguiente:

https://eclipse.org/downloads/packages/release/Kepler/SR2

Al intentar debugear con OpenOCD usando el Eclipse figura el error: Cannot


run program "C:\CIAA\cyqwin\usr\local\openocd\bin\openocd.exe": Launching
failed

El IDE no encuentra el ejecutable del debugger OpenOCD, verificar que


${openocd_path}/${openocd_executable} esté apuntando al mismo. Este problema puede darse al
utilizar una versión no actualizada del IDE, se recomienda instalar la última versión de la CIAA-IDE-
Suite.

Al intentar debugear con OpenOCD usando el Eclipse figura en la consola el


error: "Error: unable to open ftdi device with vid xxxx, pid xxxx"

Al trabajar en windows, asegurarse de reemplazar el driver del FTDI con la aplicación Zadig, como se
indica en aqui

Falla al intentar reemplazar el driver con Zadig

Si Falla Zadig, mostrando el mensaje “The driver installation failed.” entonces intente bajando una
versión anterior de Zadig en el siguiente link:
http://sourceforge.net/projects/libwdi/files/zadig/zadig_v2.0.1.154.7z/download

CIAA-Software-PLC

¿Qué es el CIAA-Software-PLC?

http://proyecto-ciaa.com.ar/devwiki/ Printed on 2016/12/27 18:38


2016/12/27 18:38 9/9

EDU-CIAA

¿Qué es la EDU-CIAA?

¿Cómo puedo traer la EDU-CIAA a mi Escuela o Universidad?

Microelectrónica

¿Cómo conecto componentes de 5v a las interfaces de 3.3v?

Paquete tecnológico

¿Cómo generar los archivos de coordenadas X-Y de una plaqueta con kicad?

Es el archivo que Protel y DXP llaman de pick and place

En pcbnew vas a File > Fabrication Outputs > Footprint Position File, te genera dos archivos, uno por
cada lado del PCB.

¿Cómo muevo una carpeta entre repositorios?

Falta depurar, pero esto más o menos sirve: https://github.com/ciaa/Firmware/pull/416

Es como se ha movido una carpeta de Firmware/modules/rtos, que es un subproyecto, a Firmware

From:
http://proyecto-ciaa.com.ar/devwiki/ -

Permanent link:
http://proyecto-ciaa.com.ar/devwiki/doku.php?id=faq

Last update: 2016/11/19 17:59

- http://proyecto-ciaa.com.ar/devwiki/

Vous aimerez peut-être aussi