Linux live con Eclipse pre-configurado, firmware CIA-NXP, OpenOCD y soft para ing. electrónica

154 views
Skip to first unread message

braytac

unread,
Jun 22, 2018, 6:37:47 AM6/22/18
to Embebidos32

Estimados:

      Habiendo visto las librerías y dependencias necesarias (en el tutorial de linux) para hacer desarrollo sobre la CIAA-NXP en ubuntu me propuse hacer lo propio sobre mi distribución de uso diario, Arch. Caí en la cuenta de que todos los problemas habituales en Windows, sobre todo con el driver FTDI, no existían aquí. Era todo mucho más sencillo, exceptuando varias diferencias respecto a ubuntu. Además pude usar la última versión de Eclipse, al contrario de lo indicado en el tutorial para ubuntu, y algunas otras ventajas.

Replicado esto en un pendrive booteable no live (el SO instalado y booteando como si fuera un disco "normal" con f2fs) resultó muy cómodo llevarlo a cualquier computadora y continuar con el trabajo donde lo había dejado, sin tener que instalar absolutamente nada. Por esta razón me propuse empaquetar todo lo necesario (y bastante más) en un sistema live booteable, basado en manjaro linux esta vez, para que pueda ser utilizado sobre todo con fines educativos sin tener que lidiar con algunos problemas con los que nos hemos encontrado en windows. El objetivo es arrancar la ISO desde el pendrive, disco rígido, DVD, o máquina virtual y tener todo listo para editar el Makefile, compilar y flashear por consola, o lo propio con Eclipse.
Les dejo este aporte por si les es de interés, y a la espera de observaciones sobre todo por si estoy teniendo algún problema con el tema licencias. He incluído del proyecto el firmware v2 y ponchos, aprovechando que está provisto kicad para editarlos.

ISO para descargarmanjaro-xfce-17.1.10-stable-x86_64.iso

Además de lo necesario para la CIAA-NXP se incluye el IDE de Arduino, Energía, kicad y otros simuladores/esquemáticos como oregano con ngspice, logisim, easy_spice. En reemplazo de matlab: octave, con múltiples paquetes compilados extras añadidos (ej. para control y señales), autocargados al lanzar octave. Además un visor de diferencias (meld), dos editores de código livianos pero potentes,herramientas de ofimática, editor de diagramas Día, etc.

Respecto a la CIAA, he incluído un script en el escritorio que lanza una terminal, se posa sobre el directorio firmware y muestra como ayuda los comandos más utilizados. Imaginé que con fines educativos podría ser útil:
- Arrancar el linux de cualquiera de las múltiples formas.
- Enchufar la EDU CIAA
- Abrir "CIAA-NXP por consola" -> escribir make download y observar cómo el programa corre sobre la placa.
  En este punto también: mcedit Makefile -> descomentar otro proyecto -> make && make download y observar otro programa corriendo

Desde el punto de vista de alguien que se topa por primera vez con al EDU CIAA como me pasó a mi me pareció que podía ser didáctico y práctico para incursionar con pocos conocimientos.
Luedo puede mostrarse que lo mismo se logra con Eclipse (lo he dejado totalmente configurado para hacer "Debug as" o "Run as" sin tener que ajustarlo).
Adjunto capturas:


Saludos!


Enrique Cabo

Marcelo Navarta

unread,
Jun 22, 2018, 8:43:06 AM6/22/18
to embeb...@googlegroups.com
Excelente trabajo ! Felicitaciones por el plug and play. A mí particularmente me sirve. Muchas gracias !

--
-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es
---
Has recibido este mensaje porque estás suscrito al grupo "Embebidos32" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a embebidos32...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Matias Loiseau

unread,
Jun 22, 2018, 8:43:23 AM6/22/18
to Embebidos32
Hermoso laburo te mandaste, genio !

Me encantó la idea. Esto se puede subir a algún lugar de control de versiones tipo github para poder aportar más ideas ?

Gracias por el aporte.

Saludos !

mariela Roman

unread,
Jun 22, 2018, 9:35:43 AM6/22/18
to embeb...@googlegroups.com
Muchas gracias por tu aporte, estoy empezado con todo esto y tú trabajó me ayudó bastante.

MUCHAS GRACIAS! !


--
-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es
---
Has recibido este mensaje porque estás suscrito al grupo "Embebidos32" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a embebidos32...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.

braytac

unread,
Jun 22, 2018, 10:30:29 AM6/22/18
to Embebidos32
Muchas gracias por los comentarios. Me alegro que sea útil!.

La verdad es que no sabía si era correcto hacer esta publicación, como debate, en este sitio.

Pero me pareció que con fines educativos estaba bueno por erradicar cualquier posible frustración que surge cuando uno intenta en windows empezar de cero y las cosas no funcionan. Un poco te desanima y perdés tiempo.

Esta ISO está en una PC de un gabinete de computadoras en la Facultad de Ingeniería de la UNLP. Como en esas máquinas el windows está freezado cualquier ajuste que quiera hacerse hacer funcionar el driver USB para la EDU CIAA, configurar las rutas, etc etc, hace muy tedioso resolver el problema en todas a la vez (no todas se comportaron igual).
En cambio en esa PC solo basta elegir "manjaro electro" al prenderla, y todo el entorno de desarrollo para la CIAA está listo y configurado apenas arranca.
Como todas las computadoras ya tenían ubuntu solo hizo falta copiar el archivo iso a una partición y añadir una entrada al grub, y listo. No se necesitan pendrives, ni DVD, ni instalar, ni VM.
En este sentido pienso que podría serle más útil a estudiantes, o personas que están comenzando desde cero y tienen que juntar todas las piezas (es lo que me pasó a mi).

Por si alguien tiene algún linux instalado les dejo esta entrada para el /boot/grub/grub.cfg, como está en la PC mi facultad:

menuentry 'manjaro electro Live ISO' {
insmod part_gpt
insmod ext2
### Si copian la iso como "manjaro.iso" en el raiz de un linux existente (o en una de windows, o cualquiera que grub soporte leer su FS) ###
set iso=/manjaro.iso
### Si la iso está en la 1ra partición del 2do disco rígido ###
loopback loop (hd1,msdos1)/$iso
probe -u $root --set=abc
set pqr="/dev/disk/by-uuid/$abc"
### desde "driver=" en adelante puede eliminarse/cambiarse. Tuve que añadir estas líneas porque por la placa radeon no inicializaba bien xorg ###
linux (loop)/boot/vmlinuz-x86_64 lang=es_AR keytable=es misobasedir=manjaro misolabel=MJRO1711 img_loop=$iso img_dev=$pqr driver=nonfree i915.modeset=1 logo.nologo overlay=free free=yes radeon.modeset=1  radeon.audio=0
initrd (loop)/boot/intel_ucode.img (loop)/boot/initramfs-x86_64.img
}   

braytac

unread,
Jun 22, 2018, 11:03:06 AM6/22/18
to Embebidos32
Matías:

Respecto a crear un proyecto en un repositorio Git, habría que investigarlo un poco. Mi preocupación era el tema licencias. Ver si algún componente tendría que ser eliminado.
La mayor parte de todo el SO es FLOSS, pero por ejemplo, el debbuger openocd de eclipse recuerdo que tuve que aceptar las condiciones (normalmente no vendría junto con Eclipse) y el plugin de flash.

Luego: algunas piezas son del proyecto CIAA, del repo firmware y ponchos. Pero también utilicé manjaro-tools (modificado) que hace años estaban hosteados en github y por la compra de Microsoft hace unas semanas migraron a GitLab. Pude hacerle un fork a manjaro-tools de github, pero es algo que quedará desactualizado. Sería mejor perseguirlo en GitLab...pero no pude bifurcarlo desde que se mudaron no sé por qué ¿?.

Subir la iso no tendría sentido. Supongo que se te referís al código fuente?. Esto sería el constructor de manjaro con varias modificaciones, las referencias a los repositorios de la CIAA, los scripts añadidos y los archivos creados para partir de cero.

Una posibilidad: un script en Git y los archivos añadidos (modifiqué un tema de íconos de windows10...tendría que ir entero eso), todos los archivos necesarios en .config, /etc/skel, y /home/manjaro/.... de forma que :

- Se descargue todo lo necesario de github (CIAA), y gitlab (si se pudo forkear manjaro-tools) con git clone
- Se descargue cualquier otro software o paquete que esté disponible en la web y no deba ser incluído en el repositorio
- Dispare buildiso para instalar todos los paquetes, copiar...mksquashfs...->generar la ISO

La contra es que, en principio, solo se podría construir en un linux basado en Arch.

No sé si sería mejor hablar con los de manjaro community para ver si no hay problema con las inclusiones, y si cataloga como los spins de Fedora (como el Electronic Lab) como para alojarlo con las otras ediciones, que aunque es XFCE está dedicado a la ingeniería electrónica.

braytac

unread,
Jun 24, 2018, 12:34:56 AM6/24/18
to Embebidos32
Actualización: En base a lo que me sugirió Erik añadí algunos programas que son muy utilizados (la verdad es que no todavía no tengo conocimiento de la envergadura del proyecto). Removí el energía y el kicad con los ponchos, que son la causa de que la imagen anterior llegase a los 3Gb. Resultó esta vez en una imagen menor:

  • Emulador
  • Micropython
  • Embedded IDE
  • IDE4PLC
  • EDU-CIAA Python Editor
  • Removido kicad,ponchos y energía


Saludos!

Enrique
Reply all
Reply to author
Forward
Message has been deleted
0 new messages