Qt pour Linux embarqué

Documents pareils
Environnements de développement (intégrés)

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Alexandre Buge Epitech 5 Promo Soutenance de stage du 01/03/2004 au 31/08/2004

Linux embarqué: une alternative à Windows CE?

[DEVELOPPEMENT SUR LA CIBLE 2440] 19 avril 2010

Programmation d'applications sur PDA

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

PloneLabs un gestionnaire de contenu pour les laboratoires

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training

Mercredi 15 Janvier 2014

Systèmes embarqués D.Rossier

Construction et sécurisation d'un système Linux embarqué. Frédéric AIME

Comment travailler avec les logiciels Open Source

Openmoko, free your phone!

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com IBM Corporation

Éléments de programmation et introduction à Java

Warren PAULUS Robin GODEFROID. C++ - Interface Graphique avec Visual Studio 2010

Service Systèmes et Réseaux

Diagrammes de Package, de déploiement et de composants UML

PostgreSQL, le cœur d un système critique

Présentation générale du projet data.bnf.fr

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

Programmation Mobile Android Master CCI

Tutoriel code::blocks

Modéliser ses fenêtres avec Qt Designer

Installation Client (licence réseau) de IBM SPSS Modeler 14.2

µrv : Realité Virtuelle

Logiciels E.Set, E.View et E.View+

CAHIER DES CHARGES D IMPLANTATION

Poste virtuel. Installation du client CITRIX RECEIVER

Présentation des PowerToy pour Windows XP

Utilisation de matériels industriels avec des outils de virtualisation open source. Open Source dans le monde industriel

Compilation croisée sous Linux et Windows

RTDS G3. Emmanuel Gaudin

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

IBM System i. DB2 Web Query for System i : le successeur de Query/400? Oui, mais bien plus!!!

Projet de développement

A Libre Ouvert. Médiathèque Jacques Ellul. le

Bases Java - Eclipse / Netbeans

4D v11 SQL BREAKING THE LIMITS * Les nouveautés

Présentation des intervenants. Pourquoi cette conférence? Logiciel libre : notions essentielles. Le logiciel libre pour les projets industriels

Manuel d installation de Business Objects Web Intelligence Rich Client.

Systèmes en réseau : Linux 1ère partie : Introduction

UltraBackup NetStation 4. Guide de démarrage rapide

Le choix? Association LoLiTa 24/02/ :04:36

Le Programme SYGADE SYGADE 5.2. Besoins en équipement, logiciels et formation. UNCTAD/GID/DMFAS/Misc.6/Rev.7

GCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1

TMS THE MUSEUM SYSTEM

Android 4 Les fondamentaux du développement d'applications Java

Single User. Guide d Installation

MANUEL D INSTALLATION DE WATCHDOC 2011 (EVALUATION)

de logiciels Web 2.0, SaaS Logiciels collaboratifs Portails pour entreprises Développement iphone, Android WebApp HTML5 Mobile marketing

Tutoriel Création d une source Cydia et compilation des packages sous Linux

LA MOBILITE : ACTEURS, OUTILS,

Rapport de stage. Développement d un logiciel de vidéoconférence : Enjeux 3. Guillaume DOTT 2009

Outils, langage et approche Android Une introduction. Nicolas Stouls lyon.fr

Espace pro. Installation des composants avec Firefox. Pour. Windows XP Vista en 32 et 64 bits Windows 7 en 32 et 64 bits

Formations Evolix Catalogue

Configuration système requise pour les grandes et moyennes entreprises

Comment installer un client Rivalis Devis factures

Procédure d installation :

Transport de marchandises (messagerie nationale, express, affrètement) ; Domaine médical (gestion administrative, paie hospitalière).

NOUVELLES FONCTIONNALITÉS DE MYQ 4.4

WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.

UE 8 Systèmes d information de gestion Le programme

GUI Client in HomeSIP Project

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

PROCEDURE D INSTALLATION DES LOGICIELS EBP EN ENVIRONNEMENT MAGRET

FORMATION TALEND. Page 1 sur 9

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

1/15. Jean Bernard CRAMPES Daniel VIELLE

Logiciel MAXPRO NVR SOLUTION D ENREGISTREMENT VIDÉO RÉSEAU

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Configuration Matérielle et Logicielle AGORA V2

Notice d Installation et d utilisation d une liaison Bluetooth avec un PDA ipaq.

X2BIRT : Mettez de l interactivité dans vos archives

SQL2005, la migration Atelier 316

Catalogue des stages Ercom 2013

Prise en compte des ressources dans les composants logiciels parallèles

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Vérifier la qualité de vos applications logicielle de manière continue

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Valorisez vos actifs logiciels avec Rational Asset Manager. Jean-Michel Athané, Certified IT Specialist IBM Rational Software

Bibliothèque numérique

Android. Présentation d Android. Florent Garin

Configuration système requise. pour les grandes et moyennes entreprises

Fiche Pratique. Présentation du problème. Installation du logiciel. Etape 1. MAJ le 17/10/2011

Transcription:

Pierre Ficheux (pierre.ficheux@openwide.fr) CTO Open Wide Ingénierie Octobre 2011 1

Qt, histoire Première version publiée par Trolltech en 1996 toolkit en C++ Développé pour X11, 2 développeurs au départ, fondateurs de Trolltech Outil multi-plateforme (Unix, Windows, MacOS) Connu grâce à KDE! Qt2 en 2000 Qtopia (PDA sous Linux «Zaurus» de SHARP) Jusqu en 2008, double licence GPL/Propriétaire En 2008, achat par Nokia LGPL Qt4: + Symbian, WinCE, Maemo,... En 2011 rapprochement Nokia / M$ licence commerciale cédée à Digia PLC 2

Qt, architecture 1/2 3

Qt, architecture 2 /2 4

Qt/Embedded architecture Client/serveur QWS = Qt Window System Basé par défaut sur le framebuffer de Linux Peut utiliser un framebuffer «virtuel» (X11) avec QVFb Une application serveur (-qws), les autres clientes Le serveur gère en général l affichage mais l application peut accéder directement à l écran pour des raisons de performances Ajout d un pilote accéléré en dérivant QScreen et QRasterPaintEngine http://doc.qt.nokia.com/4.7/qt-embeddedaccel.html 5

Principe de QWS 6

Compilation de Qt/E Basée sur qmake (sur-couche à make similaire à GNU/Autotools) Utilisation par défaut du fichier mkspecs/qws/linux-arm-g++ définition de la chaîne de compilation croisée $./configure -embedded arm -xplatform qws/linux-arm-g++ $ make; make install Configuration spéciale $./configure -embedded arm -xplatform qws/linux-myconfig-g++ Intégré à Buildroot 7

Test de Qt/E Premier test possible avec QEMU! (framebuffer non accéléré) $ qemu-system-arm -M versatilepb -m 128 -kernel zimage -initrd rootfs.gz -append "mem=128m" Nombreux programmes de test Ne pas oublier l option -qws Utiliser la variable QT_QWS_FONTDIR pour les polices : # export QT_QWS_FONTDIR=/usr/lib/fonts # /usr/examples/widgets/analogclock/analogclock -qws 8

Qt/E, exemple Webkit 9

Qt/E, exemple qtdemo 10

Consommation mémoire LE point faible de Qt Consommation de l exemple analogclock: 20 Mo Consommation de webkit: 50 Mo Consommation d une démonstration DirectFB (df_andi) : 2 Mo Qt est destiné au développement d applications «complexes»! 11

Développement multiplateforme Le même code source utilisable sur toutes les plateformes grâce à qmake : $ qmake-qt4 $ make $ file DemoNew Linux/X11 DemoNew: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped $ make distclean $ type qmake qmake est haché (/home/pierre/buildroot-2010.05/output/staging/usr/bin/qmake) $ qmake $ make $ file DemoNew Buildroot (ARM) DemoNew: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.33, not stripped 12

Environnement de développement Qt est PLUS qu un toolkit graphique! Abstraction pour sockets, threads, Unicode, SQL,... Les objets dérivent de QObject mais ne sont pas uniquement des objets graphiques, ex: QThread Les «signaux/slots» remplacent avantageusement les callbacks Prise en compte I18N Chargement dynamique d IHM 13

QtCreator 1/3 Outil WYSIWYG de création d interface IDE de développement semblable à Eclipse Edition du code Compilation (croisée) Mise au point (GDB) Les fichier d IHM Qt (.ui) sont au format XML Permet de définir des cibles X11, embedded, etc. Moins agréable que :-) 14

QtCreator, 2/3 15

QtCreator 3/3 Sélection SDK 16

Signaux/slots Callback un événement <=> une fonction Qt : Un signal (ex: clic bouton) est reçu par plusieurs «slots» après connexion 17

Prise en compte I18N Message extraits du code source (.cpp).ts (XML) Traduction avec Qt Linguist en compilé en.qm 18

Qt Linguist 19

Chargement dynamique d IHM Chargement d un.ui au démarrage pas de re-compilation des.cpp Utilisation de la classe QUiLoader QUilLoader loader; QFile file("form.ui"); file.open(qfile::readonly); Fichier créé avec QtCreator QWidget *widget = loader.load(&file); 20

Qt Quick Disponible sur la version 4.7 Programmation dynamique d'interface basée sur le langage QML (Qt Modeling/Meta Language) Intégré à QtCreator Intégrable au code Qt existant Fonctionnellement «semblable» à HTML5? 21

Les concurrents de Qt/E GTK+ : encore mal adapté au framebuffer WxWidgets : idem EFL : très bon outil (plus léger que Qt) mais pas d outil de construction. REMARQUE : La puissance des cartes embarquées augmentant, il est de plus en plus fréquent d'utiliser X11 22

Démonstration Qt/QWS avec QEMU/ARM 23

Bibliographie Linux embarqué version 3 : http://www.eyrolles.com/informatique/livre/linux-embarque-9782212124521 http://www.slideshare.net/qtbynokia/qt-on-realtime-operating-systems http://www.docstoc.com/docs/56800911/directfbintroppt---report-of-w http://qt.developpez.com/doc/4.6/requirementsembedded-linux/ http://doc.qt.nokia.com/4.7/qt-embeddedaccel.html http://doc.qt.nokia.com/4.7-snapshot/qtembedded-crosscompiling.html http://doc.qt.nokia.com/4.7-snapshot/qtembedded-linux.html 24

Questions? 25