Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
14 years ago

Linking nios_soft.elf fails:region onchip_memory is full

Hi

In my design, I want the NIOS II code to be run from SDRAM

and I want to use the onchip memory for data

I created the design in SOPC, disconnected the onchip memory from the instruction master under nios II processor ..

yet, whenever i build my project in NIOS II IDE i keep getting this message (i understand it is trying to load the program on onchip still and that it doesn't fit ) .. what is going wrong?

how can i instruct the system to use sdram as nios instruction memory .. and onchip as data memory?

--- Quote Start ---

Linking nios_soft.elf...

/cygdrive/d/altera/91/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/../../../../nios2-elf/bin/ld: region onchip_memory is full (nios_soft.elf section .text). Region needs to be 56132 bytes larger.

/cygdrive/d/altera/91/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/../../../../nios2-elf/bin/ld: region onchip_memory is full (nios_soft.elf section .rodata). Region needs to be 1320 bytes larger.

/cygdrive/d/altera/91/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/../../../../nios2-elf/bin/ld: region onchip_memory is full (nios_soft.elf section .rwdata). Region needs to be 4724 bytes larger.

/cygdrive/d/altera/91/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/../../../../nios2-elf/bin/ld: region onchip_memory is full (nios_soft.elf section .bss). Region needs to be 864 bytes larger.

/cygdrive/d/altera/91/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/../../../../nios2-elf/bin/ld: section .rodata [04000000 -> 04000d27] overlaps section .text [04000000 -> 0400e343]

/cygdrive/d/altera/91/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/../../../../nios2-elf/bin/ld: section .rwdata [04000000 -> 04001a73] overlaps section .text [04000000 -> 0400e343]

/cygdrive/d/altera/91/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/../../../../nios2-elf/bin/ld: section .bss [04000000 -> 04000b5f] overlaps section .text [04000000 -> 0400e343]

obj/SDCardDriver.o(.text+0x24c): In function `SD_card_init':

../SDCardDriver.c:151: Unable to reach read_status (at 0x04000000) from the global pointer (at 0x040099c0) because the offset (-39360) is out of the allowed range, -32678 to 32767.

--- Quote End ---

1 Reply

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Disconnecting it in SOPC Builder is not all you have to do. You'd also have to tell the IDE where you want those sections to reside (which memory).

    Cheers,

    slacker