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

PCA63519-SR3_nRF52832_Shield demo can't run in my board

I configured the pca63519-sr3_nrf52832_shield to fit on my board (actually disabled all peripherals, only the bluetooth protocol part), but found that the modified code could run on nrf52-dk, but could not run on my board, via RTT hint "[00000000] <error> app_error: error 3 [NRF_ERROR_INTERNAL] at..\..\..\ Source \ Modules \ m_init. C: 163"

How did this problem arise and how can it be solved?

my modified config file:sdk_config.h , sr3_config_nrf52832_pca63519.h

my hardware sch:SCHEMATIC.pdf

my rtt output log:rtt_output.txt

Parents
  • Hi,

    There is a lot of internal functions that is run inside m_coms_init(), which is called on line 163 in m_init.c. One initial observation is that your board does not seem to populate the 32.768 kHz low-frequency crystal. To use the softdevice without this crystal, it is necessary to configure the clock source to use the internal RC oscillator. See this post for details on how to change configuration.

    If this does not help, please try setting breakpoints inside m_coms_init() to see how far it gets before returning the error, to determine which function is failing.

    Best regards,
    Jørgen

  • You cannot step the code after the softdevice has been enabled, this will cause an assert as soon as the softdevice is not able to handle one of its internal tasks.

    You need to set a breakpoint, run until you hit the breakpoint, move the breakpoint further down the code, then restart and run from start again. If you are still seeing the same error output on the log, there is something inside m_coms_init that returns the error code. You should check all the return statements, to see where the error is reported and the function returns to m_init.

  • Thanks for the reply. Yes, I have tried the way you said, found in is still the same error in a fixed position, print error message is the same, I have a question, my board can run ble_app_blinky demo, it should be said that the board is no problem, but you can't run the smart remote demo, but I have put all of the peripherals are configured to disable the config, which other hardware must be considered above?

  • hi,team

    The previous reply may be a rough description. This time, I changed the optimization level to 0, and then tracked and debugged. A new discovery was made:

    1. The call to m_coms_init() from the function m_coms_init() returns an error with the error code 0x03

    2, trace debug m_coms_ble_init() function, call peer_manager_init() return error with error code 0x03

    3, trace and debug the peer_manager_init() function. Call PM_init () returns an error with error code 0x03

    4, trace debugging PM_init () function, call pDS_init () return error, error code for NRF_ERROR_STORAGE_FULL

    5, trace debugging pDS_init () function, call fDS_init () return error, error code is FDS_ERR_NO_PAGES

    6, trace debugging fDS_init () function, call pages_init() return error, error code is NO_SWAP

    Now, to verify that the test results are true, set the breakpoint to pages_init(), halt is on pages_init(), and halt is on app_error_handler() when the breakpoint is on pages_init() next line

  • This error indicates that the Flash Data Storage module used by Peer Manager to store bonding information could not allocate required pages in flash. You should run a full erase on the chip on your custom board before flashing the SR3 example. This can be done with "nrfjprog --eraseall" command.

Reply Children
No Data
Related