ID de l'article: 000083437 Type de contenu: Dépannage Dernière révision: 11/09/2012

Lorsque vous utilisez un produit JTAG UART ou UART pour le stdout, pourquoi le débit d’impression est-il tronqué alors qu’il est immédiatement avant la fin du programme ?

Environnement

  • Processeur Intel® Nios® II
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descriptif Il est possible que la mémoire tampon de sortie des pilotes JTAG UART et UART ne soit pas entièrement transmise lorsque la déclaration imprimée est immédiatement avant la fin du programme. Ainsi, si la dernière déclaration de votre programme est un printf, il est possible que vous ne puissiez pas observer le message entier à partir de la déclaration imprimée. Pour s’assurer que l’ensemble du message est imprimé, placez une instruction en veille après la déclaration d’impression pour laisser le temps que la mémoire tampon de sortie du pilote JTAG UART ou UART soit entièrement transmise au matériel JTAG UART ou UART. Ajouter « en veille (200000) » (attendez 200000 nous) est généralement suffisant.

    Notez que ce comportement se produit uniquement lorsque JTAG UART ou UART est piloté par interruption, ce qui est la valeur par défaut. Lors de l’utilisation des versions sondées des pilotes, le pilote attend le matériel JTAG UART ou UART avant d’envoyer et de recevoir les caractères. L’ensemble du message d’impression sera imprimé avant l’exécution de la prochaine instruction du processeur. Reportez-vous au manuel quartus II du volume 5 : Altera les périphériques embarqués pour obtenir des informations sur les pilotes rapides (axés sur les interruptions) par rapport aux petits pilotes (sondés) pour les périphériques JTAG UART et UART.

    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.