I use Peer Manager for storing bonding infomation with nRF52832 (SDK14.2) using gcc.
I understand Peer Manager uses FDS, and FDS uses flash memory from 0x7D000 to 0x80000.
Looking at nordic example, there is no declaration of that FDS are in link file(xxx.ld).
How does gcc know FDS area?
I am afraid if I use flash memory of Application program over 0x7D000, it must crash.
macaddr said:How does gcc know FDS area?
It does not.
The address for FDS is calculated at runtime, depending whether there is a bootloader present or not.
If there is no bootloader, FDS uses top-of-flash minus (at least) 3 pages. You can read top-of-flash indirectly from FICR.
If there IS a bootloader present, it uses bootloader start address minus 3 pages.
I recommend just reading the SDK source code in any case.
Ok. I understand.
But this is very poor implementation in this world that User has to consider his code occupy 3 pages few.
In the future ,he may forget that and in trouble....
Anyway, thank you very much.