Working with a Nordic nRF52840, which has RAM divided into nine AHB secondaries. If I add a ProgramSection for one of these in the RAM MemorySegment in flash_placement.xml, then I declare a buffer in that named RAM region in the header file of a module, the buffer is copied when I use it in the code file. This does not happen if I declare a buffer in that named RAM region in the code file of a module. This behavior occurs with all optimization levels.
Minimal example:
flash_placement.xml:
some_module.h:
some_module.c:
Results in this error:
where the greater memory boundary grows with the number of references to the buffer in the code file.
Minimal example:
flash_placement.xml:
XML Source Code
some_module.h:
some_module.c:
Results in this error:
Shell-Script
- 1> C:/Program Files/SEGGER/SEGGER Embedded Studio for ARM 5.42b/gcc/arm-none-eabi/bin/ld: error: section .buffer1 overlaps absolute placed section .buffer2
- 1> C:/Program Files/SEGGER/SEGGER Embedded Studio for ARM 5.42b/gcc/arm-none-eabi/bin/ld: section .buffer1 VMA [000000002000c000,0000000020013fff] overlaps section .buffer2 VMA [000000002000a000,0000000020013fff]
The post was edited 1 time, last by jacobw56 ().