I am using I.MXRT1064 EVK board for development. The architecture scheme which i will be using will contain a boot loader at 0x70000000. Application will be running at 0x70004000. The bootloader project is separate and application project is separate.
In my application project i want to configure my flash start address to 0x70004000. How do i do it using MCUXpresso or using linker script file. Currently my application always starts from 0x70000000 and at this address currently there are sections defined ".boot_hdr.conf" and then ".boot_hdr.ivt", ".boot_hdr.boot_data"
(see attached test_Debug.ld)
I am changing the address using the MCUXpresso memory settings (see attached mcuxpresso memory.PNG). Am changing the address highlighted in the image to 0x70004000. Now if i jump to address 0x70004000 from my bootloader then my application should start. Is this the correct way or i will have to do something else?
Assuming above changes to start application from 0x70004000 are correct then what is the significance of ".boot_hdr.conf" and then ".boot_hdr.ivt", ".boot_hdr.boot_data" which do not get generated if flash start address is 0x70004000. these sections are only visible in map file if flash start address is 0x70000000.
Another question is i wanted to place a structure at a fixed address in memory suppose 0x70003000 how do i do that using MCUXpresso settings. will i have to manually mention section (e.g. defined as __attribute__((section("test_struct"))) in my linker file or it can be done in MCUXpresso settings. if yes then how?