ID de l'article: 000079417 Type de contenu: Dépannage Dernière révision: 17/12/2013

Pourquoi l’erreur « est-elle tronquée pour s’adapter à : R_NIOS2_CALL26 » se produit-elle lorsque Nios II code est placé dans des emplacements de mémoire séparés ?

Environnement

  • Processeur Intel® Nios® II
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descriptif

    Cette erreur se produit lorsque les fonctions se trouvent dans un emplacement de mémoire de plus de 256 Mo à l’exception de la mémoire principale, car le compilateur Nios II utilise l’instruction d’appel qui a une limite de limite de 256 Mo.

     

    Résolution

    Il existe deux solutions à ce problème :

    1) Dans la version 13.1 de l’ACDS, l’option -relax-all est implémentée pour utiliser l’instruction de l’appelant au lieu de l’instruction d’appel.  Dans Les outils de construction de logiciels pour Eclipse, ajoutez l’option -Wa,-relax-all dans les propriétés de l’application ou du BSP en tant que drapeau de l’utilisateur.

    Cette solution de contournement peut avoir un impact sur les performances logicielles, car l’instruction de l’appelant utilise plus d’instructions d’assemblage par rapport à l’instruction d’appel.

    2) L’instruction d’appel ne calcule pas les 4 bits de l’adresse du MSB, d’où la limitation de limite de 256 Mo. Localisez les mémoires afin que les 4 bits des adresses de base de la mémoire du MSB soient les mêmes, pour vous assurer que les fonctions sont dans la limite de 256 Mo.

    Eg. SDRAM : 0x10000000, mémoire onpup : 0x12000000

    ou SDRAM : 0x08000000, mémoire onpuce : 0x02000000

    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.