Autor Tema: SoC, SBC y otros Sistemas Embebidos  (Leído 39925 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: SoC, SBC y otros Sistemas Embebidos
« Respuesta #75 en: 03 de Noviembre de 2013, 15:34:45 »

Planeta9999 instalate la versión Qt 5.1.1 for Windows 32-bit (MinGW 4.8, OpenGL, 666 MB).
Esta versión viene con el MinGW que es un compilador de GCC. Si no lo tendrás que instalar a parte.


Acuerdate  de que no te vale un compilador de x86: no vas a poder ejecutar nada en la RPI. Tienes que compilarlo con uno "cruzado" de x86 a ARM.

Si si lo tengo claro, de momento estoy probando en Windows y cuando más o menos lo tenga controlado le instalare un compilador para ARM.

¿Sabéis alguno? (tengo que mirarlo todavía)

¿El compilador para ARM sería el mismo para una SOM profesional?

bueno paso a paso, a ver si aprendo en win de momento.

BitPIC

Desconectado manwenwe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2211
Re: SoC, SBC y otros Sistemas Embebidos
« Respuesta #76 en: 03 de Noviembre de 2013, 15:50:29 »
A nivel sistema de archivos para ti una RPI, una BBB o un módulo es lo mismo ya que todos son ARM. Miento un poquito: a nivel módulos (GPU, codecs, etc.) puedes tener problemas según la versión del compilador. Como estás ahora mismo te tiene que preocupar "cero".

A nivel Kernel es un rollo más diferente pero tampoco es tan dificil cambiar de plataforma.

No te preocupes: bájate algún compilador que te recomienden para RPI que verás que para ejecutar la misma aplicación sencilla en C++ te va a funcionar igual en la BBB o en cualquier otro "cacharro".
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: SoC, SBC y otros Sistemas Embebidos
« Respuesta #77 en: 05 de Noviembre de 2013, 17:51:25 »
Hoy he estado en el seminario sobre SBC del fabricante F&S en concreto hemos tocado la armStoneA5 que a pesar de sus 256 MB de RAM me a sorprendido que en el mismo chip tengan un Cortex™A5-500MHz para el SO y un Cortex™M4-167MHz para trabajar con los GPIO en tiempo real.







Contestando a las dudas de manwenwe:
Ta chula la plaquita.

Cuando vayas pregúntales 2 cosas:

1. ¿Por qué le han puesto sólo 512MB de RAM? Con eso van justitos para cargar un OS pesado (Android, Ubuntu, etc.) y mover la GPU al mismo tiempo.
2. ¿Por qué le han soldado un conector SATA si ese modelo no tiene SATA? :shock:. Te dirán que piensan poner un DUAL o QUAD en el futuro... "Pues sueldalo en el futuro"  :D

Un saludo.

1. Supongo que la placa que dije en su día no era exactamente la que hemos tocado. No tiene 512MB en concreto esta tenía 256MB de RAM y 128MB de FLASH, pero pueden ampliar la RAM a 1Gb. Me han dicho que va en función del modelo de SBC, pero en su web ahora mismo no consigo encontrar el modelo de 1Gb.
2. No llevaba conectores SATA (la imagen que puse no se correspondía con esta)

La verdad que ha sido muy interesante porque nos han enseñado desde como compilar tu propio kernel para adaptarlo a tus necesidades a como programar con compilador cruzado con Eclipse y QT. Como era de esperar, mi nivel todavía no es el suficiente como para haberme quedado con todos los pasos que hay que seguir, pero el concepto lo he entendido.

Ellos configuraban el Eclipse y el QT para que además de compilar le enviara directamente por SSH el archivo compilado y lo ejecutaba en la SBC.

Por si a alguien le interesa, el distribuidor (Venco Electronics) tienen una oferta hasta final de mes del SBC+TFT+touch+cables (kit completo de la foto) por 150€

Ahora mi siguiente paso es conseguir configurar el QT para hacer la compilación cruzada con el RPi.

Si alguien sabe hacerlo que nos lo explique, si no en cuanto lo consiga intentare explicar los pasos aquí.

Como me han dicho hoy: Lo más engorroso es configurar el SO y el Toolchain, una vez hecho esto a programar... (vamos que me queda tener un poco de paciencia todavía  :D)



BitPIC

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: SoC, SBC y otros Sistemas Embebidos
« Respuesta #78 en: 06 de Noviembre de 2013, 08:39:27 »
Despues de toda una mañana dándole vueltas, creo que lo mejor es dejar Windows y pasar a Linux. Por lo que veo hacer el compilador cruzado desde Ubuntu por ejemplo, es "más" sencillo que desde Windows. Así que ya tengo escusa para pasar a Ubuntu  :D

A ver si alguien puede resolverme unas dudas de QT:
En QT configuramos el compilador, la versión de QT y el Kit.

Compilador: en este caso entiendo que hay que descargar un compilador para ARM (me he descargado e instalado el GNU Tools ARM Embedded)

Versión de QT: Aquí ya patino un poco, por lo que veo hay que seleccionar un qmake para linux embebido, pero esto no se como se hace. Ahora mismo tengo el qmake del MinGW para windows. ¿Alguien sabe que he de hacer pasa ponerle el qmake para linux-arm?

Kit: Esta parte creo que si las otras dos las tienes bien, es solo seleccionar el compilador y version QT para linux-arm y creas un KIT. En mi caso cuando lo configure bien tendré el Kit para Windows y el Kit para Linux-ARM.

¿Estos es así? ¿Tengo las ideas básicas más o menos correctas? ¿Alguien me puede explicar lo del qmake?

Por lo que tengo entendido, además de todo esto, luego hay que instalar las librerias de QT en la RPI para que el programa que hagas no tenga que incluir todas las librerias y ser pesado.

Saludos!
BitPIC

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: SoC, SBC y otros Sistemas Embebidos
« Respuesta #79 en: 06 de Noviembre de 2013, 18:19:43 »
Despues de toda una mañana dándole vueltas, creo que lo mejor es dejar Windows y pasar a Linux. Por lo que veo hacer el compilador cruzado desde Ubuntu por ejemplo, es "más" sencillo que desde Windows. Así que ya tengo escusa para pasar a Ubuntu 


¿ Que te has montado una máquina virtual con VMware, para rodar Linux desde Windows ?.
Yo también estoy empezando el melón, y viendo por donde tirar, en mi caso para la Beaglebone Black, luego ya miraré con la Raspberry, que será practicamente lo mismo pero con otro procesador ARM.



Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: SoC, SBC y otros Sistemas Embebidos
« Respuesta #80 en: 06 de Noviembre de 2013, 19:04:16 »
Aprovechando la ocasión voy a usar un portátil sólo con ubuntu, pero todavía no lo tengo instalado.

Googleando he visto que es más facil hacer la compilación cruzada desde linux que desde windows.

De momento solo he probado con windows sin éxito.

En cuanto a usar RPi o beaglebone creo que será prácticamente lo mismo ya que las dos necesitan compilador ARM.

Cuando consiga hacer funcionar esto pongo los resultados.
BitPIC

Desconectado manwenwe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2211
Re: SoC, SBC y otros Sistemas Embebidos
« Respuesta #81 en: 06 de Noviembre de 2013, 19:16:30 »
Aprovechando la ocasión voy a usar un portátil sólo con ubuntu, pero todavía no lo tengo instalado.

Ubuntu "caca": ponte Fedora :D
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: SoC, SBC y otros Sistemas Embebidos
« Respuesta #82 en: 10 de Noviembre de 2013, 01:51:26 »
Aprovechando la ocasión voy a usar un portátil sólo con ubuntu, pero todavía no lo tengo instalado.

Ubuntu "caca": ponte Fedora :D
¿Tanto así? No me gusta Unity, pero llevo usando Ubuntu desde el 2005, tanto de manera personal como en el trabajo (aunque en mi nuevo trabajo es prácticamente solo Windows), en mi anterior trabajo dejé dos desarrollos comerciales basados en Ubuntu, y nos respondió muy bien.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: SoC, SBC y otros Sistemas Embebidos
« Respuesta #83 en: 10 de Noviembre de 2013, 07:49:31 »
Pues parece más difícil de lo que pensaba, y mira que sencillo sabía que no iba a ser...

De momento estoy usando Ubuntu, pero no hay manera, no consigo configurar el compilador cruzado para trabajar con QT y RPi. He seguido los pasos de varias webs, pero no lo consigo.

He instalado el compilador de Linaro y lo he configurado en el QT, pero no se como conseguir hacer el qmake para RPi.

El estado en el que estoy es el siguiente:

- Instale QT en Ubuntu y probé que funcionase bien con una aplicación sencilla (funciona)
- Instale el compilador gcc-arm de linaro y lo tengo configurado en QT
- Tengo configurado el dispositivo "raspberry pi" en QT para que conecte por SSH (según el test de QT conecta correctamente)
- Me falta crear el qmake para RPi. He probado varios manuales, pero no me funciona y no se porque (o es que no entiendo los pasos, soy novato en linux).
- Me falta instalar en la RPi las librerías de QT para que funcionen las aplicaciones que cree con el QT de Ubuntu. He seguido manuales para hacerlo, pero no tengo claro de que funcione bien y como no he podido usar el compilador cruzado tampoco se si funciona correctamente.

Si alguien sabe hacer estos dos últimos pasos a ver si me puede echar una mano  :oops:

Googleando he encontrado manuales de como hacerlo, pero no he encontrado a nadie que lo este haciendo funcionar, lo máximo que he encontrado es gente que instala el QT creator en la RPi y hace las aplicaciones directamente en la RPi, pero eso no es lo que quiero, yo quiero compilación cruzada.

Cuando usas SOM o SBC profesionales ¿los problemas son los mismos pero con mucha menos información o el fabricante ya te dice que tienes que hacer para configurarlo?

Bueno... yo sigo a lo mio, sigo probando...   :huh:
BitPIC

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: SoC, SBC y otros Sistemas Embebidos
« Respuesta #84 en: 11 de Noviembre de 2013, 17:05:22 »
Sigo con ello! No paro, tiene que salir como sea  :D

Pasaba por aquí para dejar un enlace que me parece interesante. ***** BUILDROOT *****

En cuanto consiga hacer la compilación cruzada no descarto hacer mi propia distribución para RPI :mrgreen: Además creo que saber usar el BUIDROOT es algo basico para luego dar el salto a las SOM y SBC profesionales (Algún experto que nos lo confirme).

Saludos
BitPIC

Desconectado manwenwe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2211
Re: SoC, SBC y otros Sistemas Embebidos
« Respuesta #85 en: 12 de Noviembre de 2013, 16:29:19 »
Buildroot es probablemente la herramienta que más mola para "embedded". El problema es que al final toca bailar al son de los que tocan la música: Texas, Freescale, etc. Si ellos deciden usar open embedded (p.e.: yocto) o ltib pues toca tragar. Más que nada porque portar un linux pelao de una plataforma a otra es accesible, en cambio hacer que funcionen cosas como la GPU puede llegar a ser una locura: si 10 ingenieros de Texas se han currao los drivers para que funcione con Yocto... a ver quien es el guapo que la hace funcionar con buildroot jeje.

Al final al que le compres las placas te va a dar la distro que le dio el fabricante con modificaciones en el kernel para su hardware y lo que le haya querido meter de más en el sistema de archivos (QT, algún RTOS, etc.)

Un saludo.
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: SoC, SBC y otros Sistemas Embebidos
« Respuesta #86 en: 15 de Noviembre de 2013, 13:34:21 »
Buildroot es probablemente la herramienta que más mola para "embedded". El problema es que al final toca bailar al son de los que tocan la música: Texas, Freescale, etc. Si ellos deciden usar open embedded (p.e.: yocto) o ltib pues toca tragar. Más que nada porque portar un linux pelao de una plataforma a otra es accesible, en cambio hacer que funcionen cosas como la GPU puede llegar a ser una locura: si 10 ingenieros de Texas se han currao los drivers para que funcione con Yocto... a ver quien es el guapo que la hace funcionar con buildroot jeje.

Al final al que le compres las placas te va a dar la distro que le dio el fabricante con modificaciones en el kernel para su hardware y lo que le haya querido meter de más en el sistema de archivos (QT, algún RTOS, etc.)

Un saludo.

O sea que en teoría la parte de compilación de la distro te la ahorras.... interesante... me alegro de que sea así y poder quitarte un poco de lío de encima.

El otro día estuve mirando otras SOM profesionales y en el manual explicaba como hacer la compilación cruzada con Eclipse, supongo que la IDe y Toolchain también dependerá un poco de lo que te ofrezca el fabricante ¿no? a no ser que por tu cuenta quieras instalarte y configurarte la IDE o toolchain que te convenga.


Bueno os cuento un poco como voy con el tema:

No he avanzado mucho pero he aprendido cosas por el camino, supongo que eso es algo bueno aunque me gustaría haber visto ya mi "Hola mundo"  :D

Probé de hacer la compilación cruzada con QT5 pero no lo he conseguido todavía, he visto en el foro de RPi gente que tampoco le ha funcionado la compilación cruzada con QT5, aunque creo que con la versión anterior QT4 si. O sea que me toca probar con QT4 a ver si con esta versión me va y es problema de que la versión QT5 esta muy reciente todavía.

Por otro lado me he liado ha probar el Builroot (no me he podido resistir :P) y lo mismo, he vuelto a fracasar  :D, pero igual que decía anteriormente he aprendido cosas por el camino.

Mi intención era hacer una compilación de linux para la RPi incluyendo las tools de QT5.

De momento he conseguido hacer la imagen para la RPi, pero me he quedado en un punto muerto en el que no se si lo he compilado mal o es que no se crear o configurar bien los archivos de la imagen.

Una vez configurada y creada la imagen, configuraciones y root con el Buildroot me queda los siguiente:
1 archivo rootfs.tar
1 carpeta rpi-firmware
1 archivo zImage

rootfs.tar: En este tar se encuentran todos los directorios de la distribución. Se supone que tengo que extraerlo en la partición ext4 de la SD
rpi-firmware: En esta carpeta se encuentran los archivos de configuración y arranque de la RPi. Se supone que estos archivos debo copiarlos en la partición de arranque FAT32 de la SD
zImage: Este archivo es la Imagen de SO. Se supone que debo copiarla también en la particion FAT32 de arranque con la extensión .img

La cuestión es que he copiado todos los archivos y carpetas como indica el manual de Buildroot para tarjetas RPi, pero no me arranca la RPi, de hecho ni se entera, solo se enciende el led rojo de alimentación.

Bueno yo sigo persistente en el tema, a medida que tenga resultados (aunque no sean lo positivos que me gustaría que fueran) iré posteandolos aquí en el foro. Espero que al final todo salga bien y pueda poner un tutorial de como hacerlo por si alguien esta interesado...   seguimos para bingo!  ;-) :afro:

BitPIC

Desconectado manwenwe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2211
Re: SoC, SBC y otros Sistemas Embebidos
« Respuesta #87 en: 15 de Noviembre de 2013, 21:28:05 »
Prueba a crear una uImage en vez de una zImage.

Un saludo.
« Última modificación: 15 de Noviembre de 2013, 21:39:34 por manwenwe »
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: SoC, SBC y otros Sistemas Embebidos
« Respuesta #88 en: 16 de Noviembre de 2013, 11:49:18 »
Parece que con uImage al menos arranca la pantalla



Se queda ahí, no hace nada más  :huh:

voy a seguir investigando a ver...  :rolleyes:
BitPIC

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: SoC, SBC y otros Sistemas Embebidos
« Respuesta #89 en: 16 de Noviembre de 2013, 14:16:26 »
Bueno... he conseguido que aparezca algo  :D



Es la misma configuración que había hecho inicialmente con zImage. El problema estaba en que el archivo de configuración del boot estaba como kernel=zImage y yo lo había copiado como zImage.img. He añadido el .img al archivo de configuración y ha arrancado.

Ahora me aparece otro problema en el arranque:

Código: [Seleccionar]
Kernel panic - not syncing: No init found. Try passing init= option to kernel. See Linux documentation/init.txt for guidance
Cada compilación me cuesta unas horas, por lo que por hoy creo que lo dejo... pero esto seguirá  :mrgreen:

 :afro:
BitPIC


 

anything