Sign In

Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Visitor
renyiyuan
Posts: 1
Registered: ‎05-06-2012
0

How to run programs in dual-processors system

Hi,
I have a design with two microblaze processors in EDK 12.2. And I have built two applications for each processor in SDK. I want my first application run in MB0 and waiting for the second application running in MB1 to flag the DDR3 memory. Both of the applications are compiled successfully, and I have program FPGA with the initialization file for each processor is set to BootLoop.
My problem is, when I click the button and run app0 it worked well. But how can I run app1 while the app0 is running? When I run app1, the app0 seems suspended. I supposed it is because of I stroed my two app at the same address in DDR3 memory. But how can I store them separately? I tried to change the DDR3 memory address of app1 project showed in .ld file, but it not worked.

 

my first program:

int main (void)
{
	
	print("mb0 begin...\r\n");
	Xuint 8 *readFlag = (Xuint 8*)XPAR_MCB_DDR3_MPMC_BASEADDR+0x04000000;
	readFlag[0]=0x00;
	while(readFlag[0]!=0x01)
	{
		;
	}
	print("md0 end\r\n");
	return 0;
}

 

my second program:

int main (void)
{
	Xuint 8 *readFlag = (Xuint 8*)XPAR_MCB_DDR3_MPMC_BASEADDR+0x04000000;
	readFlag[0]=0x01;
	return 0;
}

 

So I need to run these two programs at the same time. Could anyone tell me how I can achieve this?

Or is there any problem with my idea? It stuck me for a long time, I really need you help.

 

Thanks

Andy