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

nRF52 DK (pca10040) not seen by nrfjprog after IF update

After spending half a day on this solution, I found out it wasn't really a solution - it devolved back to the same issue after trying to connect - please advise!

Description of System: nRF52 DK Windows 10 pro PC

Description of Problem: Basically, my DK appears bricked, and none of the established solutions work.

After flashing a couple different softdevices on the nRF52 DK, it was no longer found by the nrfjprog utility, whether in regular or bootloader modes.

At first, powering on in bootloader mode would consistently cause the BOOTLOADER drive to show up then disappear either instantly or after ten seconds or so. Trying to flash or drag/drop any FW during this time (for example the latest recommended nRF5x-OB-JLink-IF) was futile. After installing MBED drivers, it wouldn't show up at all as a drive or a COM/PORT entry in the device manager either.

Taking any of the normal steps either requires nrfjprog CLI to be working (the device shows up as recognized) or the device to show up and function properly with a drag and drop. Restarting the computer did not help. All drivers are up to date, and everything has been uninstalled and reinstalled.

My thoughts are that this is either a driver problem or a serious corruption in the board FW that disallows communication. I have an external J-Link programmer if someone could guide me through reflashing with that via the JTAG micro-header interface.

After manually uninstalling all drivers related to the J-Link then reinstalling from scratch, the drive does now show up, and I was able to then use command prompt to copy the IF onto the BOOTLOADER drive, which subsequently started to show up when not in bootloader mode as JLINK (still as BOOTLOADER when started in that mode). I am still, however, unable to see the device with nrfjprog.

Update: In the interest of trying all available options, I tried setting up and ident with Keil, no luck. Also tried sandeepmistry's arduino library - and it actually can see the device (and reads correct serial number). Turns out it will actually program the thing. So now I am beyond confused, because the last thing I expected to work - the most abstracted one - seems to work fine. Any way I can get it showing up again in nrfjprog so that I can hopefully start using this with Make and eventually Eclipse?

Thanks so much in advance.

Parents
  • Have you tried to install latest (or going backwards some older) SEGGER J-Link SW package and use J-Link Configurator to flash J-Link OB FW on companion Atmel chip?

    I faced issues in SEGGER/mBed drivers for J-Link and I sometimes needed to pick mbed composite driver manually (on Win7) to make it work as both J-Link and COM serial port. But in the end always nrfjprog from the latest NRFTOOLs package started to work again...

Reply
  • Have you tried to install latest (or going backwards some older) SEGGER J-Link SW package and use J-Link Configurator to flash J-Link OB FW on companion Atmel chip?

    I faced issues in SEGGER/mBed drivers for J-Link and I sometimes needed to pick mbed composite driver manually (on Win7) to make it work as both J-Link and COM serial port. But in the end always nrfjprog from the latest NRFTOOLs package started to work again...

Children
  • Thanks for the suggestion!

    By J-Link Configurator, you mean the Wizard in Ozone? I know they refer to it as the Configurator on their site, but there is no such download, so I'm assuming they're just naming their feature and being a bit inconsistent with its labeling. I do see the ATSAM3X2C option in Ozone, so I'll see if I can flash just the companion chip that way with the J-Link.

    When you say you needed to pick mbed composite driver manually, what do you mean exactly? Do you mean select the composite (i.e. versus other drivers) from some website? If so, which website and which driver(s)? Or do you mean that you used a tool that installs other drivers (like the J-Link SW & Doc Kit), or something else? I'll try using J-Flash to load the OB FW as you suggested.

    Thanks again for the help.

  • No, by J-Link Configurator I mean EXE which comes with J-Link SW package (for Windows at least). It contains J-Link OB FW for various boards including Nordic nRF5x DKs as well as SEGGER driver etc. However fact that Arduino can work with SEGGER flasher and nrfjprog (using SEGGER dlls) not is extremely weird. Are you sure Arduino IDE is not using their serial bootloader flashed to the nRF5x chip?

  • So that I did use, and of course chose to replaced the drivers. I think a faulty version of an mbed FW is on the chip, but Arduino didn't cause the problem - I didn't start with that until well after nothing else was working as a last resort trying all options.

    Could you link me to the proper J-Link IF for the companion Atmel chip? It looks from the schematic like the relevant pins are 48,51,54-56. Is this consistent with what you did? It's easy enough to get at all but 48, as they are broken out with the appropriate resistors to the needle 4 of the 2x5 needle probe pads below the chip. As I interpret the Microchip/Atmel documentation though, 48 needs to be set high to activate the serial programming of the chip, and it has no external connection according to the schematic. I'd have to hit that pin directly - maybe whip out the microscope and solder a tiny lead on it. Any tips?

  • Is the J-Link version that comes with Ozone the correct one? If so, I'm just then interested in your experience attaching the Segger to the thing physically.

  • (I'd almost say "wtf is Ozone and why you don't stick with official SEGGER SW":) Atmel chip hosing SEGGER J-Link is not possible to JTAG (because you don't have proper binary I'm afraid) so the only way is to either use BIN images which are in download section of each nRF5 DK at main Nordic product page and drag&drop them once your board is in BOOTLOADER mode by pressing dedicated button during power on procedure or (e.g. if previous is not possible) by using SEGGER J-Link Configurator tool (or something similar) which knows how to talk to that bootloader pre-loaded to Atmel SAMxxx chip and switch the FW over USB. You could try to hack physical JTAG/SWD or other serial bootlader wires to Atmel chip but I'm afraid even if you succeed you don't have complete FW image to flash it there (and any partial reflashing will be probably locked).

Related