2009-10-02 8 views
0

J'utilise un PowerPC 750 et je viens de commencer à expérimenter avec l'interruption externe.Pourquoi mon nouveau gestionnaire d'interruption PowerPC ne plante-t-il que lorsque les caches sont activés

J'ai un mini-programme commandé par interruption qui fonctionne bien à condition que le cache de données soit désactivé. Si j'active le cache, le PowerPC se bloque lors du premier accès à un périphérique mappé en mémoire après le déclenchement de l'interruption externe.

Cela me surprend parce que:

  • Ma compréhension est que lorsque le gestionnaire d'exception est appelé l'adressage du processeur est en «mode réel et que, comme toutes mes adresses sont les mêmes dans réel et en mode traduit , les accès devraient normalement fonctionner .

  • Le périphérique est dans l'espace marqué non-cache dans un DBAT

Y at-il quelque chose que vous avez à faire avec le cache/adressage après une exception externe que j'ai manqué?

Répondre

0

Finalement, j'ai réactivé la traduction d'adresse pour les instructions et les données en tant que première opération dans mon programme d'interruption externe. Semble éviter le problème.