Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » Développement d'addin et transfert sous linux
Mmaximum Hors ligne Membre Points: 82 Défis: 0 Message

Développement d'addin et transfert sous linux

Posté le 19/12/2011 15:53

Alors, voilà j'ai quelques problèmes :
* tout d'abord, est-ce que quelqu'un pourrait m'expliquer comment il arrive à faire marcher xfer9860 sous linux ?
Je l'ai compilé, et quand je le lance, ça me donne toujours ça :

--- xfer9860 v0.2.1 Copyright (C) 2007 Andreas Bertheussen and Manuel Naranjo.
[>] Setting up USB connection.. Connected!
[>] Verifying device.. Failed.

Est-ce que quelqu'un saurait comment résoudre mon problème ? Ou existe-t-il un autre programme susceptible de fonctionner ? Ou un petit patch ?

* Aussi, un second problème : actuellement, j'utilise le SDK officiel, avec wine. Mais, j'ai vu qu'on pouvait utiliser gcc. Est-ce que quelqu'un pourrait me filer un lien vers un tuto pour expliquer comment faire ??


Spoonmaster Hors ligne Membre Points: 4 Défis: 0 Message

Citer : Posté le 16/06/2012 23:51 | #


Salut, est-ce que ce topic marche encore ? Parceque j'aimerais développer pour ma casio sur ubuntu mais j'ai obtenu des erreurs lors de la construction du cross compiler gcc...
Si il n'y a pas de solution, c'est qu'il n'y a pas de problème...
Dark storm Hors ligne Labélisateur Points: 11579 Défis: 176 Message

Citer : Posté le 17/06/2012 18:10 | #


Un nouveau dévellopeur d'addins se joindrai-t-il à nous ?
Je ne suis pas sur que le compilateur marche, mais il me semble que le transfert sur Linux suscite beaucoup d'intérêt... Je laisse les personnes plus compétentes que moi te répondre
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Spoonmaster Hors ligne Membre Points: 4 Défis: 0 Message

Citer : Posté le 17/06/2012 21:13 | #


Ouais j'ai acheté une casio 75 il n'y a pas longtemps

En fait j'ai réussi à créer le cross compiler mais j'ai un problème lors de la compilation de l'exemple fourni :

compilation de main.c

/usr/local/cross/lib/gcc/sh3eb-elf/4.6.3/../../../../sh3eb-elf/bin/ld: warning: section `.bss' type changed to PROGBITS
/tmp/cc2EO0aE.o: In function `main':
(.pretext+0xe0): undefined reference to `_main'
/tmp/ccjeTQ6d.o: In function `__main':
main.c:(.text+0x7c): undefined reference to `_Bdisp_AllClr_DDVRAM'
main.c:(.text+0x84): undefined reference to `_Print'
main.c:(.text+0x8c): undefined reference to `_Bdisp_SetPoint_VRAM'
main.c:(.text+0x94): undefined reference to `_Bdisp_PutDisp_DD'
main.c:(.text+0x98): undefined reference to `_GetKey'
/home/perceval/SDK/fxsdk/libfxsys/trunk/libfxsys.a(locate.o): In function `_locate':
locate.c:(.text+0x30): undefined reference to `_locate_OS'
collect2: ld returned 1 exit status
Erreur de compilation


Peut-être le créateur du script entendra-t-il mon appel...
Si il n'y a pas de solution, c'est qu'il n'y a pas de problème...
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 17/06/2012 21:28 | #


T'as linké libfxsys.a dans ton makefile ?

Saches qu'il est aussi tout à fait possible d'utiliser le SDK Casio avec Wine.
Spoonmaster Hors ligne Membre Points: 4 Défis: 0 Message

Citer : Posté le 17/06/2012 21:50 | #


En fait c'est pas make c'est scons dans le script mais oui il est linké.
Pour wine je l'ai installé aussi mais j'ai eu du mal avec le SDK : est-il possible d'ajouter des librairies déjà compilées (ex .a et les headers qui vont avec) et si oui comment ?
Si il n'y a pas de solution, c'est qu'il n'y a pas de problème...
Kevkevvtt Hors ligne Membre Points: 819 Défis: 17 Message

Citer : Posté le 17/06/2012 21:51 | #


J'allais te donner l'astuce pour compiler binutils, mais apparemment tu l'a trouvée par toi même (perso, j'ai modifié le code pour enlever les erreurs de compilation).

Donc là, que l'on soit d'accord, tu as compilé et installé le compilateur gcc. Donc la, en l'occurence, tu as un problème avec la libfxsys (qui contient certains syscalls et les fonctions de fxlib.h)

Personnellement, j'ai viré le script de Samy pour créer le mien, personnalisé pour chaque projet :
#!/bin/bash
PATH="$PATH:/usr/local/cross/bin"


output="file.g1a"
src="main.c fichier2.c"

cd src

sh3eb-elf-gcc -m3 -mb -Os -nostdlib -T"/home/shapl0x/casio/GNU85/common/addin.ld" /home/shapl0x/casio/GNU85/common/crt0.s  $src -I/home/shapl0x/casio/GNU85/include -L/home/shapl0x/casio/GNU85/lib -lfxsys -o ../myaddin.elf

cd ..

if [ -f myaddin.elf ]
then
    sh3eb-elf-objcopy -R .comment -R .bss -O binary myaddin.elf myaddin.bin
    sh3eb-elf-objdump -D myaddin.elf > myaddin.s
    rm myaddin.elf

    if [ -f myaddin.bin ]
    then
        ~/casio/GNU85/g1a-wrapper/c_g1awrapper myaddin.bin -o $output -i icon.bmp
        rm myaddin.bin
    fi
fi

Comme tu peux le constater, la variable $ouput contient le nom du fichier de sortie. Et $src contient la liste des fichiers sources (séparés par un espace)
Pour la commande sh3eb-elf-gcc, c'est la plus complexe :
-T"..." adresse du fichier addin.ld
a la suite adresse du fichier crt0.s
-I"..." adresse du dossier qui contient les .h Donc il faut copier dedans tous les fichiers .h de libfxsys (présents dans fxsdk/libfxsys/trunk/include)
-L".." adresse du dossier qui contient les librairies (tu dois placer le fichier libfxsys.a dans ce dossier)
-lfxsys : avec ce paramètre, tu dis au compilo "je veux utiliser libfxsys.a dans mon programme". Il faut faire attention à cela, c'est source d'erreur : si tu veux utiliser libgcc.a par exemple, tu dois envoyer le paramètre -lgcc et non -libgcc. En fait, tous les noms des librairies statiques doivent commencer par lib[...].a C'est pour cela qu'il n'y pas besoin de préciser que le fichier commence par "lib"

Je pense avoir fais une description assez détaillé de mon fichier de compilation. Je signale quand même que j'ai recréer un dossier propre pour compiler, à savoir "/home/shapl0x/casio/GNU85"
dedans, j'ai un dossier include, un dossier lib, un dossier common, et un dossier projects. Chaque projet a dossier spécifique qui contient build.sh (le script de compilation), le .g1a, icon.bmp et un dossier src qui contient les sources (c'est pour ça qu'il y a "cd src" et "cd .." dans le script )

Si t'as besoin de plus d'infos, viens parler sur msn : kevkevvtt(a r o b a s e)hotmail.fr
Programmer et rouler, Je ne fais que ça
PRO CONVERT le meilleur programme de conversion sur casio !
Spoonmaster Hors ligne Membre Points: 4 Défis: 0 Message

Citer : Posté le 17/06/2012 22:34 | #


Super merci je regarde ça demain... après la philo

-------------- EDIT

Ça marche merci par contre j'ai eu un problème avec la fonction _main qui n'était pas reconnue donc j'ai mis "main" à la place -et ça marche - mais je pense que l'underscore était pas là pour rien...

Sinon j'ai aussi un problème avec xfer9860. Si j'ai bien compris c'est un problème de version de ma calculatrice et je crois que mmaximum l'a résolu le avec son interface qt mais il ne l'a pas mise en ligne...

-------------- RE-EDIT

c'est bon j'ai réglé le problème avec xfer9860
Si il n'y a pas de solution, c'est qu'il n'y a pas de problème...

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2023 | Il y a 49 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd