This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Segger linker symbol location

I'm a relative novice to linker files, just enough to be dangerous, but I have a need to understand what the Segger linker is doing.  I have some success using `flash_placement.xml` to get buffers into their own AHB controllers, but when I try to jostle things around too much, I get errors.  One of the big barriers for me seems to be that I don't know where the symbols for the other sections come from.  Can someone tell me how the linker knows where to find, say, `__bss_start__` or `__start_fs_data`?  Or are these keywords internal to the linker (like `__attribute__`, etc.)?  Even so, a symbol such as `__start_nrf_sections_run` seems like it must be defined somewhere?  I have searched the project but I'm not finding them anywhere.

Parents
  • I've never used the SES toolchain, but the Gnu toolchain has utilities such as 'objdump' and 'nm' which can dump out the symbol information from the compiled executable.  You can also produce a listing file with objdump.  The Gnu linker can add symbols that you mention using a linker script (the *.ld files in the nRF SDK).  Perhaps the SES toolchain has some similar utilities?

Reply
  • I've never used the SES toolchain, but the Gnu toolchain has utilities such as 'objdump' and 'nm' which can dump out the symbol information from the compiled executable.  You can also produce a listing file with objdump.  The Gnu linker can add symbols that you mention using a linker script (the *.ld files in the nRF SDK).  Perhaps the SES toolchain has some similar utilities?

Children
No Data
Related