記事 ID: 000079861 コンテンツタイプ: トラブルシューティング 最終改訂日: 2021/08/28

Nios IIコードをコンパイルしようとすると、グローバルポインターでスコードエラーが発生するのはなぜですか?

環境

BUILT IN - ARTICLE INTRO SECOND COMPONENT
詳細

An issue has been identified with the linker script generated by the 11.1 version of the Nios® II Board Support Package (BSP) generator.  The issue leads to link errors similar to the following:

/opt/altera/11.0sp1/nios2eds/bin/gnu/H-i686-pc-linux-gnu/bin/../lib/gcc/nios2-elf/4.1.2/./../../../nios2-elf/lib/libstdc .a (巫巌.o): 関数'std::www:.id:_M_id() で関数':
/build/swbuild/SJ/nightly/11.0sp1/208/l32/work/ip/sopc/app/gnu/BUILD/gnu/build/0-gcc.nios2-elf.i686-pc-linux-gnu/nios2-elf/libstdc -v3/src/../../../../src/gcc-4.1/libstdc -v3/src/gcc/cc:436: 警告: グローバルポインター (0x00d217f0) から (0x00e77e74) に到達できません (0x00d217f0) オフセット (1402500) が許可範囲外であるため、-32678 から 32767 に達できません。

解決方法

この問題を解決するには、BSP で iris.x スクリプトを開き、次の行を編集します。

.rwdata LOADADDR (.rodata) SIZEOF (.rodata) : AT ( LOADADDR (.rodata) SIZEOF (.rodata) SIZEOF (.rwdata) )

.rwdata セクションを正しく定義するには、最後の SIZEOF (.rwdata) ディレクティブを削除します。

.rwdata LOADADDR (.rodata) SIZEOF (.rodata) : AT ( LOADADDR (.rodata) SIZEOF (.rodata) )

この問題は、Eclipse向け Nios II ソフトウェア・ビルド・ツールの今後のバージョンで修正される予定です。

関連製品

本記事の適用対象: 1 製品

インテル® プログラマブル・デバイス

1

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。このコンテンツはお客様の便宜と一般的な情報のみを目的として提供されており、情報の正確さと完全性を保証するものではありません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。