How to determine .data LMA for ARM Flash program?

hello all:

i am currently developing software for STR710 MCU.

for Flash-based ELF programs, i have avoided using a linker script by using the -Ttext and -Tdata LD flags.

i did not like using a linker script because:

- its quite complicated

- i do not know which is the best linker script to customize

- i dont know where to place some sections from the default script

- i feel that contents of linker scripts can change with LD versions

i use -Ttext 0x40000000 -Tdata 0x20000000.

however, this sets both the LMA and VMA of the .data to 0x20000000.

so, to move the .data LMA to Flash, i look at the end of .text (say 0x40000428) in the section headers, and then use arm-elf-objcopy to change the LMA of .data to 0x40000428 using the objcopy flag:

--change-section-lma .data=0x40000428

with this trick, i can create wonderful Flash programs without using a linker script.

HOWEVER, i still have to manually go and read the ELF section headers using arm-elf-readelf -h to determine the end of .text in Flash.

is there a way to avoid this?

is there a single command line option that i can specify to place .data LMA when building the ELF?

thank you for your help.

have a wonderful Memorial Day weekend,

Aaron

Reply to
adsouzp
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.