On Wed, 24 Sept 2025 at 06:32, Jonas Karlman <[email protected]> wrote: > > Hi, > > On 9/14/2025 12:59 PM, Aristo Chen wrote: > > Add documentation to help users understand how to determine where ELF > > files will be loaded when using binman's 'fit,load' property. This > > addresses the common confusion about how load addresses are determined > > from ELF files. > > > > The documentation explains three methods: > > 1. Using readelf to examine program headers > > 2. Checking the linker script (.lds file) > > 3. Using objdump to see section addresses > > > > Also includes a specific example from binman tests showing how > > elf_sections.lds sets ATF load address to 0x00000010 and > > elf_sections_tee.lds sets TEE load address to 0x00100010 to avoid > > memory overlap conflicts. > > > > This helps users debug memory layout conflicts more efficiently when > > working with FIT images containing multiple ELF components. > > > > Signed-off-by: Aristo Chen <[email protected]> > > --- > > tools/binman/entries.rst | 18 ++++++++++++++++++ > > 1 file changed, 18 insertions(+) > > > > diff --git a/tools/binman/entries.rst b/tools/binman/entries.rst > > index 12a39d070e4..f6a5465ca44 100644 > > --- a/tools/binman/entries.rst > > +++ b/tools/binman/entries.rst > > @@ -1050,6 +1050,24 @@ split-elf > > Generates a `load = <...>` property with the load address of the > > segment > > > > + Note: The load address comes from the ELF file's program header or > > + linker script. To determine where an ELF file will be loaded, you > > can: > > + > > + 1. Use readelf to examine the program headers: > > + ``readelf -l your_elf_file.elf`` > > + Look for the LOAD segments and their VirtAddr (Virtual Address) > > + > > + 2. Check the linker script (.lds file) used to build the ELF: > > + Look for the `. = <address>;` statements which set the location > > + counter and determine load addresses for different sections > > + > > + 3. Use objdump to see section addresses: > > + ``objdump -h your_elf_file.elf`` > > + > > + For example, in binman tests, elf_sections.lds sets ATF load > > address > > + to 0x00000010, while elf_sections_tee.lds sets TEE load address to > > + 0x00100010 to avoid memory overlap conflicts. > > tools/binman/entries.rst should be generated from a "binman entry-docs" > run as described in the documentation [1]. > > Please update tools/binman/etype/fit.py or this will be lost next time > someone updates the entries documentation.
With that fixed: Reviewed-by: Simon Glass <[email protected]> > > [1] > https://docs.u-boot.org/en/latest/develop/package/binman.html#entry-documentation > > Regards, > Jonas > > > + > > fit,entry > > Generates a `entry = <...>` property with the entry address of the > > ELF. This is only produced for the first entry >

