Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Ordinateurs embarqués (SBC) > La Mini2440 de FriendlyARM > Qt4.6 embedded sur la mini2440

Qt4.6 embedded sur la mini2440

dimanche 11 avril 2010, par Eric P.

Version du 12/11/2010

Avertissement

Cet article est en permanente mise à jour, au fur et à mesure que je découvre des choses. En effet, n’étant qu’un modeste explorateur et pas du tout un expert es Linux et consorts, je me rends compte au fur et à mesure que je progresse dans ma compréhension que ce que je croyais avoir compris s’avère en fait différent. Du coup ce que je prenais à un moment pour une solution n’était en fait qu’un heureux effet de bord d’une autre action, et donc non reproductible sur une autre configuration...

Pardonnez-moi pour ces errements, mais ainsi est faite la quête de la Vérité ;)

Objectifs

Ayant pour projet de ne pas utiliser la mini2440 comme un PDA, je n’ai donc pas besoin du Qtopia2 livré avec, ce qui permettra de récupérer de l’espace de stockage (et de la mémoire aussi). D’autre part, certaines fonctionnalités de Qt4 m’attirent vraiment. J’ai donc cherché à générer et installer la dernière version que Qt4 (4.6.2 au moment de la rédaction).

Crédits

Je ne serais jamais arrivé à cela sans les informations puisées dans divers sites Web, et notamment dans le blog de Bertrand Roussel, référencé dans l’article présentant une compilation de liens utiles. Merci donc à tous les auteurs de ces pages.

Mode opératoire

Je vais tâcher de retranscrire ici aussi fidèlement que possible les étapes que j’ai suivies, en espérant qu’elles resteront valables dans votre contexte.

Ma configuration système est une Ubuntu 9.10. Le cross-compilateur ARM gcc version 4.3.2 a été installé au préalable, à partir de l’archive disponible sur le site FriendlyARM.


Récupération des sources

La première opération est de récupérer l’archive de Qt4 everywhere qui contient tous les fichiers sources. Elle est disponible via le site Nokia, et l’archive utilisée au moment de la rédaction de cet article est
qt-everywhere-opensource-src-4.6.2.tar.gz. Décompressez le tout et placez le résultat dans un répertoire quelconque, que sera désigné dans la suite de cet article par <QTE_HOME>.


Pré-configuration

Avant de pouvoir configurer la génération via la classique commande configure, il est nécessaire de... configurer configure afin de l’adapter au contexte de la carte. Pour cela, il faut éditer le fichier :
<QTE_HOME>/mkspecs/qws/linux-arm-g++/qmake.conf, qui est le fichier de configuration du sur-make de Qt.

Les modifications à faire sont :

Ajouter les options spécifiques au compilateur fourni par FriendlyARM [1]

Si on utilise le compilateur version 4.3.2 fourni sur le site FriendlyARM en date de rédaction, il faut utiliser quelques options spécifiques pour éviter que l’exécution des applications sur la carte ne se solde par un Segmentation Fault.

Ajoutez simplement les lignes suivantes à qmake.conf :

QMAKE_CFLAGS_RELEASE += -msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv4 -mtune=arm920t
QMAKE_CXXFLAGS_RELEASE += -msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv4 -mtune=arm920t
QMAKE_CFLAGS_DEBUG += -msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv4 -mtune=arm920t
QMAKE_CXXFLAGS_DEBUG += -msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv4 -mtune=arm920t

(je n’ai pas essayé la configuration debug, et ne peux donc pas garantir que les deux configurations xx8DEBUG sont correctes. Merci de me signaler s’il y a un problème)

A noter que pas mal de pages Web indiquent de désactiver l’optimisation de compilation comme correction du problème. Ca marche également, mais au prix d’une dégradation très notable des performances d’exécution, ainsi que d’une augmentation de la taille des binaires. Jusqu’à preuve du contraire cette manière de gérer le problème semble donc préférable.

Rendons à César ce qui est à César au passage. La source de cette information qui n’a pas de prix est : http://wiki.linuxmce.org/index.php/.... Vous pensiez que j’avais trouvé cela tout seul ? Ben non, navré de vous décevoir ;)


Configuration

TRES IMPORTANT

Pour vous éviter de vous prendre à la figure un message d’erreur prétendant une erreur de configuration de tslib, pensez à inclure le répertoire des exécutables du cross-compilateur dans le path avant de lancer la commande configure. Vous risquez sinon de vous arracher les cheveux à comprendre ce qui se passe avec tslib, à chercher à le recompiler (ce qui n’est pas forcément utile car déjà sur la carte) et à vous battre avec ses propres problèmes de compilation.

Ce genre de souci peut être diagnostiqué en ajoutant l’option -verbose aux arguments de configure, et vous pourrez alors constater que l’erreur de la configuration de tslib vient du fait que le script n’arrive pas à lancer le compilateur. Or tslib étant considéré comme obligatoire du fait de la présence de l’option -qt-mouse-tslib (cf ci-après), toute erreur à cette étape est considérée comme un échec de configuration. Je précise cela car si vous regardez de près les messages produits en mode verbose, vous constaterez que la même erreur est détectée pour un bon lot d’autres caractéristiques avant tslib, sans que cela ne génère le message fatail. Il se trouve que ces autres caractéristiques de configuration sont considérées comme optionnelles, et sont donc désactivées par le processus de configuration.

Voilà, maintenant que vous savez tout et que vous avez mis à jour votre path [2], vous pouvez lancer la commande suivante :

./configure \
    -embedded arm \
    -xplatform qws/linux-arm-g++ \
    -prefix /usr/local/Qt \
    -qt-mouse-tslib \
    -little-endian

Pour ce qui est de la signification des options en général, reportez-vous l’aide de configure (configure -help). C’est le seul endroit pour le moment où j’ai trouvé les détails en question, et ça a le mérite d’être l’information de référence.

Pour gagner du temps et si vous n’envisagez pas de générer certaines parties de Qt (comme les exemples ou les démos), il est possible de les exclure du processus de configuration par l’option -nomake <component-name>. Par exemple :

-nomake examples

Pour ma part j’utilise cette version de la commande, qui économise pas mal de temps de processus et de compilation ensuite, et réduit également la taille du bazar :

./configure \
    -embedded arm \
    -xplatform qws/linux-arm-g++ \
    -prefix /usr/local/Qt \
    -little-endian \
    -opensource \
    -confirm-license \
    -silent \
    -qt-mouse-tslib \
    -no-qt3support \
    -nomake demos \
    -nomake examples \
    -nomake translations \
    -nomake tools

Les options ajoutées sont :

-opensource c’est juste pour éviter de devoir répondre à la question sur le choix de licence
-confirm-license idem pour ne pas avoir à taper "yes"
-silent réduit le nombre de messages produits
(à supprimer si les choses vont de travers, voire à remplacer par -verbose pour diagnostiquer les problèmes)
-no-qt3support si vous n’avez pas de code utilisant Qt3 à porter, le support de cette ancienne version n’est pas utile
-nomake demos pas de génération des programmes de démo
-nomake examples pas de génération des programmes d’exemple
-nomake translations si vous n’avez pas besoin de faire du multiligue "automatique"
-nomake tools on ne va pas exécuter les outils Qt sur la carte, donc pas besoin de les cross-compiler

Au cas où on souhaite remettre la configuration à zéro, utilisez la commande :

make confclean

A noter qu’un script config.status est créé avec les options passées en argument, afin de relancer la commande sans devoir tout retaper.


Compilation

Lancez tout simplement make pour la compilation complète, ou éventuellement make sub-xxx pour générer un composant particulier.

Si votre machine dispose d’un multi-coeur, pensez ajouter l’option -j<n> la ligne de commande, qui aura pour effet de demander make de paralléliser plusieurs travaux. La règle pour déterminer n est 1.5 ou 2 fois le nombre de processeurs physiques. Sur mon core 2 duo, j’utilise -j4, et ai la satisfaction de voir l’indicateur de charge à 100% pour tous les processeurs (sinon on voit une charge de 100% passer en alternance d’un processeur à un autre).

Attention : tout n’est pas toujours si rose... Il m’est arrivé d’avoir des erreurs de make qui avaient tout l’air d’être causées par une chronologie incorrecte des builds lancés en parallèle, car elles faisaient référence à des éléments de librairies non disponibles. Pour vous éviter des migraines, et au prix d’un temps de génération plus long, essayez dans ce cas sans l’option -j. J’ai constaté ce problème en reproduisant la manip de génération des libs Qt sur une autre machine, et l’ai résolu de cette manière. L’autre option est de relancer la commande. Comme une partie des binaires est déjà là, l’agencement des tâches parallèles va alors être différent. Ben non, ce n’est pas une science exacte...

Prenez le temps de boire un café, manger, regarder un film,.... car il y en a pour un moment si vous avez lancé une make complet (ie sans paramètre).

Le set minimal de composants semble être :

make sub-tools-bootstrap sub-moc sub-rcc sub-uic sub-corelib \
  sub-xml sub-network sub-gui 

Si vous recevez une erreur relative à zlib, vérifiez que les librairies de développent zlib sont installes sur votre système.

Si tout se passe bien, vous allez obtenir les librairies dynamiques (.so) dans le sous-répertoire lib. Il ne reste plus qu’à les installer sur la mini2440 par le moyen de votre choix (ftp, copie sur carte SD, génération d’un root file system,....


Installation des librairies

Sur la mini2440, vous pouvez soit :
 copier les .so dans le répertoire /lib (en tant root)
 les installer dans un autre répertoire, et ajouter son path dans le fichier /etc/ld.so.conf qui indique au système où il peut trouver les .so au moment où il a besoin de les charger.

A noter que je n’utilise pas make install pour plusieurs raisons :
 un peu overkill pour copier juste quelques fichiers
 présente le risque de polluer une installation de Qt pour le Linux de la machine de développement si on ne fait pas attention
 si on utilise des chemins différents pour la version embarquée et pour la version de la machine de développement, afin d’éviter le problème ci-dessus, il faut que ces chemins soient reproduits à l’identique sur la mini2440, sinon vous serez gratifiés d’un message d’erreur à l’exécution, relatif au fait que le répertoire des fonts n’a pas été trouvé (le chemin utilisé pour la génération est stocké quelque part dans les libs apparemment)

De plus j’ai noté que make install copie toute la planète et pas seulement les .so. Ca se comprend dans la mesure où le résultat est supposé être l’environnement utilisé pour le développement des applications ensuite, d’où la nécessité des includes et autres fichiers, mais dans notre cas de figure on les a déjà dans l’arborescence qui a permis de produire les librairies. Alors ça fait un peu double emploi. Ceci étant, il se peut que je n’aie pas tout compris, donc à prendre avec les réserves habituelles.


Configuration de l’environnement système

Toujours sur la mini2440, créez le fichier /etc/qt4-env avec le contenu suivant :

export TSLIB_TSEVENTTYPE=INPUT
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/ts
export TSLIB_CALIBFILE=/usr/local/etc/ts.calib
export TSLIB_CONFFILE=/usr/local/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/local/lib/ts
export QWS_MOUSE_PROTO=tslib:/dev/input/ts

Ce fichier définit toutes les variables d’environnement nécessaires Qt et tslib pour fonctionner. Pour qu’il soit pris en compte lors de l’initialisation du système, ajouter dans /etc/profile la ligne :

source /etc/qt4-env

A noter que le nom du fichier n’a pas d’importance particulière.

Pour que le touchscreen soit automatiquement défini, ajouter également dans ce fichier la ligne :

mknod /dev/input/ts c 13 64

Cela définit le device /dev/input/ts représentant le touchscreen, de type caractère et associé aux identificateurs MAJOR=13 et MINOR=64

ATTENTION :

Ces ids sont dépendants du type d’écran installé. Pour les obtenir, afficher le contenu du fichier /sys/devices/virtual/input/mice/dev. Ainsi les écrans 3.5" et 7" auront le même MAJOR mais des MINOR différents (63 pour le 3.5" si je me base sur ce qu’on peut trouver sur le net, mais c’est à vérifier car je n’en ai pas). Pour tout savoir sur les MAJOR/MINOR numbers : http://www.linux-tutorial.info/modu...

Comment savoir que c’est là qu’il faut chercher ?

/sys/devices/virtual contient les descripteurs des devices virtuels créés en fonction du hardware. Notre écran tactile émulant en fait une souris, il est assez logique de le trouver au niveau des inputs de type souris.

A noter qu’on retrouve les mêmes informations dans le fichier /sys/devices/virtual/input/input0/event0/dev. Mais c’était moins intuitif à dénicher.


Le mot de la fin

Voilà. Avec cela vous êtes maintenant prêts pour développer des applis Qt4 pour la mini2440 et les exécuter.

N’oubliez pas que si comme moi vous lancez l’application directement lors du démarrage de la carte, il n’y a pas de serveur actif. Ce n’est pas grave car la version embedded permet d’embarquer ce serveur dans l’application elle-même et de le lancer lors de son démarrage.

Il suffit d’ajouter l’option -qws la ligne de commande qui lance votre application. On peut s’économiser cela en initialisant l’objet application en mode serveur embarqué, via l’argument QApplication::GuiServer du constructeur C++ :

QApplication app(argc, argv, QApplication::GuiServer);

Plus besoin de -qws maintenant lors du lancement de l’exécutable. Si vous l’avez laissé, ce n’est pas grave, il n’aura pas d’effet priori.

Rendez-vous dans un prochain article pour entrer dans une appli Qt4 pour la mini2440.


[1mise à jour du 14/11/2010

[2si vous ne souhaitez pas modifier PATH de manière permanente, par crainte d’interférence avec d’autres outillages, vous pouvez le faire en tête de la ligne de commande de configure, la modification d’environnement n’ayant alors de valeur que pour la commande exécutée. La ligne de commande devient alors :
PATH=<path-vers-les-binaires-de-arm-gcc> :$PATH ./configure ...

Vos commentaires

  • Le 14 avril 2010 à 10:15, par Arnaud En réponse à : Qt4.6 embedded sur la mini2440

    Bravo.

    Beau Tuto, c’est le premier qui ne m’a pas posé de problème :).
    Le seul souci que j’avais, c’était cette erreur de configuration incriminant la TsLib. Maintenant, j’ai d’autre soucis, mais au moins j’ai réussi à cross compiler QT.

    Aucun tuto ne mentionnait cette erreur, tu es le premier à m’avoir débloqué.
    Je t’en remercie.

    Je suis entrain de réaliser mon propre tuto avec mon expérience sur la SBC2440, je te le donnerai si tu le désire.

    Bon Courage,
    Arnaud.

    • Le 15 avril 2010 à 19:45, par Eric P. En réponse à : Qt4.6 embedded sur la mini2440

      Merci pour le compliment :)

      J’avoue que cela me rassure également, car le problème de ce genre d’article est qu’on n’est jamais certain que ça va marcher de la même manière sur d’autres configurations que la sienne. Il y a tellement de choses qui peuvent entrer en jeu, qu’il faut être très fort pour prévoir ce qui va arriver.

      Par exemple, je n’avais pas eu le problème "tslib" lors de ma première tentative, car c’était une machine sur laquelle j’avais fait des essais préalables du compilateur croisé avant de m’attaquer à Qt, et avait donc rajouté son répertoire dans le PATH de manière permanente. Du coup configure n’avait pas eu de problème au moment de faire les tests de tslib. Sur la deuxième machine, j’ai tout installé au moment de l’aventure Qt, et le cross-compilateur n’était donc pas dans le PATH.

      Ben oui, encore un coup de Murphy :)

      Pour ce qui est de ta proposition concernant ton tuto, je suis bien entendu intéressé, et je pense que je ne serai pas le seul. C’est donc avec plaisir que nous l’ajouterons aux liens déjà référencés dans cette rubrique.

      Cordialement

      Eric

    • Le 16 avril 2010 à 10:19, par Arnaud En réponse à : Qt4.6 embedded sur la mini2440

      J’ai réussi à compilé en utilisant ton tuto.
      Par contre je n’ai pas réussi à exécuté ni une application QT, ni une application C toute simple (-sh : helloWorld notFound).

      Je pense que j’ai certaines librairies qu’il utilise et qui ne sont pas compilées avec ce cross compilateur.

      J’avais il y a quelques temps, installé un autre cross compilateur. Là je n’ai pas réussi à compiler QT (avec tslib). J’ai donc fait l’essai de le compiler sans.
      Là j’arrive à exécuter une appli C, une appli Qt console et Gui.( par contre j’ai pas accès au touchscreen, normal car pas de tslib.

      Je vais me pencher plus sérieusement sur l’installation du cross-compilateur et de la TsLib. Car si ces 2 installations ne sont pas bien faite, je n’aurais que des problèmes.
      Je mettrais tout ça sur mon tuto, et te l’enverrai.

      Cordialement,

      Arnaud

    • Le 16 avril 2010 à 12:29, par Eric En réponse à : Qt4.6 embedded sur la mini2440

      "helloWorld not found" veut peut-être dire que tu as oublié "./" devant. Linux n’est pas comme Windows et le répertoire courant n’est pas dans le path de recherche par défaut. S’il s’était agit d’un problème d’exécutable, ou de lib, ou autre cause, tu aurais eu droit à un SegFault, ou un message disant qu’il ne trouve pas une lib (ce qui n’est pas le cas pour le hello world, car il n’utilise pas de lib dynamiques).

      Pour ce qui est du tslib, je n’ai pas cherché à le recompiler ou autre. J’ai juste utilisé celui qui était déjà dans le Linux de la carte.

    • Le 21 avril 2010 à 11:12, par dlewin En réponse à : Qt4.6 embedded sur la mini2440

      Concernant la TSLIB avant le make un bon coup de :

      export TSLIB_TSEVENTTYPE=INPUT
      export TSLIB_CONSOLEDEVICE=none
      export TSLIB_FBDEVICE=/dev/fb0
      export TSLIB_TSDEVICE=/usr/input/ts
      export TSLIB_CALIBFILE=/usr/etc/pointercal
      export TSLIB_CONFFILE=/usr/etc/ts.conf
      export TSLIB_PLUGINDIR=/usr/lib/ts
      export LD_LIBRARY_PATH=/usr/local/Qt/lib
      export QTDIR=/usr/local/Qt
      export QWS_MOUSE_PROTO=tslib :/usr/input/ts

      peut résoudre pas mal de problèmes

      et pour un écran 7" :

      export QWS_DISPLAY=LinuxFB:mmWidth=310:mmHeight=190

      Et je suis d’accord pour constater aussi que pas mal de tutos existent qui ne donnent pas la raison pour leur instructions .Ce qui est long en soi c’est vrai.

    • Le 21 avril 2010 à 22:51, par ? En réponse à : Qt4.6 embedded sur la mini2440

      Tout à fait exact.

      C’est d’ailleurs ce à quoi sert le fichier qt4-env que je suggère de créer, et de "sourcer" ensuite.

    Répondre à ce message

  • Le 18 avril 2010 à 03:25, par Neyna En réponse à : Qt4.6 embedded sur la mini2440

    Déjà bravo pour le tutorial, c’est sympa.

    Sinon j’ai aussi le soucis de tslib mais les liens suivant aideront surement les futurs lecteurs :
    http://www.qtforum.org/article/23510/problems-with-tslib.html
    et
    http://tslib.berlios.de/

    Mon soucis est :

    mknod /dev/input/ts c 13 63

    mknod : /dev/input/ts : Operation not permitted

    Une idée du problème ? (je suis bien en root)

    Ce sont les bons "magic numbers" :

    more /sys/devices/virtual/input/mice/dev

    13:63

    Merci d’avance

    • Le 18 avril 2010 à 18:58, par ? En réponse à : Qt4.6 embedded sur la mini2440

      Je n’en ai malheureusement aucune idée.

      Est-ce avec le système fourni avec la carte ou bien avec un système "fait maison" ?

    • Le 18 avril 2010 à 22:08, par Neyna En réponse à : Qt4.6 embedded sur la mini2440

      C’est un système fait maison (buildroot) monté en nfs, je n’ai que le kernel sur la nand. Et bientot je vais le charger aussi dynamiquement par tftp histoire de simplifier encore les choses et d’éviter d’écrire sur la nand à chanque changement.

      J’ai trouvé la source du problème, c’est le montage NFS qui ne permet pas de créer ce type de noeud. Je l’ai donc créé avec le système hôte.

      Tu utilises un rootFS perso aussi ?
      Concernant buildroot c’est assez sympa et bien fait mais basé sur la micro lib C ce qui pose des petits problèmes de compilation des programmes persos. Je vais tenter une compilation de buildroot avec une chaine externe pour avoir la libC standard.

      Si tu as une ébauche de document pour la compilation d’appli QT (meme un brouillon) je suis preneur car pour l’instant je développe avec SDL mais il ne prend pas en compte le touchscreen et je galère a trouver comment faire.

      Merci pour ton premier article au fait qui m’a fait acheter la carte pour ajouter la vision à mon robot :)

      A bientôt :)

    • Le 18 avril 2010 à 23:24, par Eric P. En réponse à : Qt4.6 embedded sur la mini2440

      J’utilise pour l’instant le Linux livré avec la carte. Je me suis lancé dans OpenEmbedded par curiosité, mais pour l’instant ce n’est pas ma priorité, tant que le système en place me permet de faire ce que je veux.

      Pour ce qui est de la compilation d’applis Qt, je n’ai rien fait de spécial. Il suffit de définir dans QtCreator un environnement de compilation correspondant à Qt Embedded et au cross compilateur ARM, de le définir comme la toolchain à utiliser pour le projet, et c’est tout.

      J’ai commencé par recompiler des exemples comme applauncher (dans les démos sur les animation), que j’ai modifiés peu à peu pour y intégrer que serveur QWS, ne plus avoir le pointeur de la souris, et autres personnalisations via les fonctions incluses dans Qt.

      Pour ce qui est de la tslib et le reste, je n’ai rien fait de plus que ce que je décris dans ce tuto. J’ai conservé la tslib inclus d’origine sans chercher à la recompiler... puisqu’elle marchait déjà.

      Je suis content par ailleurs que cet article t’ai incité à tester cette carte, car je ne suis pas du tout un spécialiste du sujet. Juste un curieux. En fait je n’ai la carte que depuis très peu de temps, et me suis mis à Linux en fin d’année dernière seulement.

    • Le 19 avril 2010 à 00:30, par Neyna En réponse à : Qt4.6 embedded sur la mini2440

      Je n’ai personnellement pas aimé le linux fourni. Il n’est pas standard rien que pour le démarrage des services.
      De plus l’archive demande supervivi qui n’est pas terrible. U-boot est bien plus puissant, par exemple le système de fichiers est sur ma machine de dev et la mini2440 s’y connecte en nfs, je peux donc cross compiler et executer juste derrière sans rien de plus à faire. LE noyau peut aussi être chargé à chaque démarrage de ma machine de dev ce qui est bien sympa quand on doit recompiler plein de fois pour chercher un module.

      OpenEmbedded est plus complexe que buildroot mais je crois que je vais devoir y passer si je n’arrive pas a compiler buildroot avec une toolchain externe. Si tu as besoin d’un fileroot perso je te conseille de commencer par buildroot car il te permet de choisir parmis un grand ensemble de packages à compiler comme QT, les tools i2c etc ..

      Je ne suis pas un pro des systèmes embarqués je débarque dedans aussi. C’est par curiosité et défi que je me suis lancé dedans :)

      Pour QT j’essayais de faire à la main je vais essayer avec QT creator. Merci.

    • Le 21 avril 2010 à 11:32, par dlewin En réponse à : Qt4.6 embedded sur la mini2440

      Eric,

      si ça intéresse quelqu’un après un peu de temps, j’ai un OE qui fonctionne (j’ai des cheveux en moins maintenant) il y à pas mal de config à mettre en place, mais il faut reconnaitre que j’ai obtenu des résultats très complets (avec l’option QT) :
       image à flasher en JFFS2
       image pour démarrer avec SD card
       image compressée

    • Le 21 avril 2010 à 23:36, par neyna En réponse à : Qt4.6 embedded sur la mini2440

      Je suis preneur de ton environnement OE car je compte m’y mettre pour remplacer buildroot (pour des raisons de libc).

      Si tu as gardé des notes de tout ce que tu as configuré aussi ca serait pas mal.

    • Le 23 avril 2010 à 10:49, par dlewin En réponse à : Qt4.6 embedded sur la mini2440

      Je te propose autre chose : je suis en train de créer un tuto sur ce sujet(cf le blog que je viens de mettre en place pour l’occasion) que je proposerai en première lecture (Eric je crois que tu es d’accord là-dessus) et dans ce cas il sera publié ici s’il est utile à quelqu’un.
      La difficulté c’est d’être réactif : comme je souhaite être clair avec des graphiques et un minimum de présentation, cela prend pas mal de temps.

    Répondre à ce message

  • Le 25 avril 2010 à 11:05, par ? En réponse à : Qt4.6 embedded sur la mini2440

    Le nombre de commentaires sur cette page devenant impressionnant, et ces commentaires étant soumis à modération (ce qui ajoute une contrainte aussi bien aux auteurs qu’aux administrateurs du site), je suggère de déplacer les discussions dans le forum consacré à la Mini2440.

    Le forum est beaucoup plus simple d’utilisation pour ce type de discussion suivie, et tout le monde y gagnera en agrément.

    Faites-le s’il vous plaît, car nous ne validerons plus les commentaires publiés sur cet article à compter de maintenant.

    IMPORTANT : Cette remarque est valable pour tous les articles de la rubrique Mini2440.

    Répondre à ce message

  • Le 19 avril 2010 à 18:34, par ? En réponse à : Voilà mon tuto

    Voilà mon Tuto : http://dl.free.fr/biUsIbIre

    Je vais bientôt le mettre sur mon espace perso free, mais j’attends qu’il soit validé par l’équipe de Free, ça devrait prendre 2 jours normalement. En attendant je l’ai mis sur dl.free

    Sinon, je précise que j’ai travaillé sur une sbc2440-III. Ce ne doit pas être tout à fait le même type de carte ni le même noyau linux, même si il y a des similitudes.

    Par exemple, moi je n’avais pas la Tslib intégrée dans le noyau.

    Sinon pour mon problème de Cross Compilateur, j’ai finalement utilisé le cross-compilateur donné dans le CD, et là pas de problème. J’arrive à faire tourner mes applis QT.

    PS : je redonnerai le lien une fois mis sur mon espace perso, + les outils que j’intègrerai.

    • Le 21 avril 2010 à 00:08, par ? En réponse à : Voilà mon tuto

      Chouette tuto, mais juste une remarque : il manque des explications à la raison d’être des commandes ou éditions de fichiers scripts ou de config.

      Par exemple, on peut se demander pourquoi on ajoute les lignes relatives aux options de compil (d’ailleurs, je ne me souviens pas que tu aies mentionné que ces lignes étaient relatives à ce point précis). Personnellement je ne me suis pas demandé à quoi cela servait, mais d’autres risquent de se poser des questions. Surtout si un jour ce problème d’optimiseur disparait.

      C’est le reproche que je fais à beaucoup de tutos et pages Web disponibles : ils listent ce qu’il faut faire, mais pas pourquoi il faut le faire. Du coup, si ça ne marche pas, on est désarmé pour essayer d’y remédier.

      En fait, il ne faut pas oublier le côté pédagogique du document. Le lecteur doit avoir appris quelque chose, et pas uniquement se retrouver avec un mode d’emploi à suivre à la lettre sans trop savoir ce qu’il fait.

    • Le 23 avril 2010 à 10:55, par dlewin En réponse à : Voilà mon tuto

      un chouette tutoriel.
      Plutôt que chacun mettre des sujets identiques dans son blog/site, on pourrait peut-être alimenter le Pobot avec. Ce qui n’empêche pas de publier son article sur ton blog, ce que j’ai l’intention de faire d’ailleurs.
      Ceci n’engage que moi bien sur.

    • Le 23 avril 2010 à 16:53, par Arnaud En réponse à : Voilà mon tuto

      Je suis d’accord qu’il manque des explications dans mon tuto.

      A la base ce tuto était juste un aide mémoire pour moi. Vu comment j’ai galéré à configurer et installer QT sur la carte, j’ai décidé de le laisser à disposition de tout le monde sur Internet.

      J’ai expliqué en gros dans l’intro pourquoi faire toute ces étapes, mais c’est vrai que je n’ai mis aucune explication sur les différentes commandes à utiliser. Je le modifierai si j’ai un temps libre.

      Si vous voulez regrouper les tutos, utiliser / modifier une partie ou la totalité de mon tuto, il n’y a pas de problème. Il est à libre disposition.

      ***************************************

      Sinon concernant QTembedded, j’aimerai savoir si il n’y a pas de problème de ralentissement ou de rafraichissement sur vos applis QT, et comment y remédier.
      Par exemple moi, je met 1/2 seconde pour appuyer sur un bouton et effectuer la tache.
      J’ai vu sur le forumQT que certains mettaient 5s pour changer de fenêtre.

    Répondre à ce message

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.