This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to program PCA10028 by drag and drop

Hello,

I want to use the Segger drag and drop programming feature on the PCA10028. I have got a running application with the S120 softdevice. To use the mass storage drag and drop feature of the PCA10028, I merged my application .hex file and the sofdevice .hex file into one complete.hex file with the nordic mergehex.exe tool.

When I drop the new app.hex file to the mass storage device, It seems that nRF51422 chip gets reprogrammed, but the application doesn`t start execution.

Is there any thing wrong in my workflow?

Regards, BTprogrammer

Parents Reply Children
  • Good morning,

    What do you mean with "role"? The BLE role? My application runs as an peripheral.

    Yes, If the softdevice and my application .hex files are programmed separately with nrfjprog, it works. I used the following commands:

    1. nrfjprog.exe --program s120_softdevice.hex --chiperase
    2. nrfjprog.exe --program application.hex
    3. nrfjprog.exe --run

    But if I use the mass storage drag and drop feature, it seems as the device doesnt even start running. So I dont know how to debug the application when using the drag and drop feature.

    Regards, BTprogrammer

  • Hello again,

    I think I found my mistake. It seems that the order of how to merge the .hex files assumes a role:

    mergehex.exe -m application.hex s120_softdevice.hex -o complete.hex --> works fine with drag and drop feature

    mergehex.exe -m s120_softdevice.hex application.hex -o complete.hex --> doesn`t work with drag and drop feature

    Now I`m able to use the drag and drop feature. Thanks for support.

    Regards, BTprogrammer

  • Seems like you have an overlapping addresses in the S120_softdevice.hex and application.hex. Is your application writing to UICR? It should not matter with the order of the hex while merging unless there is some conflict.

  • Ok, but I don`t think that our application is writing to the UICR registers. How can I clarify, if there is any overlapping address?

    Regards, BTprogrammer

    1. erase your device -> nrfjprog -e

      1. flash softdevice -> nrfjprog --program S120_softdevice.hex

      2. read uicr -> nrfjprog --readuicr soft.uicr

      3. flash application -> nrfjprog --program application.hex

      4. read uicr -> nrfjprog --readuicr app.uicr

      5. both .uicr files should be same if your app is not writing anything to UICR

Related