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

Getting Started - Running Examples. Ninja not flashing

So I was following the documentation.
Installed everything successfully.
And now I am trying to send the program to the nrf52840.

However when I do ninja flash<program> I get:
ninja: no work to do.

Following the tutorial I should get at least a list of connected devices.


I am using:
- Windows10
- nRF5 SDK for Mesh v4.0.0
- nRF5_SDK_16.0.0_98a08e2

Parents
  • Don't know much about Windows10 but the flash works in my Linux (Ubuntu 16.04) VM. Which soft device are you using for the cmake/ninja commands? s140_7.0.1?

  • Yes I am using that soft device version.

    With the VM your device is detected?

    With the VM device I have this:

    But probably is not recognizing due to another problem

  • Yeah the board is not connected.
    But in ble sdk examples now I noticed that I used DFU to program the controller.

    Is it possible to do the same with the mesh sdk?

  • What exactly is "use DFU to program the controller" ? 

    There is a bootloader in mesh, but I don't see any reason to get started with that. You need to program the bootloader with the programmer anyway. 

  • Ok I will writte the steps of what I did to program my controller using the ble_app_template from nordic SDK BLE:

    1) go inside ble_app_template/pca10056/s140/armgcc/
    2) make --> Obtaining nrf52840_xxaa.hex
    3) generate dfu_zip: nrfutil dfu genpkg --sd-req 0xFFFE --dev-type 0x0052 --application nrf52840_xxaa.hex _build/dfu-package.zip

    4) Place controller in DFU Mode

    5) nrfutil --verbose dfu serial --package _build/dfu-package.zip -p $(SERIAL_PORT) -b 115200 --singlebank --touch 1200

    ---------

    Now for SDK Mesh Ble.
    I did not find any approach like this, I tried to do the same but to the light_switch_server_nrf52840_xxAA_s140_7.0.1_merged.hex instead of the nrf52840_xxaa.hex ... It gave no error. But I cannot find my controller with nordic android app.

  • So you have a bootloader running in the 52840DK? Did you flash that bootloader into the 52840DK yourself? 

  • I have a bootloader running in a micro controller that has a nrf52840 chip. Is that the problem?
    The method provided in documentation only works for 52840DK with J-Link debugger?

Reply
  • I have a bootloader running in a micro controller that has a nrf52840 chip. Is that the problem?
    The method provided in documentation only works for 52840DK with J-Link debugger?

Children
  • And how did you manage to flash the bootloader into the nRF52840 chip in the first place? Are you testing with the nRF52840DK or are you testing with your own custom board?

  • I think Doroana was testing with a nRF52840 Dongle (PCA10059). 

    Please be aware that it's not a development platform. It's mainly designed to use as a hardware backend for NRF Connect. It can be used for testing mesh but only after you have developed and tested the firmware on the NRF52840 DK. Note that the nRF5 Mesh SDK doesn't support the nRF52840 dongle out of the box. The documentation was for the nRF52840 DK (PCA10056)

  • Thanks Matt and Hung Bui for the help. I think you can close the issue since I think that the problem is already far away from the title.
    Responding to Matt question:
    I am using a custom board, that has the nrf52840 SoC.

  • Can you access the swdclk and swdio pins of the nRF52840 in your custom board? If so, you can still flash in the hex file using another nRF52840DK as the programmer to program your custom board.

  • Ok I will try that. Thx for the help