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

sd_ble_enable: app_ram_base should be adjusted

Hi,

I'm debugging a Nordic mesh example, which is named light_switch_server_nrf52832_xxAA_s132_6.0.0_Debug, after build and go, a message appear: 

sd_ble_enable: app_ram_base should be adjusted to 0x20002DA0

Then, it goes to line 87 of app_error_weak.c and shows: Application memory access: 177494:0, then sleep_forever();

So, how to adjust app_ram_base?

Parents
  • Hi,

    Which Mesh SDK are you using? Have you modified anything? 

    You should be able to adjust the app_ram_base like this: Open your project in SES -> Right click on your project in you project explorer -> "Edit Options" -> In the drop-down in upper left, change from "Debug" to "Common" -> Then press on "Linker" -> "Section Placement Macros" -> Change the "RAM_START" value.

  • Hi, Mttrinh,

    I'm using Mesh SDK 2.2, added 2 lines of code in generic_onoff_state_set_cb,
    that should not impact app_ram_base, right?

    Thanks for telling me how to adjust the app_ram_base, I followed it and it
    works.
    Though, it still goes to line 87 of app_error_weak.c and shows: Application
    memory access: 177494:0, then sleep_forever();

    It goes wrong when run to _DISABLE_IRQS(was_masked); in bearer_event_handler,
    which is at line 388 of bearer_event.c, after this line, it goes to
    disassembly code like this:

    000008ce:
    ldr r3, [pc, #4]
    ldr r3, [r3]
    ldr r3, [r3, #12]
    bx r3

    Then, after about 10 or more steps, it arrive line 87 of app_error_weak.c

    Why it can't execute _DISABLE_IRQS?

Reply
  • Hi, Mttrinh,

    I'm using Mesh SDK 2.2, added 2 lines of code in generic_onoff_state_set_cb,
    that should not impact app_ram_base, right?

    Thanks for telling me how to adjust the app_ram_base, I followed it and it
    works.
    Though, it still goes to line 87 of app_error_weak.c and shows: Application
    memory access: 177494:0, then sleep_forever();

    It goes wrong when run to _DISABLE_IRQS(was_masked); in bearer_event_handler,
    which is at line 388 of bearer_event.c, after this line, it goes to
    disassembly code like this:

    000008ce:
    ldr r3, [pc, #4]
    ldr r3, [r3]
    ldr r3, [r3, #12]
    bx r3

    Then, after about 10 or more steps, it arrive line 87 of app_error_weak.c

    Why it can't execute _DISABLE_IRQS?

Children
No Data
Related