I am trying to create a MicroBlaze system with 8K instruction memory and 16K data memory. So I use includes a 8K Bram in my system and connected to the ilmb bus and a 16k Bram connected to the dlmb bus and give them non-overlapped address range. When I tried to debug my program by connecting it to the virtual system, it gives me the error " Vpconnect mb i, dlmb address maps should match VP target failed.
I understand that ilmb dlmb actually are using the same lmb_bram_if_cntlr and LMB bus. Different address should be the only way to tell the difference. But how can I tell where should the data be stored in my high level C program. It seems that the MicroBlaze will automatically store data after the instruction section. Similarly, if I want to use a shared memory place for two MicroBlaze, where can I give the information in the high level C program where the shared memory is.
Thanks a lot for your reply.