Problème critique
Vous pouvez observer les erreurs de construction si votre projet d’application
installe un isr qui appelle la alt_irq_register() fonction.
La version 9.1 du Nios II EDS prend en charge une option Interface du contrôleur d’interruption externe (EIC) du processeur Nios II. Pour prendre en charge l’interface EIC, le HAL comprend une interruption améliorée API.
Lorsque vous créez un BSP, le SBT détermine quelle interruption API(s) les pilotes de périphérique pris en charge par votre système. Si toutes les cartes sont enregistrées les pilotes du BSP s’identifient comme prenant en charge le système amélioré API, le SBT implémente l’API améliorée. Tous les pilotes de périphériques Altera dans la version 9.1 et les versions ultérieures, prennent en charge l’API améliorée.
Lorsque l’API améliorée est implémentée, l’interruption héritée
L’API, y alt_irq_register() compris, n’est pas disponible.
Par conséquent, si le code de l’application contient un appel à une API héritée
fonction, une erreur de lien se produit.
Ce problème peut affecter les projets d’application qui alt_irq_register()
d’autres fonctions héritées de l’API d’interruption directement, plutôt que selon
sur les pilotes du BSP pour la prise en charge des interruptions.
Si le code source de votre Nios II projet d’application s’inscrit
un ISR utilisant alt_irq_register() ou incluant un isr,
il est possible que votre application ne compile pas dans la version Nios II EDS
9.1, en raison de références non définies à alt_irq_register() ,
ou à un changement de prototype de fonction ISR.
Modifiez le code de votre application pour utiliser la nouvelle API d’interruption améliorée. Pour utiliser l’API améliorée, vous devez modifier plusieurs appels de fonctions et tous les prototypes de fonctions ISR.
Pour plus d’informations sur la prise en charge de l’API d’interruption améliorée, reportez-vous au chapitre Gestion des exceptions du manuel du développeur de logiciels Nios II,ou à AN 595 : Vectored Interrupt Controller Usage and Applications (Utilisation et applications du contrôleur d’interruption vectoriel).
Vous devez passer à l’API améliorée si vous souhaitez utiliser un EIC dans votre conception matérielle pour accélérer le temps de réponse des interruptions. L’API améliorée fonctionne également avec le contrôleur d’interruption interne du processeur Nios II.