ID do artigo: 000083597 Tipo de conteúdo: Solução de problemas Última revisão: 06/01/2014

Nios II de cadeia de ferramentas GNU de GCC 4.1.2 para GCC 4.7.3

Ambiente

    Intel® Quartus® II Subscription Edition
    Processador Intel® Nios® II
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descrição

Na ACDS versão 13.1, a Nios® II GNU foi atualizada do GCC 4.1.2 para o GCC 4.7.3. Os usuários que se atualizem para a nova ferramenta precisam tomar nota das seguintes alterações listadas abaixo.

Nios II alterações específicas:

  • Use __buildin_custom_* em vez de -mcustom-* ou #pragma para gerar de forma confiável Nios II instruções personalizadas de ponto flutuante (FPCI), independentemente do nível de otimização do compilador e dos sinalizadores de linha de comando.
    • Para usar -mcustom-* ou #pragma instruções personalizadas Nios II de ponto flutuante (FPCI):
      • a bandeira -ffinite-math-only deve ser usada para gerar fmins e fmax FPCI
      • a otimização (sinalizador não-O0 ) deve ser usada para gerar fsqrts FPCI
      • Os usuários que implementam funções transcendentais no hardware devem usar o sinalizador -funsafe-math-optimizations para gerar o FPCI para as funções transcendentais fsins(), fcoss(), ftans(), fatans(), fexps(), flogs() e correspondentes funções de precisão dupla correspondentes
  • O formato Pragma mudou de eg. #pragma custom_fadds 253 para #pragma alvo GCC("custom-fadds=253") e os atributos de função fornecem um formato alternativo __attribute__((target("custom-fadds=253")))).
  • Use os sinalizadores -mel/meb em vez de -EL/-EB para configurações endian. A Ferramenta de compilação de software Eclipse usuários (SBTE) deve regenerar o BSP para que essa configuração entre em vigor.
  • A bandeira -mreverse-bitfields e reverse_bitfields pragma não são mais suportados.
  • O sinalizador -fstack-check deve ser usado em vez de -mstack-check para habilitar a verificação de pilha.

Alterações e aprimoramentos do GCC:

  • A bandeira -Wa,-relax-all em nios2-elf-gcc GCC 4.7.3 suporta chamadas de função e programas que excedem o limite de 256 MB.
  • Quando usado com otimização, o código de montagem em linha com o operador asm precisa declarar valores importados de C e exportados de volta para C, usando os mecanismos descritos no http://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#Extended-Asm.
  • Os cabeçalhos C pré-padrão não são suportados no GCC 4.7.3. Substitua o C pré-padrão pelo padrão C por exemplo. #include , cout, endl com #include , std:cout e std::endl , respectivamente.
  • O sinalizador de compilação -Wl,--defsym foo=bar, onde a barra é um símbolo indefinido, gerará erro no nível do linkador no GCC 4.7.3. O GCC 4.1.2 não inclui esta verificação.

O GNU também fornece um guia de portabilidade para GCC4.7 para documentar problemas comuns: http://gcc.gnu.org/gcc-4.7/porting_to.html

As notas de versão GCC completas estão disponíveis no http://gcc.gnu.org/releases.html.

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.