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!
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