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

nrfjprog in a daisy chain

When a Jlink programmer is connected to multiple devices (daisy chained) how do I specify which device is being programmed on the command line using nrfjprog?

Additionally, if I have two nrf52DK boards connected simultaneously I can get the serial numbers of each debugger using the nrfjprog -i option. How can I specify which serial number I want to use for programming operations using nrfjprog?

  • Hi,

    You can use the -s command to select the debugger you want to use. From the documentation :

    -s --snr <serial_number> Selects the debugger with the given serial number among all debuggers connected to the computer for the operation. Must be combined with another command.

  • Note that the nRF5x devices are programmed using SWD, and SWD does not support daisy-chaining.

  • If daisy chaining is not supported then how does the procedure in this link work?How does the SWD know which nrf52 device it is programming since there is one on the nrf52DK and one on the thingy52?

  • Normally daisy chaining programming allows you to connected several chips/devices to a single programming interface, and then program them all at once.

    Q: How does the SWD know which nrf52 device it is programming since there is one on the nrf52DK and one on the thingy52?

    A: When you have connected another device to the Debug out port (P19 or P20) on the nRF52-DK, the Segger J-Link OB debugger on the nRF52-DK will detect the supply voltage of the board and program/debug the target chip on the external board instead of the on-board nRF52832.

    If you are interested in production programming, we have a white paper on that here.

Related