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

nRF9160 Hard fault on boot

I'm compiliing against version 1.1.0 of the ncs, and my device have the mfw 1.1.0 firmware running. 

When starting the device, I get the following output: 

This is not very informative, and I would like pointers on how to proceed. 

Parents
  • Hello @tronwa,

    can you please provide the version of nrfjprog?  This can be found issuing nrfjprog --version

    Before programming your device, can you please issue nrfjprog -e to erase your board. Then try to program your device again. 

    Kind regards,
    Øyvind

  • nrfjprog version: 

    nrfjprog version: 10.3.0
    JLinkARM.dll version: 6.54c

    nrfjprog -e and reprogramming the device didn't make any changes in the output. 

  • Ok, then we need to move to the other addresses right after BUS FAULT:

    [11.27 08.48.39.876][00:00:00.487,579] <err> os: BFAR Address: 0x4001850c
    [11.27 08.48.39.876][00:00:00.487,609] <err> os: r0/a1: 0x00000009 r1/a2: 0x000202e5 r2/a3: 0x40018000
    [11.27 08.48.39.876][00:00:00.487,609] <err> os: r3/a4: 0x00000009 r12/ip: 0x0002120c r14/lr: 0x00038f59

    Let me know if you get anything from those.

  • I have the following addresses available: 

    I have the following responses: 

    I really hope this helps Slight smile

  • Ok, this gives us something at least. Line 8 of your response, reent.c. What is this? It does not give any information about line number, so difficult to say what this is.

    Line number 11 points to nrfx_wdt.c and line 90: 

    Is the WDT enabled in your system? If so, can you please try to disable this? To see if you are able to run.


  • Yes, I need a watchdog timer; so it is enabled. Disabling it in the prj.conf file: 

    This makes the project to run. How to proceed on enabling the WDT?

  • I've spoken to my colleagues. We narrowed it down to the WDT configuration not executing. and the issue is most likely that the WDT is not enabled in SPM. 

    To solve this, you have to configure SPM. 

    1. Navigate to your CmakeLists.txt in your project, and the following line just below the “cmake_minimum_required(…)” and save the file:
    2. Next, you need to create the file spm.conf in your application folder
    3. Add the following line to spm.conf:
      CONFIG_SPM_NRF_WDT_NS=y

    Let me know how that works for you.

    Kind regards,
    Øyvind

Reply
  • I've spoken to my colleagues. We narrowed it down to the WDT configuration not executing. and the issue is most likely that the WDT is not enabled in SPM. 

    To solve this, you have to configure SPM. 

    1. Navigate to your CmakeLists.txt in your project, and the following line just below the “cmake_minimum_required(…)” and save the file:
    2. Next, you need to create the file spm.conf in your application folder
    3. Add the following line to spm.conf:
      CONFIG_SPM_NRF_WDT_NS=y

    Let me know how that works for you.

    Kind regards,
    Øyvind

Children