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

PERSISTANT_STORAGE with dongle w/ mesh SDK crashes.

I am trying to get 2 of the nRF52840 dongles provisioned on a mesh network (client + server).  (versions nRF5_SDK_15.3.0_59ac345 / nrf5SDKforMeshv310src)

I am using examples from the light switch example + made adjustments to the button and LED assignments.  Also, I had to add defines for LED_START/LED_END to the PCA10059 config because they are missing.

---

I also added both the additional lines needed in flash_placement.xml:

To FLASH segment:
<ProgramSection
alignment="4" keep="Yes" load="Yes" name=".nrf_mesh_flash" inputsections="*(SORT(.nrf_mesh_flash.*))" address_symbol="__start_nrf_mesh_flash" end_symbol="__stop_nrf_mesh_flash"/>
To RAM segment:
<ProgramSection
alignment="4" keep="Yes" load="No" name=".nrf_mesh_ram" inputsections="*(SORT(.nrf_mesh_ram.*))" address_symbol="__start_nrf_mesh_ram" end_symbol="__stop_nrf_mesh_ram"/>

---

An error is being thrown on line 108 of mesh_config_backend.c by NRF_MESH_ASSERT:

NRF_MESH_ASSERT(p_file != NULL && p_file->p_backend_data != NULL);

--

...which is causing the sleep_forever() which lights up all the LED's

---

When I disable PERSISTANT_STORAGE by setting this = 0 in the Preproc Defs I am able to run the dongle firmware (both client/server)

I am able to see the nodes in IOS rF Mesh App, but when I try to identify it just hangs with the spinner. (prob because persistence is disabled.)

---

Can you guys please send me a link to any alpha/beta repos that might have a fix for this? It looks like the mesh_config_entry (p_entries) are maybe not getting configured properly.


Is there really no way send console output through the UART via serial on the USB port? Thats all I need for now, dont need j-link debug and all that..

Thanks,
Ryan
Parents
  • The nrf Connect application reports that my application size is 97296 bytes, so I have tried to adjust the linking paramerters to the following

    FLASH_PH_START=0x0

    FLASH_PH_SIZE=0x100000

    RAM_PH_START=0x20000000

    RAM_PH_SIZE=0x40000

    FLASH_START=0x26000

    FLASH_SIZE=0x17C10

    RAM_START=0x2003DC10

    RAM_SIZE=0x23F0

    ----

    but when I do this I am getting compile errors:

    Building ‘light_switch_server_nrf52840_xxAA_s140_6.1.0’ from solution ‘light_switch_server_nrf52840_xxAA_s140_6.1.0’ in configuration ‘Release’
    Generating linker script ‘light_switch_server_nrf52840_xxAA_s140_6.1.0.ld’
    Linking light_switch_server_nrf52840_xxAA_s140_6.1.0.elf
    .bss is too large to fit in RAM memory segment
    .heap is too large to fit in RAM memory segment
    section .heap overlaps absolute placed section .stack
    .bss is too large to fit in RAM memory segment
    .heap is too large to fit in RAM memory segment
    section .heap overlaps absolute placed section .stack
    Build failed

    ----

Reply
  • The nrf Connect application reports that my application size is 97296 bytes, so I have tried to adjust the linking paramerters to the following

    FLASH_PH_START=0x0

    FLASH_PH_SIZE=0x100000

    RAM_PH_START=0x20000000

    RAM_PH_SIZE=0x40000

    FLASH_START=0x26000

    FLASH_SIZE=0x17C10

    RAM_START=0x2003DC10

    RAM_SIZE=0x23F0

    ----

    but when I do this I am getting compile errors:

    Building ‘light_switch_server_nrf52840_xxAA_s140_6.1.0’ from solution ‘light_switch_server_nrf52840_xxAA_s140_6.1.0’ in configuration ‘Release’
    Generating linker script ‘light_switch_server_nrf52840_xxAA_s140_6.1.0.ld’
    Linking light_switch_server_nrf52840_xxAA_s140_6.1.0.elf
    .bss is too large to fit in RAM memory segment
    .heap is too large to fit in RAM memory segment
    section .heap overlaps absolute placed section .stack
    .bss is too large to fit in RAM memory segment
    .heap is too large to fit in RAM memory segment
    section .heap overlaps absolute placed section .stack
    Build failed

    ----

Children
No Data
Related