If I add an ELF file to an ISE project containing an EDK sub-module and associated BMM file, errors similar to the following occur when I try to generate the bitstream:
"ERROR:Data2MEM:33 - Matching ADDRESS_SPACE for code segment #1 not found in 'C:/XC2VP20/implementation/system_stub.bmm'.
Code segment #1 occupies [0xFFFF48F0:0xFFFF48FF]"
What is causing these errors?
The Data2MEM tool can be used during implementation to update a device's block RAM with the contents of an ELF file.
If the ELF file contains addresses outside the address range covered by the block RAM (as listed in a BMM file), the above error message will be generated.
This will happen if the ELF file is to be used with external memory such as Flash or SDRAM.
It may also occur if the source files for a software project have been linked incorrectly.
To avoid these errors, do not add ELF files intended (for use with external memory) to an ISE project.
If the ELF file is to be loaded entirely into block RAM, ensure that the software project is compiled and linked to the correct address ranges, through the use of a linker script, if necessary.