Je cherche à écrire du code très sensible au timing sur un LPC1343 où j'ai besoin de compter les cycles d'horloge exacts. Il y a deux questions: -Moment d'instruction sur ARM Cortex-m3 (plus précisément LPC1343)
J'ai lu que l'exécution du code de la mémoire flash interne ne sont pas toujours en mesure de fonctionner à plein 72Mhz et états d'attente pourraient être introduits. Mais je ne trouve aucun document "officiel" à ce sujet. J'ai vu un endroit recommandant de copier des fonctions sensibles au temps dans ram ... Je cherche soit à être dit définitivement que cela n'arrive pas, ou pour des informations sur comment cela affecte le calendrier.
Combien de temps les instructions de branchement prennent-elles? J'ai lu que ce noyau a une prédiction de branchement donc les temps peuvent varier. Est-ce correct, et si oui, y a-t-il un moyen de prédire son comportement ou de le désactiver (le timing exact est plus important que de sauver quelques cycles) .
Si la synchronisation est critique, vous pouvez configurer une broche GPIO pour basculer avec votre logique et vérifier explicitement la synchronisation avec un oscilloscope. Vous pouvez vérifier la synchronisation de base, puis configurer pour déclencher sur les échecs de synchronisation (une largeur d'impulsion trop courte ou trop longue). – Digikata
Oui, je le ferais certainement, – jcoder