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

How to find error causing code witch is caugt by app_error_weak.c

I have built a custom chip with nrf52840 on it.

I use Ses as development tool.

I took as startingpoint for software SDK15.3 with Softdevice 140

I took the ble_template from the SDK and copied my code init.

I can compile the code without any error, but when I flash it on the device it does not start to advertise.

In debugger mode it starts up well, but then runs into app_error_weak.c

now the function gives error code and stuff, but I don't know, how to find the code witch caused the error

that is what i got from ses and the error handler

I'm not sure if its relevant but in call stack ar two functions in it

the first is in app_error_weak.c

the secound is in app_error_handler_gcc.c

and shows those parameters 

because error_code in one handler and id in the other ar the same i guess, that 1 error is thrown and chaugt by both handlers, or

one handler calls the other.

But I don't know now how to solve this. And how to search for the code whitch caused the error.

thanks for any help

Parents Reply
  • When there is a stack corruption or stack overflow, then it is very likely that the app_error handler gives garbage values as references. You need to find out how much RAM your application is using. You could do this by paining your application part of the RAM with a pattern and letting the program run for a while and see if the whole RAM is being used by the application. If there are no written pattern values anywhere in your application specific RAM region, then we are sure that it is a stack corruption.

Children
Related