je viens de voir une discution sur comment lire un programe à partir d'une carte sd et j'essai de pouvoir le faire considérant le fait que mon programe est bientot rendu à 300% de la capacité maximal du stocage de programme
mon projet m'a couté bcp et j'aimerais pouvoir le faire
j'utilise un esplora avec l'écran de base + la librairie de base
Cela nécessiterait l'écriture d'un interpréteur, donc d'un langage.
Il sera probablement plus simple de changer de processeur : MEGA, ESP, STM32.
je me demandais si c'est possible d'utiliser un arduino pour compiler le programme ou si il faut absolument le précompiler pour utiliser le programme je n'ai pas les ressources ou les moyens pour changer un processeur
Je me demandais si c'est possible d'utiliser un arduino pour compiler le programme
Non
al1fch:
Non
tout est possible même le voyage dans le temps
sinon comment mettre un programe précompilé sur une carte sd? et ensuite le lire
sinon comment mettre un programe précompilé sur une carte sd? et ensuite le lire
en écrivant un boot loader tout nouveau. Le boot loader standard ne sait pas le faire
et Non, il n'y a aucune chance de porter un compilateur C++ complet sur un petit Arduino de base
si votre programme nécessite 300% de la place dispo, c'est qu'il faut soit changer d'Arduino, soit coder en étant plus parcimonieux sur les ressources
tout est possible même le voyage dans le temps
sinon comment mettre un programe précompilé sur une carte sd? et ensuite le lire
Tout est possible même lire de la documentation qui explique la différence entre un micro contrôleur et un micro processeur.
Ce qui est possible dans un ordinateur qui peut avoir des ressources immenses et un système d'exploitation ne l'est pas avec un micro contrôleur aux ressources limités.
S"il existe deux nom différents c'est bien qu'il y a une explication.
Se documenter aussi sur le protocole nécessaire pour transférer un programme dans un microcontrôleur : un reset est obligatoire car le transfert d'un programme ne peut se faire que dans la phase de démarrage du microcontroleur.
68tjs:
micro contrôleur et un micro processeur.
"micro contrôleur" et un "micro ordinateur" je suppose ?
Un micro processeur n'est pas qu'un micro controleur en plus gros il me semble.
marc-ouellet:
tout est possible même le voyage dans le temps
Bonjour,
alors tu peux poser ta question sur le forum en 2120, ils seront moins bêtes que nous
Ma question était plus pour essayer de préciser ce que vous disiez car vous parlez ensuite "d'ordinateur".
La définition de micro-contrôleur comprend à mon sens aussi les "SoC" (même si la frontière est floue) et donc on peut avoir un OS embarqué et des fonctions avancées dans des micro-contrôleurs.
La question pour moi ce n'est pas "micro-contrôleur" versus "micro processeur" mais plus sur les capacités offertes par l'environnement d'exécution — firmware de base voire inexistant (ATMEGA 328P de base) ou possibilité d'avoir un OS multitâche temps réel offrant des capacités plus avancées comme la mise à jour sans fil comme on trouve sur les ESP32 par exemple.
trimarco232:
alors tu peux poser ta question sur le forum en 2120, ils seront moins bêtes que nous
sinon comment mettre un programe précompilé sur une carte sd? et ensuite le lire
Oui, à condition de pouvoir placer l'exécutable en RAM.
Avec les 2.5K de RAM d'un ARDUINO de base, cela va être difficile.
Si l'ESPLORA est utilisée comme une carte ARDUINO classique, acheter une PI ZERO par exemple, ou un ESP32.
Si l'ESPLORA est utilisée comme périphérique d'entrée clavier / joystick pour un PC, une PI ZERO conviendra aussi (chercher PI ZERO gadget), mais on peut se poser la question de savoir pourquoi le code est si gros.
Les ressources mémoires de l'arduino de base sont trop limitées. Mais il y a eu des tentatives pour faire ça, avec un bootloader spécifique. Je n'arrive pas à remettre la main dessus. Voir éventuellement 2boots
Sinon, il est possible je pense de faire ça en Micropython sur un ESP32. Il y aussi bitlash, une sorte d'interpréteur basic pour arduino (voir ici)
Ici, une démo d'exécution d'un code compilé chargé depuis un carte SD sur arduino avec Pyxis OS
J'ai commencé l'informatique avec un TO7 qui disposait de tout le système d'exploitation avec interpréteur basic sur une cartouche de 8Ko. Ce qui veut dire que l'on doit pouvoir faire un interpréteur avec un nano. DAns le TO7, on mettait le programme utilisateur dans la RAM, mais avec une nano, si on la laisse dans la SD, ce devrait être possible.
Dans les 8Ko de l'interpréteur, se trouvait le basic complet, avec:
- gestion de l'écran: affichage de caractères, tracé de droites et de cercles...
- gestion du stylet graphique
- gestion de la cassette magnétophone
Sans ces périphériques, le code doit pouvoir tenir dans 8ko et une nano en a 30ko
Le ZX81 avait 8ko de ROM et 1ko de RAM, mais de mémoire on n'avait pas le graphique.
le problème de l'interpréteur, c'est qu'il faut réécrire le programme dans le langage à interpréter ...
à moins qu'il n'existe un désinterpréteur ; comme tout est possible, on peut aussi délirer un peu
Avec un Zx81, on pouvait dessiner des bits : ;D
OK, je sors...
vileroi:
J'ai commencé l'informatique avec un TO7 qui disposait de tout le système d'exploitation avec interpréteur basic sur une cartouche de 8Ko.
La petite histoire dit que le 70 dans le Nom TO7/70 c'était la mémoire: 48+16+6. Il avait 48 Ko RAM dont 32Ko pour l'utilisateur + 16 Ko de Mémoire Vidéo + 6 Ko de ROM)
C'est mieux qu'un UNO...
Thomson TO7/70 — Wikipédia indique:
Le TO7/70 corrige quelques « erreurs de jeunesse » du TO7 : la trappe permettant d'insérer une cartouche Mémo7 est équipée d'un verrou prévenant toute éjection en plein travail (comme cela arrivait avec le TO7) ; le clavier n'est plus sensitif, mais en gomme ou mécanique ; le nombre de couleurs affichables passe de 8 à 16 ; la capacité mémoire totale (sans extension) passe de 30 à 70 Ko
Moi, je suis un ancien et j'ai connu le vieux de 30ko. Mais je me suis trompé, c'est 6ko fixe + 16ko de cartouche ce qui fait 22ko de ROM. C'est moins bien que les 31ko de flash disponibles.
Avec un Zx81, on pouvait dessiner des bits :
Passons sur l’orthographe, mais elles ont du caractère. Caractère comme dans le code ascii 8 bits de l'époque:
le problème de l'interpréteur, c'est qu'il faut réécrire le programme dans le langage à interpréter ...
On peut parfaitement écrire un interpréteur C++ en C++!
On peut parfaitement écrire un interpréteur C++ en C++
dans 31ko (en supposant qu'on lit sur la SD en permanence), j'en doute fort... avec la déclaration de classe, l'héritage etc, ce n'est pas la simplicité du basic de l'époque et ses numéros de lignes et 7 instructions principales