Viendo lo que has conseguido en tan poco tiempo en windows estoy por volver a él porque en Linux me estoy volviendo loco
. Además que los demás IDEs y herramientas que uso los tengo en windows.
A mi ya me funciona al 100% bajo Windows, si no eres linuxero, vale la pena seguir con Windows.
Una cosa, veo que con el GNUTOOLCHAINS dependes un poco de SysProg en cuanto a compilador GCC. Mi idea principal para iniciarme en el mundo QT era para aprender a programar SOM y SBC de uso profesional.
No, que va, no dependes para nada de Sysprogs, date cuenta de que lo que facilita Sysprogs son realmente "
instaladores", ellos han cogido todo el software gratuito (GCC, GDB y Binutils), lo han empaquetado y han creado un instalador, para facilitar la tarea de instalarlo todo del tirón, pero TODAS las herramientas las puedes conseguir individualmente en las web correspondientes, y totalmente gratis.
Por ejemplo GCC para ARM que también incluye GDB (gestor para hacer Debug), lo tienes en esta web:
https://launchpad.net/linaro-toolchain-binariesDe hecho el instalador de Sysprogs te está instalando la versión 4.6.3 de GCC, cuando la versión actual ya va por la 4.8.2, quiero bajarla y probarla para tener siempre la última versión.
Y en cuanto al QTCrosstool, no es más que un programa que conecta con la tarjeta por SSH y se descarga al PC, varios directorios de usuario, para tenerlos sincronizados, eso mismo lo puedes hacer a mano conectando con Smartty, Putty o cualquier otro programa con soporte SSH, y bajarte archivos o directorios completos.
Me surgen las siguientes dudas:
¿Es posible desde windows programar una SBC o SOM profesional con las herramientas que has usado en windows?
Seguro que si, solo tienes que conseguir el compilador adecuado, a mi me parece que GNU GCC para ARM, soporta todos los procesadores ARM, y si sale alguno nuevo, lo van añadiendo en nuevas versiones del compilador. Por ejemplo, he visto en la web de Sysprogs, que también facilitan un instalador del Toolchain para los STM32, lo quiero probar porque me parece que con Qt también se podrían trabajar con estos micros, el entorno es muy cómodo e infinitamente más fácil de configurar que Eclipse.
No creo que los fabricantes de micros, se dediquen a diseñar compiladores, creando productos cerrados que les van a matar el mercado.
¿El compilador es genérico para todas lass SBC o SOM o hay que usar uno especifico que proporcionará el fabricante?
No se ahora mismo que familias de micros ARM soporta GCC, por ejemplo la versión ARM Embedded soporta Cortex-M0/M0+/M3/M4, Cortex-R4/R5/R7, y el linaro soporta seguro los SOC de la RPI y la BBB. Tengo la sensación de que cualquier micro ARM, se puede trabajar con GCC.
¿Los toolchais que ofrece Sysprog sirven para gran cantidad de SBC y SOM o es un poco limitado?
Sysprogs, como he comentado, lo que facilita son instaladores de toolchains que incluyen GCC, GDB y Binutils, puedes prescindir de esos instaladores e instalar manualmente cada producto por separado, aquí tienes compiladores GCC ARM para varias plataformas:
https://launchpad.net/linaro-toolchain-binarieshttps://launchpad.net/gcc-arm-embeddedLas Binutils:
http://www.gnu.org/software/binutils/Make:
http://www.gnu.org/software/make/Como hasta ahora lo estoy haciendo todo a mano en Linux supongo que más o menos la complejidad será parecida, pero si con las toolchais de Sysprog tienes un buen abanico de opciones me plantearía usar de momento esas herramientas por la facilidad de uso.
Para la instalación inicial es lo ideal, te lo dan todo mascado, si luego quieres actualizar a versiones más actuales, ya habrá que ir a las web de cada proyecto (GCC, GDB, Binutils, Qmake, Make).
Buenso pongo aquí un resumen de lo aprendido hasta ahora, a ver si van quedando claras las ideas:
HOST:
- Instalar QT
- Instalar compilador GCC para correr en tu TARGET
- Instalar las librerías QT Embedded
- Configurar el qmake con los parámetros de tu TARGET y las librerías GCC que vas a usar (Especificar directorios de las librerías GCC correctamente)
- Configurar en QT el compilador y el qmake de tu TARGET y crear el KIT
TARGET:
- Instalar librerías GCC en el mismo directorio que en el HOST
- Instalar librerías QT Embedded en el mismo directorio que en el HOST
- Y por ultimo crear tu aplicación en el HOST y transferirlo al TARGET.
En el kit también tienes que definir el path de mkspecs, para que el compilador encuentre el qmake.conf adecuado, y en el proyecto (archivo .pro) hay que definir unos parámetros para que funcione el deployment para el vuelco automático del binario a la tarjeta y para el Debug.
Por cierto, ayer estuve probando el Debug, y va de fábula.