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ée | 11 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 carte | relevé 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.