ID do artigo: 000079588 Tipo de conteúdo: Solução de problemas Última revisão: 01/01/2015

Crie erros em chamadas de API de interrupção

Ambiente

    Intel® Quartus® II Subscription Edition
BUILT IN - ARTICLE INTRO SECOND COMPONENT

Problema crítico

Descrição

Você pode observar erros de compilação se o seu projeto de aplicativo instala uma ISR que chama a alt_irq_register() função.

O Nios II EDS versão 9.1 inclui suporte para um opcional Interface do Controlador de interrupção externa (EIC) no processador Nios II de armazenamento. Para suportar a interface EIC, o HAL inclui uma interrupção aprimorada Api.

Quando você cria um BSP, o SBT determina qual interrupção API(s) os drivers do dispositivo no suporte do seu sistema. Se tudo registrado drivers no BSP identificam-se como compatíveis com o aprimorado API, o SBT implementa a API aprimorada. Todos os drivers Altera dispositivos na versão 9.1 e mais recente suportam a API aprimorada.

Quando a API aprimorada é implementada, a interrupção herdada A API, incluindo alt_irq_register(), não está disponível. Portanto, se o código do aplicativo contiver uma chamada para uma API herdada função, ocorre um erro de linker.

Este problema pode afetar projetos de aplicativos que liguem alt_irq_register() ou outras funções de API de interrupção herdada diretamente, em vez de depender em drivers no BSP para suporte de interrupção.

Se o Nios II de código-fonte do seu projeto de aplicativos for registrado uma ISR usando alt_irq_register(), ou inclui uma ISR, sua aplicação pode não ser compilada na versão Nios II EDS 9.1, devido a referências indefinido a alt_irq_register(), ou para uma alteração no protótipo da função ISR.

Resolução

Modifique o código do seu aplicativo para usar a nova API de interrupção aprimorada. Para usar a API aprimorada, você deve modificar várias chamadas de função e todos os protótipos de função ISR.

Para obter informações sobre o suporte à API de interrupção aprimorada, consulte o capítulo tratamento de exceções do manual do desenvolvedor de software Nios II ou para UM 595: Uso e aplicações do controlador de interrupção vetorial.

Você deve atualizar para a API aprimorada se quiser usar um EIC no seu design de hardware para acelerar o tempo de resposta de interrupção. A API aprimorada também funciona com o controlador de Nios II de interrupção interna do processador.

Produtos relacionados

Este artigo aplica-se a 1 produtos

Dispositivos programáveis Intel®

1

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês governará e será a controle. Exibir a versão em inglês desta página.