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

Fstorage/FDS Issue With SoftDevice

Hi All,

I am trying to implement fstorage (the issue also happens if you try FDS). I'm using gcc and when I modify the makefile to compile fstorage it requests a file called, "section_vars.h" which is in a folder marker as "experimental". If I include this folder with section_vars.h in it will compile. However, if I try to program the device it says, "This hex file has data in SoftDevice Region...".

I am assuming this file is altering the start address (0x1c000) of the FLASH Application section but am unsure how to change it. Or is it something else?

Any help would be highly appreciated.

Parents
  • Hi,

    I am guessing you are using a wrong linker script, or no linker script at all. Section Variables require a linker script to work with GCC. Check out the GCC linker scripts which are beside the Makefiles of the SDK examples (the extension is .ld).

    Regards,

    E

  • Agreed. I did check that but it seems like the memory is set up correctly. But maybe I missed something? Here is the linker file below:

    I haven't edited anything dealing with the linker in the default Makefile. But I do see where it uses the file: nrf51422_xxac_s130: LINKER_SCRIPT=experimental_ble_app_blinky_gcc_nrf51.ld

    /* Linker script to configure memory regions. */
    

    SEARCH_DIR(.) GROUP(-lgcc -lc -lnosys)

    MEMORY { FLASH (rx) : ORIGIN = 0x1c000, LENGTH = 0x24000 RAM (rwx) : ORIGIN = 0x20002800, LENGTH = 0x5800 }

    SECTIONS { .fs_data_out ALIGN(4): { PROVIDE( __start_fs_data = .); KEEP(*(fs_data)) PROVIDE( __stop_fs_data = .); } = 0 }

    INCLUDE "nrf5x_common.ld"

    Any thoughts or suggestions?

Reply
  • Agreed. I did check that but it seems like the memory is set up correctly. But maybe I missed something? Here is the linker file below:

    I haven't edited anything dealing with the linker in the default Makefile. But I do see where it uses the file: nrf51422_xxac_s130: LINKER_SCRIPT=experimental_ble_app_blinky_gcc_nrf51.ld

    /* Linker script to configure memory regions. */
    

    SEARCH_DIR(.) GROUP(-lgcc -lc -lnosys)

    MEMORY { FLASH (rx) : ORIGIN = 0x1c000, LENGTH = 0x24000 RAM (rwx) : ORIGIN = 0x20002800, LENGTH = 0x5800 }

    SECTIONS { .fs_data_out ALIGN(4): { PROVIDE( __start_fs_data = .); KEEP(*(fs_data)) PROVIDE( __stop_fs_data = .); } = 0 }

    INCLUDE "nrf5x_common.ld"

    Any thoughts or suggestions?

Children
No Data
Related