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

ERROR: overflowed by 8192 bytes

Hello

I had integrated the DFU client stack in ble_thread_dyn_hrs_coap_srv_freertos  project.

SDK : nRF5_SDK_for_Thread_and_Zigbee_v4.1.0_32ce5f8

After clearing all the errors i facing the new error that is

Output/Release/Exe/ble_thread_dyn_freertos_pca10056_s140.elf section `.bootloader_settings_page' will not fit in region `UNPLACED_SECTIONS'

region `UNPLACED_SECTIONS' overflowed by 8192 bytes

can anyone help me in solving this error.

Thanks in advance!!!!

Parents
  • Hi,

    Which toolchain are you using? Have you used <SDK>\examples\zigbee\ota\client\ as reference? If so and you use SES, then you should look at the flash_placement.xml and do the same in your project (search for bootloader_settings_page).

  • Which toolchain are you using? 

    7 2018-q2-update 

    <SDK>\examples\zigbee\ota\client\ as reference?

    No

    If so and you use SES, then you should look at the flash_placement.xml and do the same in your project

    i did the same thing im still getting the same error

  • <!DOCTYPE Linker_Placement_File>
    <Root name="Flash Section Placement">
      <MemorySegment name="FLASH" start="$(FLASH_PH_START)" size="$(FLASH_PH_SIZE)">
        <ProgramSection load="no" name=".reserved_flash" start="$(FLASH_PH_START)" size="$(FLASH_START)-$(FLASH_PH_START)" />
        <ProgramSection alignment="0x100" load="Yes" name=".vectors" start="$(FLASH_START)" />
        <ProgramSection alignment="4" load="Yes" name=".init" />
        <ProgramSection alignment="4" load="Yes" name=".init_rodata" />
        <ProgramSection alignment="4" load="Yes" name=".text" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".sdh_soc_observers" inputsections="*(SORT(.sdh_soc_observers*))" address_symbol="__start_sdh_soc_observers" end_symbol="__stop_sdh_soc_observers" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".sdh_ble_observers" inputsections="*(SORT(.sdh_ble_observers*))" address_symbol="__start_sdh_ble_observers" end_symbol="__stop_sdh_ble_observers" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".pwr_mgmt_data" inputsections="*(SORT(.pwr_mgmt_data*))" address_symbol="__start_pwr_mgmt_data" end_symbol="__stop_pwr_mgmt_data" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".sdh_stack_observers" inputsections="*(SORT(.sdh_stack_observers*))" address_symbol="__start_sdh_stack_observers" end_symbol="__stop_sdh_stack_observers" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".sdh_req_observers" inputsections="*(SORT(.sdh_req_observers*))" address_symbol="__start_sdh_req_observers" end_symbol="__stop_sdh_req_observers" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".sdh_state_observers" inputsections="*(SORT(.sdh_state_observers*))" address_symbol="__start_sdh_state_observers" end_symbol="__stop_sdh_state_observers" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".nrf_queue" inputsections="*(.nrf_queue*)" address_symbol="__start_nrf_queue" end_symbol="__stop_nrf_queue" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".nrf_balloc" inputsections="*(.nrf_balloc*)" address_symbol="__start_nrf_balloc" end_symbol="__stop_nrf_balloc" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".cli_command" inputsections="*(.cli_command*)" address_symbol="__start_cli_command" end_symbol="__stop_cli_command" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".crypto_data" inputsections="*(SORT(.crypto_data*))" address_symbol="__start_crypto_data" end_symbol="__stop_crypto_data" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".log_const_data" inputsections="*(SORT(.log_const_data*))" address_symbol="__start_log_const_data" end_symbol="__stop_log_const_data" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".log_backends" inputsections="*(SORT(.log_backends*))" address_symbol="__start_log_backends" end_symbol="__stop_log_backends" />
        <ProgramSection alignment="4" keep="Yes" load="No" name=".nrf_sections" address_symbol="__start_nrf_sections" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".cli_sorted_cmd_ptrs"  inputsections="*(.cli_sorted_cmd_ptrs*)" runin=".cli_sorted_cmd_ptrs_run"/>
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".fs_data"  inputsections="*(.fs_data*)" runin=".fs_data_run"/>
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".log_dynamic_data"  inputsections="*(SORT(.log_dynamic_data*))" runin=".log_dynamic_data_run"/>
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".log_filter_data"  inputsections="*(SORT(.log_filter_data*))" runin=".log_filter_data_run"/>
        <ProgramSection alignment="4" load="Yes" name=".dtors" />
        <ProgramSection alignment="4" load="Yes" name=".ctors" />
        <ProgramSection alignment="4" load="Yes" name=".rodata" />
        <ProgramSection alignment="4" load="Yes" name=".ARM.exidx" address_symbol="__exidx_start" end_symbol="__exidx_end" />
        <ProgramSection alignment="4" load="Yes" runin=".fast_run" name=".fast" />
        <ProgramSection alignment="4" load="Yes" runin=".data_run" name=".data" />
        <ProgramSection alignment="4" load="Yes" runin=".tdata_run" name=".tdata" />
    	
      </MemorySegment>
      <MemorySegment name="RAM" start="$(RAM_PH_START)" size="$(RAM_PH_SIZE)">
        <ProgramSection load="no" name=".reserved_ram" start="$(RAM_PH_START)" size="$(RAM_START)-$(RAM_PH_START)" />
        <ProgramSection alignment="0x100" load="No" name=".vectors_ram" start="$(RAM_START)" address_symbol="__app_ram_start__"/>
        <ProgramSection alignment="4" keep="Yes" load="No" name=".nrf_sections_run" address_symbol="__start_nrf_sections_run" />
        <ProgramSection alignment="4" keep="Yes" load="No" name=".cli_sorted_cmd_ptrs_run" address_symbol="__start_cli_sorted_cmd_ptrs" end_symbol="__stop_cli_sorted_cmd_ptrs" />
        <ProgramSection alignment="4" keep="Yes" load="No" name=".fs_data_run" address_symbol="__start_fs_data" end_symbol="__stop_fs_data" />
        <ProgramSection alignment="4" keep="Yes" load="No" name=".log_dynamic_data_run" address_symbol="__start_log_dynamic_data" end_symbol="__stop_log_dynamic_data" />
        <ProgramSection alignment="4" keep="Yes" load="No" name=".log_filter_data_run" address_symbol="__start_log_filter_data" end_symbol="__stop_log_filter_data" />
        <ProgramSection alignment="4" keep="Yes" load="No" name=".nrf_sections_run_end" address_symbol="__end_nrf_sections_run" />
        <ProgramSection alignment="4" load="No" name=".fast_run" />
        <ProgramSection alignment="4" load="No" name=".data_run" />
        <ProgramSection alignment="4" load="No" name=".tdata_run" />
        <ProgramSection alignment="4" load="No" name=".bss" />
        <ProgramSection alignment="4" load="No" name=".tbss" />
        <ProgramSection alignment="4" load="No" name=".non_init" />
        <ProgramSection alignment="4" size="__HEAPSIZE__" load="No" name=".heap" />
        <ProgramSection alignment="8" size="__STACKSIZE__" load="No" place_from_segment_end="Yes" name=".stack"  address_symbol="__StackLimit" end_symbol="__StackTop"/>
        <ProgramSection alignment="8" size="__STACKSIZE_PROCESS__" load="No" name=".stack_process" />
      </MemorySegment>
      <MemorySegment name="ot_flash_data" start="0xfc000" size="0x4000">
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".ot_flash_data" address_symbol="__start_ot_flash_data" end_symbol="__stop_ot_flash_data" start = "0xfc000" size="0x4000" />
      </MemorySegment>
    </Root>
    
    This is my flash_placement.xml
    <!DOCTYPE CrossStudio_Session_File>
    <session>
     <Bookmarks/>
     <Breakpoints groups="Breakpoints" active_group="Breakpoints"/>
     <ExecutionProfileWindow/>
     <FrameBufferWindow>
      <FrameBufferWindow bufferHeight="-1" addressSpace="" addressText="" bufferWidth="-1"/>
     </FrameBufferWindow>
     <Memory1/>
     <Memory2/>
     <Memory3/>
     <Memory4/>
     <Project>
      <ProjectSessionItem path="ble_thread_dyn_freertos_pca10056_s140"/>
      <ProjectSessionItem path="ble_thread_dyn_freertos_pca10056_s140;ble_thread_dyn_freertos_pca10056_s140"/>
      <ProjectSessionItem path="ble_thread_dyn_freertos_pca10056_s140;ble_thread_dyn_freertos_pca10056_s140;Application"/>
      <ProjectSessionItem path="ble_thread_dyn_freertos_pca10056_s140;ble_thread_dyn_freertos_pca10056_s140;Application;DFU Header files IOT"/>
      <ProjectSessionItem path="ble_thread_dyn_freertos_pca10056_s140;ble_thread_dyn_freertos_pca10056_s140;Application;DFU_client"/>
      <ProjectSessionItem path="ble_thread_dyn_freertos_pca10056_s140;ble_thread_dyn_freertos_pca10056_s140;Application;nRF DFU"/>
      <ProjectSessionItem path="ble_thread_dyn_freertos_pca10056_s140;ble_thread_dyn_freertos_pca10056_s140;nRF_Libraries"/>
      <ProjectSessionItem path="ble_thread_dyn_freertos_pca10056_s140;ble_thread_dyn_freertos_pca10056_s140;nRF_Thread"/>
     </Project>
     <Register1/>
     <Register2/>
     <Register3/>
     <Register4/>
     <Threads>
      <ThreadsWindow showLists=""/>
     </Threads>
     <TraceWindow>
      <Trace enabled="Yes"/>
     </TraceWindow>
     <Watch1>
      <Watches active="1" update="Never"/>
     </Watch1>
     <Watch2>
      <Watches active="0" update="Never"/>
     </Watch2>
     <Watch3>
      <Watches active="0" update="Never"/>
     </Watch3>
     <Watch4>
      <Watches active="0" update="Never"/>
     </Watch4>
     <Files>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="165" useTextEdit="1" openedFrom="" useBinaryEdit="0" left="0" path="../../../main.c" selected="0" top="205" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="172" useTextEdit="1" openedFrom="E:/Thread_Zigbee/examples/multiprotocol/ble_thread/ble_thread_freertos/main.c" useBinaryEdit="0" left="0" path="DFU_client.c" selected="0" top="160" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="7491" useTextEdit="1" openedFrom="" useBinaryEdit="0" left="0" path="../config/sdk_config.h" selected="0" top="7472" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="280" useTextEdit="1" openedFrom="E:/Thread_Zigbee/components/iot/background_dfu/transport/coap/coap_dfu.c" useBinaryEdit="0" left="0" path="../../../../../../../components/libraries/bootloader/dfu/nrf_dfu_settings.c" selected="0" top="269" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="775" useTextEdit="1" openedFrom="E:/Thread_Zigbee/examples/multiprotocol/ble_thread/ble_thread_freertos/pca10056/s140/ses/DFU_client.c" useBinaryEdit="0" left="0" path="../../../../../../../components/iot/coap/coap.c" selected="0" top="763" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="56" useTextEdit="1" openedFrom="E:/Thread_Zigbee/components/iot/coap/coap.c" useBinaryEdit="0" left="0" path="../../../../../../../components/iot/coap/coap_transport.h" selected="0" top="44" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="0" useTextEdit="1" openedFrom="E:/Thread_Zigbee/components/iot/coap/coap_transport.h" useBinaryEdit="0" left="0" path="../../../../../../../external/nrf_tls/nrf_tls.h" selected="0" top="0" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="0" useTextEdit="1" openedFrom="" useBinaryEdit="0" left="0" path="../../../../../../../components/iot/background_dfu/background_dfu_state.h" selected="0" top="0" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="1315" useTextEdit="1" openedFrom="E:/Thread_Zigbee/examples/multiprotocol/ble_thread/ble_thread_freertos/pca10056/s140/ses/DFU_client.c" useBinaryEdit="0" left="0" path="../../../../../../../components/iot/background_dfu/transport/coap/coap_dfu.c" selected="0" top="1289" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="345" useTextEdit="1" openedFrom="E:/Thread_Zigbee/examples/multiprotocol/ble_thread/ble_thread_freertos/pca10056/s140/ses/DFU_client.c" useBinaryEdit="0" left="0" path="../../../../../../../components/thread/utils/thread_utils.c" selected="1" top="26" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="56" useTextEdit="1" openedFrom="" useBinaryEdit="0" left="0" path="../../../../../../../components/libraries/bootloader/dfu/nrf_dfu_flash.c" selected="0" top="56" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="0" useTextEdit="1" openedFrom="E:/Thread_Zigbee/components/iot/background_dfu/transport/coap/coap_dfu.c" useBinaryEdit="0" left="0" path="../../../../../../../components/iot/background_dfu/transport/background_dfu_transport.h" selected="0" top="39" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="0" useTextEdit="1" openedFrom="E:/Thread_Zigbee/components/iot/background_dfu/transport/coap/coap_dfu.c" useBinaryEdit="0" left="0" path="../../../../../../../components/iot/common/iot_errors.h" selected="0" top="0" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="635" useTextEdit="1" openedFrom="E:/Thread_Zigbee/examples/multiprotocol/ble_thread/ble_thread_freertos/pca10056/s140/ses/DFU_client.c" useBinaryEdit="0" left="0" path="../../../../../../../components/libraries/mem_manager/mem_manager.c" selected="0" top="627" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="116" useTextEdit="1" openedFrom="E:/Thread_Zigbee/examples/multiprotocol/ble_thread/ble_thread_freertos/pca10056/s140/ses/DFU_client.c" useBinaryEdit="0" left="0" path="../../../../../../../components/libraries/scheduler/app_scheduler.h" selected="0" top="107" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="262" useTextEdit="1" openedFrom="E:/Thread_Zigbee/examples/multiprotocol/ble_thread/ble_thread_freertos/pca10056/s140/ses/DFU_client.c" useBinaryEdit="0" left="0" path="../../../../../../../components/libraries/scheduler/app_scheduler.c" selected="0" top="250" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="602" useTextEdit="1" openedFrom="E:/Thread_Zigbee/components/iot/background_dfu/transport/coap/coap_dfu.c" useBinaryEdit="0" left="0" path="../../../../../../../components/iot/background_dfu/background_dfu_state.c" selected="0" top="591" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="40" useTextEdit="1" openedFrom="" useBinaryEdit="0" left="0" path="../../../../../../../components/libraries/sha256/sha256.c" selected="0" top="36" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="0" useTextEdit="1" openedFrom="E:/Thread_Zigbee/components/libraries/sha256/sha256.c" useBinaryEdit="0" left="0" path="../../../../../../../components/libraries/sha256/sha256.h" selected="0" top="0" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="616" useTextEdit="1" openedFrom="E:/Thread_Zigbee/components/iot/background_dfu/transport/coap/coap_dfu.c" useBinaryEdit="0" left="0" path="../../../../../../../components/iot/coap/coap_message.c" selected="0" top="605" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="198" useTextEdit="1" openedFrom="E:/Thread_Zigbee/components/iot/background_dfu/transport/coap/coap_dfu.c" useBinaryEdit="0" left="0" path="../../../../../../../components/iot/coap/coap_block.c" selected="0" top="187" codecName="Default"/>
      <SessionOpenFile windowGroup="DockEditLeft" x="0" y="825" useTextEdit="1" openedFrom="E:/Thread_Zigbee/components/iot/background_dfu/transport/coap/coap_dfu.c" useBinaryEdit="0" left="0" path="../../../../../../../components/libraries/bootloader/dfu/nrf_dfu_req_handler.c" selected="0" top="814" codecName="Default"/>
     </Files>
     <ARMCrossStudioWindow activeProject="ble_thread_dyn_freertos_pca10056_s140" fileDialogDefaultFilter="*.c;*.cpp;*.cxx;*.cc;*.h;*.hpp;*.hxx" autoConnectTarget="J-Link" buildConfiguration="Release" sessionSettings="" debugSearchFileMap="" fileDialogInitialDirectory="E:/Thread_Zigbee/external/micro-ecc/micro-ecc" debugSearchPath="" autoConnectCapabilities="3199"/>
    </session>
    
    this is my ble_thread_dyn_freertos_pca10056_s140.emSession

  • I'm unable to upload the .emproject here any other source 

  • What do you mean?

    In any case, there is clearly an issue with your flash_placement.xml. Please refer to examples\zigbee\ota\bootloader\pca10056\mbr\ses\flash_placement.xml and copy the missing section to your falsh_placement.xml. You are missing this whole section:

      <MemorySegment name="mbr_params_page" start="0x000FE000" size="0x1000">
        <ProgramSection alignment="4" keep="Yes" load="No" name=".mbr_params_page" address_symbol="__start_mbr_params_page" end_symbol="__stop_mbr_params_page" start = "0x000FE000" size="0x1000" />
      </MemorySegment>
      <MemorySegment name="bootloader_settings_page" start="0x000FF000" size="0x1000">
        <ProgramSection alignment="4" keep="Yes" load="No" name=".bootloader_settings_page" address_symbol="__start_bootloader_settings_page" end_symbol="__stop_bootloader_settings_page" start = "0x000FF000" size="0x1000" />
      </MemorySegment>
      <MemorySegment name="uicr_bootloader_start_address" start="0x10001014" size="0x4">
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".uicr_bootloader_start_address" address_symbol="__start_uicr_bootloader_start_address" end_symbol="__stop_uicr_bootloader_start_address" start = "0x10001014" size="0x4" />
      </MemorySegment>
      <MemorySegment name="uicr_mbr_params_page" start="0x10001018" size="0x4">
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".uicr_mbr_params_page" address_symbol="__start_uicr_mbr_params_page" end_symbol="__stop_uicr_mbr_params_page" start = "0x10001018" size="0x4" />
      </MemorySegment>

  • when I replace the flash_placement.xml file with the above code snippet I got the following error.

Reply Children
  • What does your flash_placement.xml file look like now?

  • <!DOCTYPE Linker_Placement_File>
    <Root name="Flash Section Placement">
      <MemorySegment name="FLASH" start="$(FLASH_PH_START)" size="$(FLASH_PH_SIZE)">
        <ProgramSection load="no" name=".reserved_flash" start="$(FLASH_PH_START)" size="$(FLASH_START)-$(FLASH_PH_START)" />
        <ProgramSection alignment="0x100" load="Yes" name=".vectors" start="$(FLASH_START)" />
        <ProgramSection alignment="4" load="Yes" name=".init" />
        <ProgramSection alignment="4" load="Yes" name=".init_rodata" />
        <ProgramSection alignment="4" load="Yes" name=".text" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".sdh_soc_observers" inputsections="*(SORT(.sdh_soc_observers*))" address_symbol="__start_sdh_soc_observers" end_symbol="__stop_sdh_soc_observers" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".sdh_ble_observers" inputsections="*(SORT(.sdh_ble_observers*))" address_symbol="__start_sdh_ble_observers" end_symbol="__stop_sdh_ble_observers" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".pwr_mgmt_data" inputsections="*(SORT(.pwr_mgmt_data*))" address_symbol="__start_pwr_mgmt_data" end_symbol="__stop_pwr_mgmt_data" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".sdh_stack_observers" inputsections="*(SORT(.sdh_stack_observers*))" address_symbol="__start_sdh_stack_observers" end_symbol="__stop_sdh_stack_observers" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".sdh_req_observers" inputsections="*(SORT(.sdh_req_observers*))" address_symbol="__start_sdh_req_observers" end_symbol="__stop_sdh_req_observers" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".sdh_state_observers" inputsections="*(SORT(.sdh_state_observers*))" address_symbol="__start_sdh_state_observers" end_symbol="__stop_sdh_state_observers" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".nrf_queue" inputsections="*(.nrf_queue*)" address_symbol="__start_nrf_queue" end_symbol="__stop_nrf_queue" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".nrf_balloc" inputsections="*(.nrf_balloc*)" address_symbol="__start_nrf_balloc" end_symbol="__stop_nrf_balloc" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".cli_command" inputsections="*(.cli_command*)" address_symbol="__start_cli_command" end_symbol="__stop_cli_command" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".crypto_data" inputsections="*(SORT(.crypto_data*))" address_symbol="__start_crypto_data" end_symbol="__stop_crypto_data" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".log_const_data" inputsections="*(SORT(.log_const_data*))" address_symbol="__start_log_const_data" end_symbol="__stop_log_const_data" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".log_backends" inputsections="*(SORT(.log_backends*))" address_symbol="__start_log_backends" end_symbol="__stop_log_backends" />
        <ProgramSection alignment="4" keep="Yes" load="No" name=".nrf_sections" address_symbol="__start_nrf_sections" />
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".cli_sorted_cmd_ptrs"  inputsections="*(.cli_sorted_cmd_ptrs*)" runin=".cli_sorted_cmd_ptrs_run"/>
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".fs_data"  inputsections="*(.fs_data*)" runin=".fs_data_run"/>
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".log_dynamic_data"  inputsections="*(SORT(.log_dynamic_data*))" runin=".log_dynamic_data_run"/>
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".log_filter_data"  inputsections="*(SORT(.log_filter_data*))" runin=".log_filter_data_run"/>
        <ProgramSection alignment="4" load="Yes" name=".dtors" />
        <ProgramSection alignment="4" load="Yes" name=".ctors" />
        <ProgramSection alignment="4" load="Yes" name=".rodata" />
        <ProgramSection alignment="4" load="Yes" name=".ARM.exidx" address_symbol="__exidx_start" end_symbol="__exidx_end" />
        <ProgramSection alignment="4" load="Yes" runin=".fast_run" name=".fast" />
        <ProgramSection alignment="4" load="Yes" runin=".data_run" name=".data" />
        <ProgramSection alignment="4" load="Yes" runin=".tdata_run" name=".tdata" />
    	
      </MemorySegment>
      <MemorySegment name="RAM" start="$(RAM_PH_START)" size="$(RAM_PH_SIZE)">
        <ProgramSection load="no" name=".reserved_ram" start="$(RAM_PH_START)" size="$(RAM_START)-$(RAM_PH_START)" />
        <ProgramSection alignment="0x100" load="No" name=".vectors_ram" start="$(RAM_START)" address_symbol="__app_ram_start__"/>
        <ProgramSection alignment="4" keep="Yes" load="No" name=".nrf_sections_run" address_symbol="__start_nrf_sections_run" />
        <ProgramSection alignment="4" keep="Yes" load="No" name=".cli_sorted_cmd_ptrs_run" address_symbol="__start_cli_sorted_cmd_ptrs" end_symbol="__stop_cli_sorted_cmd_ptrs" />
        <ProgramSection alignment="4" keep="Yes" load="No" name=".fs_data_run" address_symbol="__start_fs_data" end_symbol="__stop_fs_data" />
        <ProgramSection alignment="4" keep="Yes" load="No" name=".log_dynamic_data_run" address_symbol="__start_log_dynamic_data" end_symbol="__stop_log_dynamic_data" />
        <ProgramSection alignment="4" keep="Yes" load="No" name=".log_filter_data_run" address_symbol="__start_log_filter_data" end_symbol="__stop_log_filter_data" />
        <ProgramSection alignment="4" keep="Yes" load="No" name=".nrf_sections_run_end" address_symbol="__end_nrf_sections_run" />
        <ProgramSection alignment="4" load="No" name=".fast_run" />
        <ProgramSection alignment="4" load="No" name=".data_run" />
        <ProgramSection alignment="4" load="No" name=".tdata_run" />
        <ProgramSection alignment="4" load="No" name=".bss" />
        <ProgramSection alignment="4" load="No" name=".tbss" />
        <ProgramSection alignment="4" load="No" name=".non_init" />
        <ProgramSection alignment="4" size="__HEAPSIZE__" load="No" name=".heap" />
        <ProgramSection alignment="8" size="__STACKSIZE__" load="No" place_from_segment_end="Yes" name=".stack"  address_symbol="__StackLimit" end_symbol="__StackTop"/>
        <ProgramSection alignment="8" size="__STACKSIZE_PROCESS__" load="No" name=".stack_process" />
      </MemorySegment>
      <MemorySegment name="mbr_params_page" start="0x000FE000" size="0x1000">
        <ProgramSection alignment="4" keep="Yes" load="No" name=".mbr_params_page" address_symbol="__start_mbr_params_page" end_symbol="__stop_mbr_params_page" start = "0x000FE000" size="0x1000" />
      </MemorySegment>
      <MemorySegment name="bootloader_settings_page" start="0x000FF000" size="0x1000">
        <ProgramSection alignment="4" keep="Yes" load="No" name=".bootloader_settings_page" address_symbol="__start_bootloader_settings_page" end_symbol="__stop_bootloader_settings_page" start = "0x000FF000" size="0x1000" />
      </MemorySegment>
      <MemorySegment name="uicr_bootloader_start_address" start="0x10001014" size="0x4">
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".uicr_bootloader_start_address" address_symbol="__start_uicr_bootloader_start_address" end_symbol="__stop_uicr_bootloader_start_address" start = "0x10001014" size="0x4" />
      </MemorySegment>
      <MemorySegment name="uicr_mbr_params_page" start="0x10001018" size="0x4">
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".uicr_mbr_params_page" address_symbol="__start_uicr_mbr_params_page" end_symbol="__stop_uicr_mbr_params_page" start = "0x10001018" size="0x4" />
      </MemorySegment>
      
      </MemorySegment>
    </Root>
    
    this is my flashplacement.xml file after updating.

  • The error makes sense as you have an invalid XML file. You should remove the additional </MemorySegment> online 67.

  • Thanks for your reply after that I got the following error.

  • I see. You also lack ot_flash_datea as indicated by the error. Compare with a example flash_placement.xml file that includes it, for instance examples\multiprotocol\ble_thread\ble_thread_dyn_coap_srv_eddystone\pca10056\s140\ses\flash_placement.xml. So yo need to add:

      <MemorySegment name="ot_flash_data" start="0xfc000" size="0x4000">
        <ProgramSection alignment="4" keep="Yes" load="Yes" name=".ot_flash_data" address_symbol="__start_ot_flash_data" end_symbol="__stop_ot_flash_data" start = "0xfc000" size="0x4000" />
      </MemorySegment>

    I assume there are more errors as well. I recommend you search through existing projects when you get an error to see how the things you are having problems with are handled in the examples. Generally you can do the same.

Related