Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12600 Discussions

about the memory management in NiosII

Altera_Forum
Honored Contributor II
1,233 Views

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!
0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
383 Views

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.

0 Kudos
Altera_Forum
Honored Contributor II
383 Views

 

--- 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!
0 Kudos
Altera_Forum
Honored Contributor II
383 Views

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
0 Kudos
Altera_Forum
Honored Contributor II
383 Views

 

--- 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!
0 Kudos
Reply