570

Et intégrer GDB/Insight directement à l'émulateur comme ça a été fait pour TiEmu/Emu-TIGCC, ça ne te tenterait pas? smile
avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

571

Je doute que l'intégration directe n'ait que des avantages techniques.
avatarMembre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

572

Personnellement ça ne me pose pas de problème de le lancer en 2 fois.
Les fenêtres GDB qui sortaent de TiEmu comme un diable ça m'a fait toujours un peu peur.

573

Le boot2 1.1.8981 a été dumpé grâce à critor !
Il s'agit du boot2 pré-installé à l'usine.

574

Super ! top
avatarMembre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

575

ExtendeD (./573) :
Le boot2 1.1.8981 a été dumpé grâce à critor !
Il s'agit du boot2 pré-installé à l'usine.


Et aussi grâce à toi! wink
Mais merci quand même pour la citation.

576

ExtendeD (./572) :
Les fenêtres GDB qui sortaent de TiEmu comme un diable ça m'a fait toujours un peu peur.

Il n'y a qu'une seule fenêtre GDB (Source Window) par défaut dans la version la plus récente, ainsi qu'une seule fenêtre du débogueur bas-niveau (le dock). Et quand tu n'es pas en train de déboguer, ces fenêtres sont cachées.
avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

577

Ok je regarderai.
Par contre je doute qu'embarquer ça dans l'émulateur soit compatible avec l'esprit de concision de Goplat.

578

Je n'arrive pas à downgrader le boot2, et je n'ai pas de connexion RS232 fonctionnelle pour y voir clair.
Quelqu'un peut essayer de son côté ?

579

L'interêt d'être multi frontal de debug c'est de pouvoir utiliser IDA avec tous nos petits symboles love

IDA%20-%20CDocuments%20and%20SettingsOlivierMes%20documentsDocumentsDeveloppementTInspireboot2boot2_decomp.idb%20(boot2_decomp.bin)%2024012010%20154522.jpg

Par contre IDA passe par des breakpoints logiciels en modifiant la mémoire et en générant des exceptions, c'est pas vraiment du goût de nspire_emu, faut que je regarde ça.

580

love
C'est une bonne raison technique de fournir un accès à l'extérieur oui
avatarMembre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

581

En tout cas c'est jolie tout plein ce debugguer. smile
avatarla Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

582

GDB se perd lors de l'appel des fonctions de l'OS, par exemple un "step" par dessus une fonction se comporte comme un next, et un finish depuis une fonction de l'OS retourne "Cannot find bounds of current function".

Aujourd'hui les fonctions sont définies comme des appels statiques avec des pointeurs de fonction : #define _oscall(rettype,funcname,...) (*((rettype __attribute__((cdecl)) (*)(__VA_ARGS__))(funcname##_##addr))) #define NULL ((void*)0) typedef struct{} FILE; typedef unsigned long size_t; #define fopen (_oscall(FILE*, fopen, const char * filename, const char * mode)) #define fwrite (_oscall(size_t, fwrite, const void * ptr, size_t size, size_t count, FILE * stream)) #define fclose (_oscall(int, fclose, FILE * stream)) #define malloc (_oscall(void*, malloc, size_t size)) #define free (_oscall(void, free, void * ptr)) #define memset (_oscall(void *, memset, void * ptr, int value, size_t num)) #define mkdir (_oscall(int, mkdir, const char *path, int mode)) #define fopen_addr 0x101850B8 #define fwrite_addr 0x101855A8 #define fclose_addr 0x10184AB0 #define malloc_addr 0x10181AD8 #define free_addr 0x10181ACC #define memset_addr 0x101860C4 #define mkdir_addr 0x102A8864

Il y aurait une subtilité pour que GCC fasse comprendre à GDB que c'est une fonction ? (attribute particulier ?)

583

ExtendeD (./579) :
L'interêt d'être multi frontal de debug c'est de pouvoir utiliser IDA avec tous nos petits symboles love

Bah, un GDB intégré peut facilement proposer des symboles aussi, cf. la gestion des ROM_CALLs dans Emu-TIGCC.

Pour un GDB non patché, il faut probablement générer un fichier ELF avec la table des symboles.
Par contre IDA passe par des breakpoints logiciels en modifiant la mémoire et en générant des exceptions, c'est pas vraiment du goût de nspire_emu, faut que je regarde ça.

GDB utilise normalement aussi des breakpoints logiciels, dans Emu-TIGCC je l'ai patché pour utiliser les breakpoints niveau émulateur partout.
avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

584

ExtendeD (./582) :
GDB se perd lors de l'appel des fonctions de l'OS, par exemple un "step" par dessus une fonction se comporte comme un next, et un finish depuis une fonction de l'OS retourne "Cannot find bounds of current function".

C'est parce que ce sont des breakpoints logiciels, donc en FlashROM, c'est mal parti.
Aujourd'hui les fonctions sont définies comme des appels statiques avec des pointeurs de fonction :#define _oscall(rettype,funcname,...) (*((rettype __attribute__((cdecl)) (*)(__VA_ARGS__))(funcname##_##addr))) #define NULL ((void*)0) typedef struct{} FILE; typedef unsigned long size_t; #define fopen (_oscall(FILE*, fopen, const char * filename, const char * mode)) #define fwrite (_oscall(size_t, fwrite, const void * ptr, size_t size, size_t count, FILE * stream)) #define fclose (_oscall(int, fclose, FILE * stream)) #define malloc (_oscall(void*, malloc, size_t size)) #define free (_oscall(void, free, void * ptr)) #define memset (_oscall(void *, memset, void * ptr, int value, size_t num)) #define mkdir (_oscall(int, mkdir, const char *path, int mode)) #define fopen_addr 0x101850B8 #define fwrite_addr 0x101855A8 #define fclose_addr 0x10184AB0 #define malloc_addr 0x10181AD8 #define free_addr 0x10181ACC #define memset_addr 0x101860C4 #define mkdir_addr 0x102A8864
Il y aurait une subtilité pour que GCC fasse comprendre à GDB que c'est une fonction ? (attribute particulier ?)

Ce n'est pas ça le problème, c'est que le single-stepping marche par breakpoints logiciels.
avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

585

Kevin Kofler (./584) :
C'est parce que ce sont des breakpoints logiciels, donc en FlashROM, c'est mal parti.


Tout le code est en exécuté en RAM (le boot1 est dans la NOR, mais le boot2 et l'OS sont dans la NAND et sont intégralement copiés en RAM).

586

d'où (notamment pour ça) le long temps de boot de la Nspire.
Kevin Kofler (./583) :
Pour un GDB non patché, il faut probablement générer un fichier ELF avec la table des symboles.

Initialement j'était parti pour faire ça, mais ça demande probablement de jouer avec la BDF Library. A côté il y a IDA tout prêt. Ce n'est pas ma priorité mais je pourrai essayer à l'occasion.
Kevin Kofler (./584) :
C'est parce que ce sont des breakpoints logiciels, donc en FlashROM, c'est mal parti.

En fait il n'émet aucun breakpoint ni écriture en mémoire de breakpoint.
Et je me rends compte que j'ai le même problème avec un simple "bl" ARM, j'ai dû louper un truc.

587

(gdb) show remote software-breakpoint-packet
Support for the `Z0' packet is auto-detected, currently unknown.
(gdb) show remote hardware-breakpoint-packet
Support for the `Z1' packet is auto-detected, currently unknown.

confus Je ne sais pas comment il demande au stub le support des breakpoints mais je ne vois rien passer de tel.

[edit] finalement le simulateur ARM de GDB ne fait pas non plus de step over, donc ça ne vient pas de moi.

588

Au fait, à quand une release du fameux installeur?
avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

589

Sur #inspired, tu as déjà eu bien plus d'informations sur la philosophie de gestion de la release qu'il n'en suffit pour que tu puisses te dispenser de poser ce genre de questions faussement naïves wink
Comme s'il était possible de donner une réponse, en plus...
avatarMembre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

590

C'est la release qui rendra la Nspire intéressante, donc il y a tout intérêt de l'effectuer aussi tôt que possible! Les détails genre un joli shell (un des trucs qui ont été cités comme "manquants" dans le topic sur United TI) peuvent être rajoutés par la suite, ce n'est pas la peine que la première version soit parfaite.
avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

591

C'est la release qui rendra la Nspire intéressante, donc il y a tout intérêt de l'effectuer aussi tôt que possible!

Heureusement, pas tout le monde n'est de cet avis.
Mais on en a déjà parlé sur #inspired, je n'insisterai pas ici.
avatarMembre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

592

"Heureusement"? Certainement pas pour tous ceux qui attendent! roll
Merci pour avoir montré publiquement à tous les utilisateurs de TI-Nspire de quel côté tu es. roll
avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

593

Je n'ai pas à me cacher d'être du côté des pragmatiques raisonnables qui utilisent une méthode éprouvée sur d'autres plate-formes et font des logiciels utilisables et fiables (plutôt que de releaser tout de suite un truc difficile à utiliser, non portable, voire dangereux) wink
Les utilisateurs (dont tu n'es pas, je te rappelle que tu n'as pas de Nspire) sont parfaitement capables de comprendre qu'il y a une différence entre le prototype et le logiciel fini (qui a reçu davantage de tests, est plus fiable, etc.). Le prototypage est un des modèles de développement bien connus du génie logiciel, bien adapté à certaines situations.
Mais bon, on sait depuis longtemps que tu es dogmatique et que tu es perfectible en génie logiciel, il n'est donc aucunement surprenant que tu tiennes cette position dans cette affaire.

Et on est off-topic, pour la n-ième fois sur yAronet ou ailleurs, tout ça parce que tu as posté une question fermée en ./588, sachant parfaitement que tu n'obtiendrais aucune réponse.
avatarMembre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

594

Kevin Kofler (./592) :
"Heureusement"? Certainement pas pour tous ceux qui attendent! roll

Bah si, heureusement !

Imagines qu'il mette à disposition les éléments dans l'état actuel et que des gens se trouvent avec une calculatrice devenue inutilisable parce qu'ils ont utilisé un prototype au lieu d'une version stable...
avatarWebmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

595

zzz
Bientôt 2042…
avatar« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

596

Bah, un prototype, ça peut se développer et s'améliorer ouvertement. Release early, release often.

Et sinon, si j'ai posé la question (./588) ici, c'est parce que j'aimerais bien avoir une réponse de l'intéressé direct et pas de deuxième ou troisième main.
avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

597

Kevin Kofler (./596) :
Release early, release often

Nan Kevin s'il te plait trisotfl
avatar<<< Kernel Extremist©®™ >>>
Feel the power of (int16) !

598

!kick Kevin
--- Kick : vous n'etes pas modérateur ou administrateur de ce forum !

fleche topics/128623-pour-que-kevin-puisse-sexprimer-librement#0

599

Pour cloturer sur ce sujet. Une release publique verra le jour quand on aura une version stable et bien testée.
avatarla Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

600

¨_¨