ID de l'article: 000086175 Type de contenu: Dépannage Dernière révision: 25/05/2017

Pourquoi y a-t-il un 0x0 d’appel dans le code assembleur de Nios® II application ?

Environnement

  • Intel® Quartus® Prime Pro Edition
  • Suite Embedded Design Intel® Nios® II (EDS)
  • Processeur Intel® Nios® II
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descriptif

    Pendant le développement et le débogage de l’application Nios® II, vous remarquerez peut-être une commande de réinitialisation en mode code assembleur comme ceci « call 0x0 ». Cette réinitialisation provient d’une mémoire corrompue. Cette corruption provient de l’écriture sur un périphérique en lecture seule ou de la lecture à partir d’une adresse inconnue.

    Alors, qu’adviendra-t-il de cette mauvaise transaction ? Il est acheminé vers l’esclave « par défaut ». L’esclave par défaut est défini comme suit :
    1- Périphérique avec la plus grande plage d’adresse.
    2- Périphérique qui a été sélectionné comme esclave par défaut dans Qsys.

    Si vous ne définissez pas l’esclave par défaut, le périphérique de mémoire sera l’esclave par défaut.

    Résolution

    Pour éviter cette commande de réinitialisation inattendue, procédez comme suit :

    1- N’écrivez pas pour lire uniquement les périphériques.
    2- Définir un périphérique Esclave Qsys par défaut pour recevoir toutes les transactions non attribuées. -- il devrait y avoir un périphérique esclave par défaut qui capturerait l’adresse de la transaction non valide qu’il a reçue.

    3- Utiliser AXI timoute bridge ou AXI esclave par défaut

    Produits associés

    Cet article concerne 1 produits

    Circuits programmables Intel®

    Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.