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

Program external BMD-300 with NRF52DK

Hello, I am trying to program an BMD-300 using the NRF52-DK on a custom board,

The BMD300 is powered by the NRF52DK

BMD300 -> NRF52DK

SWDIO -> SH_SWDIO (pin 4) on P20

SWDCLK -> SH_SWDCLK (pin 5) on P20

VDD -> VTG (pin 3) / VCC (pin 2) on P20 (The BMD300 is powered by the NRF52DK)

GND -> GND_DETECT (pin 8) on P20 and GND on NRF52DK

The first time I connected the BMD300 to the board the command nrfjprog --family nrf52 -- recover was working and the BMD 300 was detected.

Then I use NRFGO to program the softdevice (S132) and keil to load the application, evething works fine.

But when i try to program again the BMD300 i could load any program, and command nrfjprog --family nrf52 -- recover doesn't work. NRFGO can't detect the board again.

Then i use P19 without success.

The program loaded by keil was ble_app_uart (pca 10040) from the sdk without any modification, i think the program made the BMD unaccesible but i don't know how to repair it.

Can someone please help me. Thanks, Maxim

  • What error are you getting when you try to program it using nrfjprog? Can you provide a log file? (apply --log parameter at the end of your nrfjprog command and upload the generated log.log file)

  • Log with P.19:

    --------------------------------------------------------------------------------
    nrfjprog --family nrf52 --recover --log
    nrfjprog verion 9.3.1
    --------------------------------------------------------------------------------
    FUNCTION: open_dll.
    FUNCTION: open_dll.
    FUNCTION: enum_emu_snr.
    FUNCTION: enum_emu_snr.
    FUNCTION: enum_emu_snr.
    FUNCTION: enum_emu_snr.
    FUNCTION: connect_to_emu_with_snr.
    FUNCTION: connect_to_emu_with_snr.
    FUNCTION: connect_to_emu_without_snr.
    FUNCTION: enum_emu_snr.
    Device "NRF52832_XXAA" selected.
    FUNCTION: recover.
    FUNCTION: recover.
    JLinkARM.dll CORESIGHT_WriteAPDPReg returned error -1.
    JLinkARM.dll CORESIGHT_WriteAPDPReg returned error -102.
    FUNCTION: close_dll.
    FUNCTION: close_dll.
    
  • Could you re-check your wireing to make sure everything is connected properly? This error is typically shown when the board is not powered correctly or the wiring is not correct, so the board is not detected by the debugger.

  • I've just try to wiring a flying BMD-300 with some wire and i got this log

    nrfjprog --family nrf52 --recover --log
    nrfjprog verion 9.3.1
    
    FUNCTION: open_dll.
    FUNCTION: open_dll.
    FUNCTION: enum_emu_snr.
    FUNCTION: enum_emu_snr.
    FUNCTION: enum_emu_snr.
    FUNCTION: enum_emu_snr.
    FUNCTION: connect_to_emu_with_snr.
    FUNCTION: connect_to_emu_with_snr.
    FUNCTION: connect_to_emu_without_snr.
    FUNCTION: enum_emu_snr.
    Device "NRF52832_XXAA" selected.
    FUNCTION: recover.
    FUNCTION: recover.
    Found SWD-DP with ID 0x2BA01477
    Found SWD-DP with ID 0x2BA01477
    AP-IDR: 0x24770011, Type: AHB-AP
    Found Cortex-M4 r0p1, Little endian.
    FPUnit: 6 code (BP) slots and 2 literal slots
    CoreSight components:
    ROMTbl 0 @ E00FF000
    ROMTbl 0 [0]: FFF0F000, CID: B105E00D, PID: 000BB00C SCS
    ROMTbl 0 [1]: FFF02000, CID: B105E00D, PID: 003BB002 DWT
    ROMTbl 0 [2]: FFF03000, CID: B105E00D, PID: 002BB003 FPB
    ROMTbl 0 [3]: FFF01000, CI...
    
  • So i think my wiring is correct, but it's anormal that my BMD-300 on board can't be reflash

Related