[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [microblaze-uclinux] Using different start address for System. map



 

Hi Paolo

 

Thanks for your comments. It was quite useful. As you guess, my system is only a test platform for multiprocessor study and I have added a simple message passing protocol between processors by hacking kernel, however as you said it’s very slow...!

 

Best

Naser

  

 

From: owner-microblaze-uclinux@xxxxxxxxxxxxxxxxxxxx [mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxxxxxxxx] On Behalf Of Paolo Pezzino
Sent: Monday, November 16, 2009 10:51 AM
To: microblaze-uclinux@xxxxxxxxxxxxxx
Subject: Re: [microblaze-uclinux] Using different start address for System. map

 

Hi Naser, in my case the two images reside in the same memory too. For my system I found this thesis as a good starting point

http://www.cse.iitd.ernet.in/esproject/homepage/docs/projects/2006-2007/somen.pdf

He does not use two image of uClinux, but it can help.

With two images you need to specify different addresses space for the building process, every system need its own space. Your system should look like Figure 2.6.1.1. This does not mean that the applications running on it cannot access the address space of the other, this depends only on how you configure the bridges address range. Once you have two running system you can do whatever you want, but actually having a system that can access the address space of the other it is a very bad practice (if feasible). The two systems should communicate with a dedicated shared memory on a common bus or through a Message Passing Interface (e.g. using the FSL bus). Moreover I guess that your system is just a test, like mine, because having two images running from the same RAM is very very slow...

Best

pezzino

2009/11/16 Naser Khosro Pour <naser.khosropour@xxxxxxx>

Thanks Paolo

 

But the problem is that these processors use a shared memory and should have access to whole memory. The only thing is that I want that their images start from different addresses (ex: 0x3000 0000 for Microblaze_0 and 0x3100 0000 for Microblaze_1) while the memory of both is 0x3000 0000-0x3FFF FFFF!

 

Best

Naser

 

From: owner-microblaze-uclinux@xxxxxxxxxxxxxxxxxxxx [mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxxxxxxxx] On Behalf Of Paolo Pezzino
Sent: Friday, November 13, 2009 12:02 PM
To: microblaze-uclinux@xxxxxxxxxxxxxx
Subject: Re: [microblaze-uclinux] Using different start address for System. map

 

Hi, salut du tessin...

I did like this in system.mss (EDK 8.x) (you can do it also using the GUI):

BEGIN OS
 PARAMETER OS_NAME = uclinux
 PARAMETER OS_VER = 1.00.d
 PARAMETER PROC_INSTANCE = microblaze_1
 PARAMETER lmb_memory = dlmb_cntlr_1
 PARAMETER main_memory_bank = 0
 PARAMETER main_memory = plb_ddr_0
 PARAMETER stdin = RS232_Uart_1
 PARAMETER stdout = RS232_Uart_1
 PARAMETER main_memory_size = 0x10000000
 PARAMETER main_memory_start = 0x30000000
 PARAMETER TARGET_DIR = /opt/uclinux-cvs-232/uClinux-2.4.x/arch/microblaze/platform/uclinux-auto/
END

BEGIN OS
 PARAMETER OS_NAME = uclinux
 PARAMETER OS_VER = 1.00.d
 PARAMETER PROC_INSTANCE = microblaze_0
 PARAMETER lmb_memory = dlmb_cntlr_0
 PARAMETER main_memory_size = 0x10000000
 PARAMETER main_memory_start = 0x20000000
 PARAMETER main_memory_bank = 0
 PARAMETER main_memory = plb_ddr_0
 PARAMETER stdin = debug_module
 PARAMETER stdout = debug_module
 PARAMETER TARGET_DIR = /opt/uclinux-cvs-mdm/uClinux-2.4.x/arch/microblaze/platform/uclinux-auto/
END

as you can see you should (it's faster and easier) use a different build environment (i.e. a different directory) for every microblaze, so you'll end up with a dedicated image.bin file for every processor

best

Pezzino

2009/11/13 Naser Khosro Pour <naser.khosropour@xxxxxxx>

Hello All

 

I have a problem. I use multiple Microblaze processors with a shared memory. ERAM parameters are same for all processors as below:

define_hex CONFIG_XILINX_ERAM_START 0x30000000

define_hex CONFIG_XILINX_ERAM_SIZE 0x10000000

After generating kernel (I use linux-2.4.x without MMU), System. map of all processors start from same address 0x30000000 that is troublesome for me.

I want to know how can I use another address range that are not overlapping (ex:   0x30000000 for Microblaze_0 and 0x31000000 for Microblaze_1)

 

Best Regards

Naser Khosro Pour

Tel: +41 21 69 31139

Cell: +41 78 69 58 741

Ecole Polytechnique Federale de Lausanne (EPFL)

INF 338, Station 14, ESL-IEL-STI-EPFL

1015 - Lausanne (Switzerland)

Website: http://esl.epfl.ch