NumBoots - Bootloader pour NumWorks N0110
37 posts
• Page 2 of 4 • 1, 2, 3, 4
Re: NumBoots - Bootloader pour NumWorks N0110
salut, désolé de vous déranger pour si peu mais cet article (viewtopic.php?f=97&t=22824) m'a donné très envie. J'ai la version N0110 et je me demandais si les commandes que tu a mise permettent d'installer le firmware de l'article et si oui comment faire exactement. Merci d'avance
-
elicolh
Niveau 5: MO (Membre Overclocké)- Posts: 35
- Joined: 13 Sep 2019, 18:02
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: TS
Re: NumBoots - Bootloader pour NumWorks N0110
Les fichiers .dfu peuvent être flashés sur N0110 (et N0100) avec dfu-utils.
Mais https://ti-planet.github.io/webdfu_numworks/ ne gère apparemment pas les .dfu, juste les images firmware brutes. Et https://devanlai.github.io/webdfu/dfu-util/ non plus.
Mais https://ti-planet.github.io/webdfu_numworks/ ne gère apparemment pas les .dfu, juste les images firmware brutes. Et https://devanlai.github.io/webdfu/dfu-util/ non plus.
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41980
- Images: 15887
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: NumBoots - Bootloader pour NumWorks N0110
et tu saurais où obtenir le dfu du super firmware?
-
elicolh
Niveau 5: MO (Membre Overclocké)- Posts: 35
- Joined: 13 Sep 2019, 18:02
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: TS
Re: NumBoots - Bootloader pour NumWorks N0110
Je pense même pas qu'il marche correctement dans ton cas.
Le firmware a été compilé pour N0100, pas N0110. Il y a des différences matérielles significatives entre les deux.
Le firmware a été compilé pour N0100, pas N0110. Il y a des différences matérielles significatives entre les deux.
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41980
- Images: 15887
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: NumBoots - Bootloader pour NumWorks N0110
ah, d'accord
Merci pour les infos
Merci pour les infos
-
elicolh
Niveau 5: MO (Membre Overclocké)- Posts: 35
- Joined: 13 Sep 2019, 18:02
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: TS
Re: NumBoots - Bootloader pour NumWorks N0110
Avec dfu-util pour N0110, il faut apparemment flasher :
- en 0x09000000 pour la Flash externe
- en 0x08000000 pour la Flash interne
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41980
- Images: 15887
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: NumBoots - Bootloader pour NumWorks N0110
Cela fait quelques semaines que je réfléchis à l'idée aussi. Je ne suis pas du tout expert dans ce domaine, mais j'ai l'impression que la voie de l'exécutable PIC/PIE est très séduisante, mais aussi assez complexe. Il me semble aussi que la newlib n'est pas vraiment adaptée à ce fonctionnement (même en la recompilant correctement). J'ai par contre bien aimé l'idée du tar comme étant le support du "système de ficher" flash.
Du coup, je suis parti sur l'idée de générer un elf linké partiellement (donc avec le plus gros du travail de fait, et juste quelques relocations à gérer), et de faire le link final au moment d'ajouter le binaire au tar. C'est dommage car cela requiert d'avoir un linker sous la main, mais ça reste très rapide et je suppose qu'on doit pouvoir faire assez facilement un outil javascript pour faire ça directement depuis une page web (et couplé avec webdfu, ça serait parfait).
Au final, ça fonctionne plutôt bien, j'ai porté KhiCAS dans ce "mode" sans trop de souci (mais je bute un peu sur la simplification/normalisation de son interaction avec epsilon, du coup j'ai repris l'api actuelle telle que).
Je suis resté assez "terre à terre" pour la communication app externe/epsilon. Le point d'entrée de l'app externe reçoit un tableau de pointeurs des points d'entrée de l'API, et une zone mémoire lui servant de heap. Les sections data et bss sont alloués statiquement en bas de la pile et réinitialisées entre chaque lancement. Chaque application embarque sa libc, et son malloc qui va utiliser le heap pré-alloué. Ça permet de repartir avec un heap propre à chaque lancement, mais pour l'instant aucun état n'est sauvegardé (sauf pour KhiCAS qui utilise le script store).
Les dépôts sont disponibles ici (epsilon/delta avec launcher, et le "builder" de tar):
https://github.com/Delta-NumWorks/delta/tree/external
https://github.com/Delta-NumWorks/external-apps
Du coup, je suis parti sur l'idée de générer un elf linké partiellement (donc avec le plus gros du travail de fait, et juste quelques relocations à gérer), et de faire le link final au moment d'ajouter le binaire au tar. C'est dommage car cela requiert d'avoir un linker sous la main, mais ça reste très rapide et je suppose qu'on doit pouvoir faire assez facilement un outil javascript pour faire ça directement depuis une page web (et couplé avec webdfu, ça serait parfait).
Au final, ça fonctionne plutôt bien, j'ai porté KhiCAS dans ce "mode" sans trop de souci (mais je bute un peu sur la simplification/normalisation de son interaction avec epsilon, du coup j'ai repris l'api actuelle telle que).
Je suis resté assez "terre à terre" pour la communication app externe/epsilon. Le point d'entrée de l'app externe reçoit un tableau de pointeurs des points d'entrée de l'API, et une zone mémoire lui servant de heap. Les sections data et bss sont alloués statiquement en bas de la pile et réinitialisées entre chaque lancement. Chaque application embarque sa libc, et son malloc qui va utiliser le heap pré-alloué. Ça permet de repartir avec un heap propre à chaque lancement, mais pour l'instant aucun état n'est sauvegardé (sauf pour KhiCAS qui utilise le script store).
Les dépôts sont disponibles ici (epsilon/delta avec launcher, et le "builder" de tar):
https://github.com/Delta-NumWorks/delta/tree/external
https://github.com/Delta-NumWorks/external-apps
-
zardamPremium
Niveau 9: IC (Compteur Infatigable)- Posts: 233
- Images: 13
- Joined: 11 Oct 2017, 23:39
- Gender:
- Calculator(s):→ MyCalcs profile
Re: NumBoots - Bootloader pour NumWorks N0110
Bien, la modularité que NumWorks n'a jamais mise en place prend décidément de plus en plus forme
Dans le SDK Ndless, un format custom appelé "Zehn" a fini par être utilisé, parce que BFLT est limité et ELF peut être complexe. Je le mentionne parce que même si tu as déjà fait le gros du boulot, peut-être y a-t-il des idées ou du code à reprendre.
Dans le SDK Ndless, un format custom appelé "Zehn" a fini par être utilisé, parce que BFLT est limité et ELF peut être complexe. Je le mentionne parce que même si tu as déjà fait le gros du boulot, peut-être y a-t-il des idées ou du code à reprendre.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
-
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6865
- Joined: 23 Dec 2009, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
- GitHub: debrouxl
Re: NumBoots - Bootloader pour NumWorks N0110
Merci, j'ai croisé effectivement le bflt, je vais regarder le Zehn (je suis tombé sur des ressources dans ndless, mais pas celle ci)
Tant qu'on a un objdump/ld sous la main, le .elf est plutôt pratique. Par contre pour faire la dernière relocation dans une page web, ça risque de se corser une peu, et il faudrait peut être un format intermédiaire plus simple effectivement. Je n'ai pas encore trop creusé de ce coté, c'est la prochaine étape.
J'aimerais bien reprendre et isoler proprement quelques fonctions de l'api de KhiCAS (gestion des scripts, et des événements) et sortir celle qui ne sont pas strictement nécessaires, mais il y a aussi pas mal de boulot de ce coté la.
J'espère que du coup on peut considérer epsilon comme un OS, et donc que le problème de licence ne se pose plus pour les applications "externes". (Mon dernier doute concerne le tableur de pointeurs, mais ce n'est pas très différent de ce que fait un linker dynamique sur un OS traditionnel).
Tant qu'on a un objdump/ld sous la main, le .elf est plutôt pratique. Par contre pour faire la dernière relocation dans une page web, ça risque de se corser une peu, et il faudrait peut être un format intermédiaire plus simple effectivement. Je n'ai pas encore trop creusé de ce coté, c'est la prochaine étape.
J'aimerais bien reprendre et isoler proprement quelques fonctions de l'api de KhiCAS (gestion des scripts, et des événements) et sortir celle qui ne sont pas strictement nécessaires, mais il y a aussi pas mal de boulot de ce coté la.
J'espère que du coup on peut considérer epsilon comme un OS, et donc que le problème de licence ne se pose plus pour les applications "externes". (Mon dernier doute concerne le tableur de pointeurs, mais ce n'est pas très différent de ce que fait un linker dynamique sur un OS traditionnel).
-
zardamPremium
Niveau 9: IC (Compteur Infatigable)- Posts: 233
- Images: 13
- Joined: 11 Oct 2017, 23:39
- Gender:
- Calculator(s):→ MyCalcs profile
Re: NumBoots - Bootloader pour NumWorks N0110
Le format est défini et documenté par https://github.com/ndless-nspire/Ndless ... ude/zehn.h , et https://github.com/ndless-nspire/Ndless ... enzehn.cpp prend bien de l'ELF en entrée. Les dépendances de genzehn sont Zlib, <cstring>, <iostream>, <algorithm>, <vector>, boost::program_options et ELFIO qui est une lib portable header-only: le ciblage de JS / WASM à partir de genzehn devrait être donc faisable, quitte à devoir ajuster quelques bouts de code ou upgrader ELFIO, actuellement 3.2 d'il y a plus de 3 ans, mais 3.3 et 3.4 ont été publiées depuis.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
-
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6865
- Joined: 23 Dec 2009, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
- GitHub: debrouxl
37 posts
• Page 2 of 4 • 1, 2, 3, 4
Return to Programmation native (C/C++/...)
Who is online
Users browsing this forum: ClaudeBot [spider] and 1 guest