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

nRF53 NET core flashing, only first 4 KiB flashed unless a mass erase is performed.

I am not sure whether this is an issue with the nRF53 Engineering Example or with the SEGGER software. 

I don't see any errata describing the behaviour I am experiencing:

When I try to run an application on the NET core, it will only write the first 4 KiB to flash. 

I have to do a mass erase of the NET core for the whole application to be written to flash.

I am using SEGGER software version V6.86e with GDB version 9.2

Parents
  • Hi,

    Do you see this issue with SEGGER software V6.86f as well? (That includes a fix for programming the nRF53 network core). If not, which PDK version do you have?

  • Version V6.86f gives different problems. It seems not flash at all.

    It keeps giving a popup saying the device is secured. Regardless whether I answer Yes or No, the SEGGER software seems to hang after this. I am using a PDK version 0.8.0

  • Hi,

    I see. I have not been able to reproduce any of the issues using 6.86e or 6.86f with nrfjprog, but perhaps it matters which J-Link tool you use and how. Can you elaborate on how you reproduce this?

  • I am using Eclipse with the GNU MCU Eclipse plugin and GDB version 9.2. 

    I have configured two projects, one for the application core, and one for the network core.

    1) I launch a debugger session for the Network Core, 

    2) I launch a debugging session for the Application Core,

    3) I start the Application core,  (it will execute nrf_reset_network_force_off(NRF_RESET, false);  )

    4) I start the Network Core. 


    Using version 6.86e:

    Using JFlashLiteExe, I first erase the Network core.

    I follow these steps for an empty loop net application.

    Result: The application runs as expected.

    Then, I will create an application that changes the locations where certain code resides in flash. I archieve this by adding a call to sprintf in my code. When I run the network core, it will hard fault. The location of the hard fault is beyond 0x1001000. The disassembly of the code shows "<UNDEFINED> instruction: 0xffffffff", indicating the flash has not been written.

    When I perform a flash erase using JFlashLiteExe, and then perform these steps again, the network core runs as expected. 


    Using version 6.86f: 

    The behaviour is little different then I had before (Previously I swapped the order of launching) 

    When I try to erase the network core using JFlashLiteExe, the device is secured message pops up.

    When I choose yes, the JFlashLite indicated it succeeded. 

    When I launch the network core, the popup comes again.

    When I choose yes, the launch fails with "Starting J-Link GDB Server timed out."

    When I choose no, the launch continues, but it seems without flashing, as the application halts at 0xdeadbeee. (rather then waiting for the application core to release the network core) 

Reply
  • I am using Eclipse with the GNU MCU Eclipse plugin and GDB version 9.2. 

    I have configured two projects, one for the application core, and one for the network core.

    1) I launch a debugger session for the Network Core, 

    2) I launch a debugging session for the Application Core,

    3) I start the Application core,  (it will execute nrf_reset_network_force_off(NRF_RESET, false);  )

    4) I start the Network Core. 


    Using version 6.86e:

    Using JFlashLiteExe, I first erase the Network core.

    I follow these steps for an empty loop net application.

    Result: The application runs as expected.

    Then, I will create an application that changes the locations where certain code resides in flash. I archieve this by adding a call to sprintf in my code. When I run the network core, it will hard fault. The location of the hard fault is beyond 0x1001000. The disassembly of the code shows "<UNDEFINED> instruction: 0xffffffff", indicating the flash has not been written.

    When I perform a flash erase using JFlashLiteExe, and then perform these steps again, the network core runs as expected. 


    Using version 6.86f: 

    The behaviour is little different then I had before (Previously I swapped the order of launching) 

    When I try to erase the network core using JFlashLiteExe, the device is secured message pops up.

    When I choose yes, the JFlashLite indicated it succeeded. 

    When I launch the network core, the popup comes again.

    When I choose yes, the launch fails with "Starting J-Link GDB Server timed out."

    When I choose no, the launch continues, but it seems without flashing, as the application halts at 0xdeadbeee. (rather then waiting for the application core to release the network core) 

Children
Related