ID Artikel: 000079417 Jenis Konten: Pemecahan Masalah Terakhir Ditinjau: 17/12/2013

Mengapa kesalahan "relokasi terpoting agar pas: R_NIOS2_CALL26" terjadi ketika kode Nios II ditempatkan di lokasi memori terpisah?

Lingkungan

    Prosesor Intel® Nios® II
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Deskripsi

Galat ini terjadi ketika fungsi terletak di lokasi memori lebih dari 256 MB terpisah dari memori utama karena Nios II compiler menggunakan instruksi panggilan yang memiliki batasan 256 MB.

 

Resolusi

Ada dua solusi untuk masalah ini:

1) Dalam ACDS versi 13.1, opsi -relax-all diterapkan untuk menggunakan instruksi callr alih-alih instruksi panggilan . Dalam Alat Build Perangkat Lunak untuk Eclipse, tambahkan opsi -Wa,-relax-all di properti Aplikasi atau BSP sebagai bendera pengguna.

Penanganan masalah ini dapat memengaruhi performa perangkat lunak karena instruksi callr menggunakan instruksi perakitan yang lebih banyak dibandingkan dengan instruksi panggilan .

2) Instruksi panggilan tidak menghitung MSB 4 bit alamat , sehingga batasan batas 256 MB. Temukan memori sehingga MSB 4 bit dari alamat dasar memori sama, untuk memastikan fungsi berada dalam batas 256 MB.

Misalnya. SDRAM: 0x10000000 , memori onchip: 0x12000000

atau SDRAM : 0x08000000, memori onchip: 0x02000000

Produk Terkait

Artikel ini berlaku untuk 1 produk

Perangkat yang Dapat Diprogram Intel®

1

Konten pada halaman ini adalah kombinasi terjemahan manusia dan komputer dari konten asli berbahasa Inggris. Konten ini disediakan untuk kenyamanan Anda dan hanya untuk informasi umum dan tidak boleh dianggap lengkap atau akurat. Jika ada kontradiksi antara versi bahasa Inggris halaman ini dan terjemahannya, versi bahasa Inggris yang akan mengatur dan mengendalikan. Lihat versi bahasa Inggris halaman ini.