Un menu pour lancer des sketch

Bonjour
Une idée pour un sketch bootloader qui permet de lancer des sketchs pré-stokés sur une SD à partir d'un menu ?
Quand je fais reset je reviens au menu principal pour faire un nouveau choix de programme
Et c'est parfait pour la modularité

En gros, tu voudrais un OS qui lance des applications ?
Avec quel Arduino voudrais-tu le faire ?

Regarde du côté du Yun ou Due, je crains que ça ne puisse le faire avec un Uno seul (ou à moins d'avoir un Uno qui envoie un .hex à un autre uno).

bonjour,
pourquoi ne pas avoir un menu et un prog qui contienne le tout déjà?

si c'est pour un .hex, je crois que la question avait déjà été posée il y a un moment.

Bonjour,
L'idée c'est de simplifier la mise à jour des évolutions fonctionnelles
C'est pour un bateau par exemple aujourd'hui j'ajoute un module (baro) demain un autre(pilote) , après demain je fais une mise à jour du premier module etc ...
Chaque mise à jour d'un module ne remet pas en cause les autres et Je n'ai pas à avoir d'a priori sur l'espace mémoire globale utilisé. je ne dois m'occuper que d'un module. D'autre part je viens avec ma petite carte SD sur le bateau je n'ai pas a tout démonter ou à brancher un PC pour que la nouvelle version marche.
Bien sur il y aurait une perte du fait du bootloader principal gérant le lancement.
Pour faire des tests je n'ai qu'un arduino standard et un mega avant de faire l'acquisition d'un autre je voudrais être sur que c'est possible. Je crois avoir lu que l'on peut programmer le boot loader ?

Bonjour,

Faire de l’exécution de programme avec un choix au démarrage (avec menu ou autre) implique de récrire la mémoire flash à chaque fois -> tu va griller la mémoire rapidement (les cycles d'écritures sont limités).

Par contre un bootloader qui charge un nouveau programme QUE si il trouve un fichier bien précis sur une carte SD ça existe :
http://dangerousprototypes.com/2012/04/03/2boots/

Pour la programmation du bootloader il faut un programmateur ISP (USBtiny, USBASP, etc.) ou une carte Arduino avec ArduinoISP.

Sur la base de 2boots:
Si le nom du fichier de boot alternatif sur carte SD qu'on appellerait "SDALTBOOT" est un lien symbolique ca pourrait le faire
1- ALTBOOT pointe sur le ficher "startup-menu.hex"
2- L'utilisateur sélectionne une fonction correspondant à un sketch

  • réécrire le lien symbolique pour pointer sur le sketch ie: sketch-1
    ALTBOOT pointe sur sketch-1.hex
  • forcer le reset
    3 - Lancement de sketch-1
  • réinitialisation de ALTBBOT
  • Fonctions du sketch-1
    et au prochain reset on revient au point 1

Contrainte:
Chaque sketch à la même séquence d'initialisation qui consiste à remettre le lien symbolique dans
la position initiale ALTBOOT pointe sur startup-menu.hex

Question ca marche les liens symboliques pour le driver de carte SD de arduino ?
Avez vous déjà utilisé 2 boots ?
Qu'en pensez vous ?

uxisama:
Question ca marche les liens symboliques pour le driver de carte SD de arduino ?

Non

De toute les façons l'ATMega ne peut exécuter du code que dans la Flash.

De toute les façons l'ATMega ne peut exécuter du code que dans la Flash.

Pour un newbie ... Quesako ? ca veut dire que ca pourra jamais marcher ?

uxisama:

De toute les façons l'ATMega ne peut exécuter du code que dans la Flash.

Pour un newbie ... Quesako ? ca veut dire que ca pourra jamais marcher ?

Oui, ça veut dire que ça ne peut physiquement pas marcher.