UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer seanhong
Observer
4,598 Views
Registered: ‎11-15-2010

Is SDK actually using BMM file??

Jump to solution

Hi

 

Maybe silly question, but it confuses me.

When configure FPGA using SDK, we need to choos both bitstream and BMM file.     The BMM files tells microblaze where to find its program memory, tells microblaze the physical location of BRAMs.

I think I am right, am I?

But, this is strange. I changed BRAM location in BMM file, program still work!  I am confusing, even I give another BMM file, it still work....

0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
6,113 Views
Registered: ‎08-01-2007

Re: Is SDK actually using BMM file??

Jump to solution

Hi,

 

SDK does not need a BMM file to download code to memory. There is only the need to have some kind of physical memory at the location pointed to by the linker script.

The BMM file is used by a tool called Data2Mem to merge an existing FPGA bit file and an executable which uses internal BRAM memory to create a new bit file. In this case, the tool has to know where the BRAM are physically located in the device. If you were to program the bit file created with your erroneous BMM files, MicroBlaze would just crash out of reset.

 

0 Kudos
5 Replies
Xilinx Employee
Xilinx Employee
6,114 Views
Registered: ‎08-01-2007

Re: Is SDK actually using BMM file??

Jump to solution

Hi,

 

SDK does not need a BMM file to download code to memory. There is only the need to have some kind of physical memory at the location pointed to by the linker script.

The BMM file is used by a tool called Data2Mem to merge an existing FPGA bit file and an executable which uses internal BRAM memory to create a new bit file. In this case, the tool has to know where the BRAM are physically located in the device. If you were to program the bit file created with your erroneous BMM files, MicroBlaze would just crash out of reset.

 

0 Kudos
Observer seanhong
Observer
4,588 Views
Registered: ‎11-15-2010

Re: Is SDK actually using BMM file??

Jump to solution

thanks

 

well, executable code will be merged to the full bitstream according to the BMM file. If I change the BRAM location in BMM file, the code will be merged to a wrong place where hardware cannot access. Why another location also work, I got no idea, let it be:smileywink:

0 Kudos
Xilinx Employee
Xilinx Employee
4,577 Views
Registered: ‎02-01-2008

Re: Is SDK actually using BMM file??

Jump to solution

The bmm is used by sdk if you download the fpga from sdk and select your application to be merged into the bitstream.

 

Debugging and downloading your application uses xmd which just needs to know what address to instruct the functioning processor to write the code to.

0 Kudos
Visitor mianni
Visitor
1,904 Views
Registered: ‎09-21-2015

Re: Is SDK actually using BMM file??

Jump to solution

I do have one question about BMM file with combined address space, First part is instruction memory, the second part is datamemory/RAM. Memory is created from block RAMs and data2mem is used for inserting the ELF file into BMM. 

In my design RAM is defined by the address defined in the overlapping address space defined in the BMM file and this address do not start from zero 0x0000 0000. In my microprocessor design datamem is RAM, and stack,heap,slaves I/O,s will use that address domain.i.e (X"00004800",    X"00007800" ,  X"00008800");

                             |stack/heap|    | bus interface|    |        I/O     |

 

In literature a 32-bit architecture gives 4GB RAM starting from 0x00000000 to 0xFFFFFFFF. Now I am wondering if mb-gcc compiler will understand this addressing scheme or must I define RAM from zero?

 

Please help:)

0 Kudos
Highlighted
Visitor mianni
Visitor
1,886 Views
Registered: ‎09-21-2015

Re: Is SDK actually using BMM file??

Jump to solution

Answer is in datasheet UG1043   User and Program Memory

0 Kudos