Forums Casio - Projets de programmation

Index du Forum | Projets de programmation | fxSDK, un outil de développement d'add-ins sous Linux
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10251
Défis: 130
Message
Posté le 29/08/2014 22:00

fxSDK, un outil de développement d'add-ins sous Linux :

Le fxSDK est un ensemble d'outils en ligne de commande pour développer des add-ins sous Linux, qui simplifie l'utilisation de gint et effectue du travail en amont de l'exécution. Il effectue ainsi le travail spécifique à la calculatrice en laissant les tâches de programmation à la suite GCC.

On y trouve les outils suivants :
— GCC, l'indispensable compilateur, et sa suite : as, ld, objdump, objcopy, dont vous ne pourrez plus vous passer. Voyez le tutoriel d'installation pour vous familiariser.
— Un support partiel de libc : réécrit de zéro à part quelques syscalls pour l'allocation dynamique. Utile quelquefois.
— Gint, le noyau dur qui interface entre votre add-in et le matériel de la calculatrice. C'est la bibliothèque utilisée toutes les deux lignes par les programmes développés avec le fxSDK.
fxconv, un convertisseur multi-fonctions qui prépare vos images, polices, données pour les rendre lisibles par gint. Le prétraitement effectué sur les images, plus complexe que le classique effectué par SpriteCoder, est la principale source de performance pour les rendus.
fxos, un désassembleur d'OS capable de retrouver un syscall en un tour de poignet. Outil de reverse-engineering assez utile, il pallie au défaut d'objdump de ne pas connaître toutes les instructions du multiplieur.
fxsdk, un petit exécutable qui fournit des options de compilation et de linkage.

Le fxSDK est une méthode de développement alternative que l'on peut comparer au fx-9860G SDK. Dans cette analogie, gint serait l'équivalent de fxlib. Mais attention, les outils, les fonctions, les formats ne sont pas les mêmes, donc la transition du second au premier nécessite un peu d'adaptation !


Installer le fxSDK sur votre ordinateur

La procédure suivante installera aussi gint et vous mettra sur les rails pour commencer à développer. Je suppose ici que vous connaissez les bases de la ligne de commande, mais si ce n'est pas le cas, n'hésitez pas à laisser un commentaire pour demander.

Avant de commencer, il faut absolument que vous ayez un cross-compilateur GCC installé sur votre système ! Le fxSDK fait à votre place une partie de l'étape 7, concernant les options de compilation, mais vous aurez besoin de tout le reste. Une fois que vous aurez ça, vous aurez déjà pratiquement fini.

Clônez le dépôt git du fxSDK depuis la forge de Planète Casio. Gint s'y trouve aussi.
$ git clone --recursive "http://git.planet-casio.com/lephe/fxsdk"

Configurez le fxSDK en ajoutant des options (invoquez ./configure --help pour les voir) si vous le souhaitez, puis compilez-le et installez-le :
$ cd fxsdk
$ ./configure
$ make
$ sudo make install

Vous aurez besoin de votre mot de passe pour l'installation (dernière commande). Par défaut, les binaires sont placés dans /usr/bin et les fichiers de données dans /usr/share/fxsdk.

Ensuite, plus qu'à faire pareil pour gint. C'est le moment d'envoyer la sauce
$ cd gint
$ ./configure
$ make
$ sudo make install

Gint s'installe toujours au même endroit que le fxSDK. Vous pouvez aussi personnaliser votre compilation de la bibliothèque en étudiant les options de ./configure --help.

Vous êtes maintenant prêts à partir !


Développer des programmes avec le fxSDK

Cela revient à développer des programmes avec gint. Les tutoriels d'utilisation de gint couvrent tous les sujets liés au fxSDK dont vous pourrez avoir besoin, ce qui représente essentiellement l'invocation de fxsdk et l'utilisation de fxos.


Fichier joint

Watch me, as I build my empire with my own hands.


Nemhardy
Hors ligne
Grand maître des Traits d'Esprit
Niveau: Confirmé
Points: 1096
Défis: 54
Message
Dernier message de la page précédente :Posté le 30/08/2014 17:20 |
J'ai vu que tu avais inclus du français dans la zone avec la sortie du compilateur, du coup ça pourrait peut-être être sympa de préciser dans le tuto pour compiler GCC que enlever "--disable-nls" permet d'avoir les messages de sortie du compilateur en français, pour harmoniser le tout (et avoir un truc encore plus user friendly), tout en précisant que des messages en français réduiront la quantité de résultats si on recherche des infos à propos d'une erreur sur Google (perso je l'ai toujours en anglais, mais les erreurs sont peut-être plus compréhensibles par des débutants si elles sont exprimées en français ?).
----------------------------------
Mes programmes
Cliquer pour enrouler
Équilibrer des coefficients stœchiométriques en moins de 2500 octets sur ta Prizm : Ekisto
Ma version du moteur de calcul symbolique libre Eigenmath
Projets supportés !
Entres autres
ColorLib de Lancelot
Zelda de SmashMaster
FiXos de Kristaba
The Lingering Terror
Mes Projets futurs
(pour un futur plus ou moins proche ceci-dit…

Finir mon D.M. dans l'immédiat.
C'est hyper important
Oui
«Ceux qui exercent la profession d'herboriste-botaniste, lesquels sont de tous temps en possession de vendre des herbes ou plantes, seront soumis à la visite et inspection des gardes des apothicaires»
-- Arrêté du Conseil d'État, 30 oct. 1767

Tournois de pile ou face gratuit sur www.pilejegagnefacejegagne.com ; mon code de parrainage : aprèslundionnemhardy pour avoir 20 pièces moins chères que gratuites.




Pages: Précédente | 1, 2, 3, 4, 5, 6, 7, ... 12 | Suivante

Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10251
Défis: 130
Message
Citer : Posté le 30/08/2014 17:25 | #
Non, je pense qu'il vaut mieux laisser le compilo en anglais... la programmation en général c'est de l'anglais, et si un certain nombre des programmeurs pour caltos le sont pour "se faire la main", autant ne pas donner de mauvaises habitudes.

Après j'ai tenté de tout mettre en français, mais je me rends compte que j'ai pas réussi ; il y a encore de l'anglais dans tous ces "Source files" et autres "Header files".

Après je pense pas que ce soit forcément intéressant d'adapter l'UI pour l'anglais, donc pour l'instant je laisse comme ça.

Ajouté le 03/09/2014 à 21:24 :
Je viens de passer à Qt 5 sur mon PC. Le projet compile plus, mais je pense que ce ne sont que des différences d'API mineures.
La bêta utilisera donc la dernière version stable de Qt.
----------------------------------
Watch me, as I build my empire with my own hands.
Intelligide
En ligne
Membre de CreativeCalc
Niveau: Aucun
Points: 38
Défis: 5
Message
Citer : Posté le 03/09/2014 21:33 | #
Si tu utilises Qt5.3.1, je pense qu'il ne sera pas compatible avec vista et inférieur
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10251
Défis: 130
Message
Citer : Posté le 03/09/2014 21:34 | #
Et pourquoi pas ?
D'après qt-project.org, il est compatible avec toutes les versions de windows.
----------------------------------
Watch me, as I build my empire with my own hands.
Intelligide
En ligne
Membre de CreativeCalc
Niveau: Aucun
Points: 38
Défis: 5
Message
Citer : Posté le 03/09/2014 21:38 | #
Qt est compatible avec toutes les versions mais pas les programmes compilées avec, enfin je pense,

parce que j'avais un
à chaque lancement de mon programme
quand je suis passé à la version 5.3.1 de Qt mais je n'avais pas cette erreur si j'utilisais une version inférieur
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10251
Défis: 130
Message
Citer : Posté le 03/09/2014 21:40 | #
D'ailleurs, je ne sais même pas pourquoi je me pose la question.

T'as pas encore compris la répartition des rôles ?
----------------------------------
Watch me, as I build my empire with my own hands.
Intelligide
En ligne
Membre de CreativeCalc
Niveau: Aucun
Points: 38
Défis: 5
Message
Citer : Posté le 03/09/2014 21:42 | #
fxSDK = Linux

Dsl

:boulet:

:aie2:



:boobs: :kiss:
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10251
Défis: 130
Message
Citer : Posté le 03/09/2014 21:43 | #
Ben voilà, tu vois quand tu veux.

Parce que mettons-nous d'accord, il est beaucoup plus facile d'adapter le fxSDK pour CG ou le SDKolor pour G85 que de les adapter chacun pour windows et linux respectivement.
----------------------------------
Watch me, as I build my empire with my own hands.
Intelligide
En ligne
Membre de CreativeCalc
Niveau: Aucun
Points: 38
Défis: 5
Message
Citer : Posté le 03/09/2014 21:44 | #
lephenixnoir +1
Dark storm
Hors ligne
Administrateur
Niveau: Aucun
Points: 9838
Défis: 170
Message
Citer : Posté le 03/09/2014 21:50 | #

Je suis moins présent depuis 3 jours, qu'est-ce que je vois en faisant un tour
----------------------------------
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10251
Défis: 130
Message
Citer : Posté le 03/09/2014 21:52 | #
C'est Intelligide
J'ai quelques problèmes avec Qt 5, je vais voir ce que je peux faire.
----------------------------------
Watch me, as I build my empire with my own hands.
Intelligide
En ligne
Membre de CreativeCalc
Niveau: Aucun
Points: 38
Défis: 5
Message
Citer : Posté le 03/09/2014 21:54 | #
roh l'autre c'est toujours la faute des autres (allez j'avoue c'est pas moi , c'est mon moi n2)
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10251
Défis: 130
Message
Citer : Posté le 03/09/2014 21:55 | #
Toi aussi tu es multizophrène ?
----------------------------------
Watch me, as I build my empire with my own hands.
Intelligide
En ligne
Membre de CreativeCalc
Niveau: Aucun
Points: 38
Défis: 5
Message
Citer : Posté le 03/09/2014 21:57 | #
Non seulement octophrène(vite y a un stop)
Dark storm
Hors ligne
Administrateur
Niveau: Aucun
Points: 9838
Défis: 170
Message
Citer : Posté le 03/09/2014 21:58 | #
Stop HS, sinon ménage
----------------------------------
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10251
Défis: 130
Message
Citer : Posté le 05/09/2014 13:36 | #
J'arrive pas encore à compiler avec Qt 5. En revanche, je sais plus ou moins pourquoi.
En gros, j'ai le même bug que lorsque j'avais tenté de compiler le fxSpriter (codeur d'images) sous windows. Autrement dit, c'est purement lié à la version et une fois que j'aurai résolu ce bug je serai tranquille pour tout ce qui est compilation sous windows (même si ça ne concerne pas le fxSDK).

Pour faire simple, les classes ne sont plus reconnues... donc impossible de faire quoi que ce soit. oO
D'ailleurs, je crois que je sais d'où vient le bug, maintenant que j'y pense.

Ajouté le 05/09/2014 à 13:42 :
Bon ben voilà... problème résolu.

Avant les widgets se trouvaient dans la section de la lib appelé QtGui (qui contenait tout), et depuis Qt 5 ils se trouvent dans QtWidgets. Et comme du coup j'incluais pas ce dernier header, je n'avais aucune classe.
----------------------------------
Watch me, as I build my empire with my own hands.
Eiyeron
Hors ligne
Ancien modérateur
Niveau: Élite
Points: 5513
Défis: 57
Message
Citer : Posté le 05/09/2014 13:47 | #
Bon bah ya plus qu'à faire un émulateur!
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10251
Défis: 130
Message
Citer : Posté le 05/09/2014 13:49 | #
Je commence à me poser la question. En soi c'est facilement faisable si je prends le fls et que je le boote au bon endroit
----------------------------------
Watch me, as I build my empire with my own hands.
Eiyeron
Hors ligne
Ancien modérateur
Niveau: Élite
Points: 5513
Défis: 57
Message
Citer : Posté le 05/09/2014 13:50 | #
Il va y avoir du boulot à faire. le CPU n'est pas trop dur en théorie (la structure se rédige peu à peu du coté de FiXOS et ya celle de RFX), c'est surtout les périphs qu'il va falloir émuler et çe sera une tout autre difficulté. Si tu veux t'y mettre, je te souhaite bonne chance, car cela va pas être évident.
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10251
Défis: 130
Message
Citer : Posté le 05/09/2014 13:56 | #
Je plaisantais surtout , après à mon avis le concept de réutiliser l'OS en dur peut fonctionner.
Les périphériques, on s'en occuperait plus tard, faire tourner un fls serait déjà un beau progrès (d'autant plus qu'il ne serait je suppose, pas bridé -- à voir d'ailleurs si CASIO ne râlerait pas de ce côté-là).

Enfin ça... on verra si je m'y penche -- pour l'instant ce n'est pas prévu.
----------------------------------
Watch me, as I build my empire with my own hands.
Eiyeron
Hors ligne
Ancien modérateur
Niveau: Élite
Points: 5513
Défis: 57
Message
Citer : Posté le 05/09/2014 14:01 | #
Bah, sans les périphs comme le clavier ou l'écran... Kris m'a dit qu'un de vous avait déjà réussi à lancer la ROM (ou du moins arriver à "Initialization").

Par contre, c'est la gray zone, une fois un ému complet réalisé, il faudra être bien plus strict concernant le partage de fls... Pas de fls venant de Casio (on verra bien après pour FiXOS)

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7, ... 12 | Suivante

Index du Forum | Projets de programmation | fxSDK, un outil de développement d'add-ins sous Linux
Publicité et partenaires
Casio Education
Casio éducation

TI-Planet
Casiopeia
Casiopeia
CasioFan, la communauté ClassPad
CasioFan
CodeWalrus
CodeWalrus

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2017 | Il y a 30 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Rugby Manager | Jeu de basket | Jeu de handball | Jeu de tennis | Nova Raider | Réparation téléphone | Soccer Rush | Tasty Tale

Planète Casio est un site communautaire indépendant, géré bénévolement et n'est donc pas affilié à Casio | Toute reproduction de Planète Casio, même partielle, est interdite
Les fichiers, programmes et autres publications présents sur Planète Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des licences ou des copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd