ID do artigo: 000073766 Tipo de conteúdo: Solução de problemas Última revisão: 14/09/2011

Desreferências de ponteiros para tipos voláteis

Ambiente

  • Intel® Quartus® II Subscription Edition
  • Interrupção
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT

    Problema crítico

    Descrição

    O compilador C2H trata as desreferências de ponteiros para um volátil digite como se eles alias todas as outras dereferências de ponteiro. Ponteiros que são qualificados com restrição são tratados da mesma maneira.

    Os dois loops não podem ser ser agendado simultaneamente porque a qualificação volatile substitui o pragma __restrict__

    Loops não simultâneos
    volatile int * __restrict__ fifo_rd = FIFO_RD_BASE; volatile int * __restrict__ fifo_wr = FIFO_WR_BASE; for () { *fifo_wr = ....; } for () { ... = *fifo_rd; }
    Resolução

    Divida a função em solicitação de interrupção múltipla (IRQ) habilitada aceleradores que são lançados simultaneamente a partir do processador, e use buffers FIFO para se comunicar entre eles.

    Produtos relacionados

    Este artigo aplica-se a 1 produtos

    Dispositivos programáveis Intel®

    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 prevalecerá e será a determinante. Exibir a versão em inglês desta página.