Hi,
I would like to know how we can create a variable at an absolute address in the binary file, like the definition for ARM compiler:
const uint32_t variable __attribute__((at(0x08010000))) = 0X15056687;
http://www.keil.com/support/man/docs/ar ... 981140.htm
I tried with the linker(.ld) but the addresses are mapped in flash and I don't know which address to use.
At the end, I would like to have my variable at a specified offset in my binary file , to flash it with my firmware .
And would like to access and modify the value from my bootloader and my firmware.
[SOLVED] Create a variable at an absolute address in flash
-
- Posts: 9730
- Joined: Thu Nov 26, 2015 4:08 am
Re: Create a variable at an absolute address in flash
That should be possible using LD files, but it's quite the dirty hack, and you'll need to do some work in parsing the on-flash format and doing the required transformations that the MMU does in order to figure out where your variable will end up in the bin file... can I suggest instead creating a small partition for this and memory mapping it into RAM?
Re: Create a variable at an absolute address in flash
Thank you for you reply ,
I did it , in editing the .ld , it worked
I did it , in editing the .ld , it worked
-
- Posts: 4
- Joined: Thu Sep 07, 2017 12:05 pm
Re: [SOLVED] Create a variable at an absolute address in flash
@hattmt are you able to send an example of how you got this to work? I'm looking to do the same thing to ensure that RTC no init data is always placed in the same location event if we firmware update a device.
Who is online
Users browsing this forum: Baidu [Spider] and 83 guests