Forum Discussion

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

about the memory management in NiosII

I have a problem about memory management problem for the processor without MMU. It is easy to know the mechanism when binary code running on the processor directly without OS. All the addresses are physical addresses. But after installing OS on NIOS II processor system, the addresses become non-physical. How OS manages the address? a address offset will be used? If yes, where the offset is stored?

thanks!

4 Replies

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

    Um, not sure if I'm entirely correct on this but when running an OS on the Nios II, the address are still physical. There is no mapping going that I'm aware of.

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

    --- Quote Start ---

    originally posted by ken@Oct 27 2004, 12:13 PM

    um, not sure if i'm entirely correct on this but when running an os on the nios ii, the address are still physical. there is no mapping going that i'm aware of.

    --- Quote End ---

    Thanks! If all the address are phiscal, how the linux run multiple applications? If the applications are compiled separatly and the binary executables use physical address, how could multiple applications reside in main memory?

    I am confused by this quesiton. could you tell me how the linux solve this problem?

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

    The executable on uClinux is using a flat binary format (bFLT). It is built with starting address of 0, but holds relocation information. When you run it under uClinux, the bFLT loader will fulfill the relocations according to the loaded address.

    For information on bFLT format, please refer to bflt format (http://www.beyondlogic.org/uclinux/bflt.pdf)

    Regards,

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

    --- Quote Start ---

    originally posted by wentao@Oct 27 2004, 02:33 PM

    the executable on uclinux is using a flat binary format (bflt). it is built with starting address of 0, but holds relocation information. when you run it under uclinux, the bflt loader will fulfill the relocations according to the loaded address.

    for information on bflt format, please refer to bflt format (http://www.beyondlogic.org/uclinux/bflt.pdf)

    regards,

    wentao

    --- Quote End ---

    Great! thanks so much!