This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

what is the __data_start__ ??

I'm setting the eclipse developement enviroment without makefile provided by Nordic.

But following messages apear at linking phase..

C:/Users/isp40/OneDrive/Keil_projects/nRF51/nRF5_SDK_11.0.0_89a8197/components/softdevice/common/softdevice_handler/softdevice_handler.c:442: undefined reference to `__data_start__'

C:/Users/isp40/OneDrive/Keil_projects/nRF51/nRF5_SDK_11.0.0_89a8197/components/softdevice/common/softdevice_handler/softdevice_handler.c:487: undefined reference to `__data_start__'

I declared the "uint32_t data_start = 0x20002080;" in main.c but result was the same..

How can I solve this problems?

Is it possible to develope without makefile provided by Nordic??

Parents
  • Hi,

    Sure it is, I'm using my own Makefile which is not based on nRF5 SDK examples and it works well. Now to your problem with __data_start__:

    • This is variable which is coming from LD script. By default it is in nrf5x_common.ld placed in nRF5 SDK ./components/toolchain/gcc/ path.
    • That file is normally included by your project-specific LD file and so during linking it is visible and available for modules like softdevice_handler which are using it.
    • This is not specific to Nordic SDK or nRF5x chips, this is pretty common way how to link ARM projects with GCC.

    So in summary: easy fix is to include nRF5 SDK generic LD scripts in your project LD script, then writing your custom Makefile should be a problem.

  • Well you've chosen the tool, no one has forced you (and you are free to abandon it - as I did - if you cannot make it work;)

Reply Children
No Data
Related