Can you send a pic of your setup? Generally speaking, “does not work” isn’t helpful in debugging.
One suggestion though is to make sure you’re plugging into the correct port on the NRFSDK. Reference my picture above. It’s tempting to use the other one on the board but that’s for the J-Link processor.
If your DK is unmodified, it won’t use the Debug Out port unless it sees 3.3V on the input. So you need to power both the programmer and the Particle board via USB.
Thanks @jaredwolff. Finally got time to come back on this project. Yes it is resolved - tried another (unmodified) NRF5x DK using 10 pin cable directly back to back worked well.
Thanks @jaredwolff. After I lost my mind you instructions and code made my Xenon working. I had the use a j-link and an adapter board. Is there some way we can put all the instruction and the GitHub in one place for the next guy. It really took some digging to find all the links.
Actually looks like I can’t edit that one. Here’s all the info in one place. I’ve modified this for 1.4.4. This should work with any version of deviceOS though.
You need to download all the files that match your device. This incluedes the Soft Device, Bootloader, System Part and Tinker images. Here’s a whole zip for 1.4.4 for each of the Particle Mesh boards:
Remember, you’ll need to program the system part and the tinker app to make sure everything is working afterwards. My xenon got into a weird state probably due to programing an image out of order.
Here are the steps for anyone else who’s interested:
Run the following to program the soft device ./nrfjprog.sh --flash-softdevice /path/to/softdevice.hex
Then, run to program the bootloader. ./nrfjprog.sh --flash-bootloader-bin /path/to/xenon-bootloader@1.4.4.bin 0xf4000
The device should be blinking yellow. Next, let’s program the system part: particle flash --usb /path/to/xenon-system-part1@1.4.4.bin
Finally, lets flash Tinker to make sure everything works! particle flash --usb /path/to/xenon-tinker@1.4.4.bin
You should be able to substitute any version of deviceOS with the one I used above. Just make sure that the boot loader, system part and Tinker are all the same version.
Here’s a picture of my setup:
Side note: the purple board is a level translator board I designed a while back. Works great for designs that are < 2.25V.
What is the difference between j-link and particle debugger, i planned update xenon to custom firmware by debugger or need j-link for that ?
there is cheap st-link v2, it is possible to upgrade it to j-link if necessary.
There's a big difference actually. Particle's debugger uses an open source debugger firmware developed by ARM. Whereas Jlink's is completely closed source. If you're looking to debug your application, I highly recommend going with the Particle debugger or debuggers that are CMSIS-DAP capable.
Ahh gotcha. The J-Link is better supported in Nordic’s SDK. Plus they have mini J-Links on every single one of their development boards. That would be my vote if you’re not using DeviceOS
I haven’t looked into how difficult it is to debug using J-link versus the CMSIS DAP stuff. It’s not as easy as pressing a button. Let’s just say that!