Aller au contenu
Eliott65Sondewiki
Sommaire

Le journal local

Par le Wi-Fi, chaque lecture paie un aller-retour sur le réseau. Le journal local renverse la logique : la sonde lit seule, à pleine vitesse, et le PC relit tout d’un coup, après coup.

Pourquoi

Les outils d’Eliott65 font beaucoup de petites lectures. Par le Wi-Fi, chacune coûte un aller-retour réseau. Et certaines surveillances sont longues : sur la carte Eliott65, une démonstration cessait de fonctionner au bout de quelques minutes, ce qui demandait un PC branché et attentif pendant tout ce temps.

Ce que fait la sonde, seule

  • Des relevés périodiques : jusqu’à 16 variables de 1, 2 ou 4 octets, lues à intervalle fixe et rangées dans un anneau horodaté de 64 Kio. Un relevé en retard est compté, pas rattrapé.
  • Un déclencheur : arrêter les relevés quand une valeur reste inchangée pendant N relevés, ou devient égale à une valeur (sous un masque).
  • Un instantané : au déclenchement, la sonde copie jusqu’à 4 zones de mémoire choisies (16 Kio en tout), pour garder l’état de la carte au moment du défaut.
  • De grands blocs : lire ou écrire jusqu’à 16 Kio de mémoire par réponse sur le Pico W (60 000 octets au plus dans le protocole).
  • Une relecture par lots : le PC récupère ensuite les relevés et l’instantané en quelques échanges.

Chacun son tour avec OpenOCD

OpenOCD garde en mémoire l’état du port de débogage de la puce (registre de sélection, adresse courante, cœur choisi). Si un tiers y touche pendant sa session, cet état devient faux sans que rien ne le signale. La règle est donc simple : tant qu’OpenOCD est connecté au port 4441, le journal est en pause et refuse les accès (réponse « occupé »). Après la session, il refait lui-même la connexion à la puce (réveil, remise à zéro de la ligne, choix du cœur, mise sous tension du débogage) avant de reprendre.

Ce qui est vérifié

OùRésultat
Sur le PC, contre la cible simulée11 essais de bout en bout justes : deux cœurs, 20 000 octets non alignés, relevés à 1 ms, déclencheurs « inchangé » et « égal » avec instantané, exclusion avec OpenOCD, petites limites, paramètres refusés
Sur la carterelevé de 10 s toutes les 2 ms sans erreur ; 256 Kio de SRAM lus en 4,7 s, identiques à la lecture par OpenOCD

Le déclencheur et l’instantané n’ont pas encore d’essai rapporté contre la carte.

Les commandes sont dans le mode d’emploi.

Sources dans le dépôt : docs/adr/ADR-0003-journal-local.md, docs/journal/03-journal-local.md, docs/journal/04-essai-reel.md.