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

Programming custom board vs Arduino bluefeather nrf52852

Hello, 

I am trying PCA10040 examples on bluefeather arduino board , all of them works perfect and i am programming those examples by using jlink and ses. But when i try the same examples with the same setup and tools on my custom board, the only examples with no SD ones are working. If there is any softdevice in the example project, p0.17 is blinking and thats all. I assume it can not boot. When i swap chips between bluefeather and my custom boards everything works as expected on my custom board with the nrf52 that i transferred from arduino board. 

When i check the PCA10040 examples which has sd , they contain sd  hex too. How can i solve this problem. As i know bootlaoder is located in Sd hex .

Update:

The problem occurs if i not "erase all" before i download anything tonrf52.

Next question is , why doesnt it works without "erase all" , i mean it alresdy burns sd and app together , what prevent it to boot?

  • Hi

    You should always do an "erase all" when flashing an application onto your nRF in order to make sure it is a "clean" device. Otherwise, you risk that the new firmware tries to overwrite the old one, which is likely what's causing this failure. Just to confirm. You are flashing your devices using DFU, correct? Is this DFU happening "over-the-air" (OTA) or over UART/something else?

    Best regards,

    Simon

  • I am flashing my device by Jlink swio interface.

    The reason that i confused , when i got my device from factory , i didnt erased it all and flashed it directly and it didnt work. I am not using dfu , but since p0.17 is blinking . I think there is some software loaded from factory.

  • Hi

    Okay, thank you for the update. We generally ship our chips from factories clean, but there might, of course, be discrepancies to this. In general, if you're not sure whether a device is ready to flash or not, you should erase its flash memory to make sure programming the chip will succeed.

    In order to check whether the flash memory is empty or not, you can use the nRFConnect for Desktop Programmer application, where you'll get a detailed block diagram of the flash memory layout.

    Best regards,

    Simon

Related