π
<-
Chat plein-écran
[^]

question sdk graph 90+e/ portage CAS

Programmation et implémentation d'algorithmes.

Re: question sdk graph 90+e/ portage CAS

Unread postby Nemhardy » 27 May 2018, 19:10

Pour le linker script : https://github.com/Jonimoose/libfxcg/bl ... in/prizm.x

Quand je parlais du peu de contrôle offert par le SDK de Casio, c'en est un exemple, c'est un combo SDK / IDE en fait (même s'il est assez peu envisageable d'éditer du code en son sein…) ; ce qui pourrait se rapprocher le plus d'un Makefile serait alors ce fichier, je suppose : https://git.planet-casio.com/Nemh/Eigen ... /Eigen.g1w, c'est une sorte de fichier "projet" qu'il suffirait d'importer pour que le SDK sache de quoi on lui parle.

À cause des limitations de ce SDK j'avais justement commencé à travailler au passage du tout sous gcc, c'est le rôle de cette branche : https://git.planet-casio.com/Nemh/Eigen ... liberation, qui a une structure sans doute plus classique. Ça compile mais tourne approximativement : il reste quelques soucis : la transformation de la bibliothèque fournie par le SDK de Casio vers une bibliothèque utilisable avec gcc ne semble pas totalement parfaite, et les fonctions mathématiques notamment posent problème (je ne sais plus exactement quelles avaient été mes conclusions, peut être un problème de convention d'appel, ou de format des flottants, ou autre… :s).

En tout les cas, le code qui est là est destinée aux Graph *5 monochromes, et celui de gbl08ma aux fx-CG10/20 (et donc normalement G90 également), d'où les différences assez flagrantes entre les deux projets. Je n'utilisais pas d'allocateur séparé, mais Eigenmath a tendance à manquer plus rapidement de mémoire sur Graph*5 que sur fx-CG20.
La taille de l'objet memmgr.o vient sans doute de
static byte pool[POOL_SIZE] = {0};, où POOL_SIZE est défini à 128 * 1024 dans le code de gbl08ma (ici et ) ; il doit être envisageable de diminuer cette valeur dans un premier temps.
Je maintiens le portage d'Eigenmath pour les Casio monochromes, n'hésitez pas à y jeter un œil si ça vous intéresse ! :p
User avatar
NemhardyPremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 48%
 
Posts: 45
Joined: 28 Dec 2014, 22:06
Gender: Not specified
Calculator(s):

Re: question sdk graph 90+e/ portage CAS

Unread postby parisse » 27 May 2018, 19:45

Merci! J'ai modifie la quantite de ram a 256K. Il me reste a tester si ca marche sur l'emulateur, mais je ne sais pas comment y transferer le fichier .g3a.
User avatar
parisseVIP++
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 57.3%
 
Posts: 1575
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: question sdk graph 90+e/ portage CAS

Unread postby Nemhardy » 27 May 2018, 19:57

Pour l'import, il me semble de mémoire (je n'ai pas la possibilité d'avoir l'émulateur sous les yeux à l'instant, désolé si ce n'est pas ça du coup… ^^') qu'aller dans le programme «Memory» puis l'onglet «PC» puis «Import» convient pour importer des addins au format .g3a.
Je maintiens le portage d'Eigenmath pour les Casio monochromes, n'hésitez pas à y jeter un œil si ça vous intéresse ! :p
User avatar
NemhardyPremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 48%
 
Posts: 45
Joined: 28 Dec 2014, 22:06
Gender: Not specified
Calculator(s):

Re: question sdk graph 90+e/ portage CAS

Unread postby parisse » 27 May 2018, 20:07

Oui, merci!
Et ma compilation donne un programme qui tourne, sauf que l'affichage du resultat de factor(x^4-1) affiche mal les entiers et puissances, peut-etre un probleme connu ou un probleme dans les modifs que j'ai faites dans les divers composants de ma toolchain. Ceci dit c'est tres encourageant.
User avatar
parisseVIP++
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 57.3%
 
Posts: 1575
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: question sdk graph 90+e/ portage CAS

Unread postby critor » 27 May 2018, 20:25

Sur émulateur Graph 90+E, factor(x^4-1) me donne ça avec la version téléchargeable chez nous :
Image

Sur la vraie Graph 90+E, les grandes parenthèses ne sont pas affichées.
Cela fait partie des défauts déjà évoqués pour l'interface.
Certaines des fonctions graphiques utilisées se donnent la peine de récupérer l'adresse VRAM qui a changé sur calculatrices Graph 90+E
(mais pas dans l'émulateur)
, et d'autres incluent l'ancienne adresse VRAM en dur et donc n'affichent rien.
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 90%
 
Posts: 32085
Images: 8368
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: question sdk graph 90+e/ portage CAS

Unread postby parisse » 27 May 2018, 20:58

J'ai surement un probleme avec sprintf dans ma libc, car les nombres ne sont pas affiches du tout chez moi.
User avatar
parisseVIP++
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 57.3%
 
Posts: 1575
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: question sdk graph 90+e/ portage CAS

Unread postby critor » 27 May 2018, 20:59

Si besoin, il ne faut pas hésiter à partager le fichier et on testera.
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 90%
 
Posts: 32085
Images: 8368
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: question sdk graph 90+e/ portage CAS

Unread postby parisse » 27 May 2018, 21:24

J'ai reussi a corriger, non pas sprintf, mais en modifiant dans le fichier source mstr.cpp. L'adaptation de l'UI ne devrait pas poser de problemes, en tout cas pour une sortie 1-d.
Je vais me remettre a corriger dans le source de giac pour essayer de le compiler, en esperant qu'on peut faire un addin de plusieurs Mo (ca va etre tres long a charger!).
User avatar
parisseVIP++
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 57.3%
 
Posts: 1575
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: question sdk graph 90+e/ portage CAS

Unread postby parisse » 28 May 2018, 13:52

Point du jour: je n'ai toujours pas repris la compilation de giac, je voulais auparavant avoir une configuration a peu pres utilisable pour eigenmath en partant du source https://github.com/gbl08ma/eigenmath, car il y avait plusieurs anomalies: affichage des flottants et calculs des fonctions transcendantes sur les flottants. Une partie des problemes venait de la libm du PrizmSDK (pas de libm fournie dans libfxcg) et une autre du fichier libfromcasio.a (dont le nom n'inspire pas trop confiance pour utilisation avec gcc). En ajoutant mes propres fonctions pour math.h (fort loin d'etre optimales, mais pour une precision relative de 1e-14 ca suffit) et une implementation de qsort, et en modifiant a la main l'affichage des doubles (non pris en charge par le sprintf de la libc de libfxcg), ca linke sans libm et sans libfromcasio et ca a l'air a peu pres fonctionnel pour le peu que j'ai teste.
Tout ca est disponible sur https://www-fourier.ujf-grenoble.fr/~parisse/casio/. Je ne sais pas si ca resoud les problemes d'affichage sur la calculatrice hardware dont parlait critor, en tout cas ce que je peux dire c'est que tout a ete recompile avec sh3eb-elf-gcc et le SDK de libfxcg qui semble le SDK a choisir pour la graph 90 e.
User avatar
parisseVIP++
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 57.3%
 
Posts: 1575
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: question sdk graph 90+e/ portage CAS

Unread postby Adriweb » 28 May 2018, 16:19

Ce qui serait pratique, c'est de mettre en place Travis (builds automatique sur les commits github) sur un repo github, car je suis tombé sur ceci : https://github.com/ivmai/libatomic_ops/ ... #L434-L445
Et en fouillant un peu sur kernel.org, même un binaire gcc 8.1 existe pour sh4 : https://mirrors.edge.kernel.org/pub/too ... _64/8.1.0/
Donc ca peut servir pour faire des choses pas mal assez simplement, sans besoin de builder un cross gcc.
User avatar
AdriwebAdmin.
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 49.9%
 
Posts: 12353
Images: 1079
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Class: (ingénieur)
Twitter: adriweb
GitHub: adriweb

PreviousNext

Return to Programmation

Who is online

Users browsing this forum: No registered users and 1 guest

Campagne de dons
Pour nous aider à financer nos déplacements sur les salons/congrès qui vous donnent du contenu exclusif

Vous aurez droit aux avantages VIP et des goodies !
46%
-
Search
-
Featured topics
Avantages VIP et goodies pour les donateurs !
Offre TI-Planet/Jarrety pour avoir la TI-83 Premium CE avec son chargeur pour 79,79€ port inclus !
Offre TI-Planet/Jarrety pour avoir la TI-Nspire CX CAS à seulement 130€ TTC port inclus!
Jailbreake ta TI-Nspire avec Ndless et profite des meilleurs jeux et applications !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety 
-
Stats.
463 utilisateurs:
>435 invités
>22 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)