OpenOCD nrf52-particle.cfg

Hi, I’m trying to reflash the bootloader onto a Particle Boron, following the advice here: https://docs.particle.io/support/particle-tools-faq/jtag/#openocd-commands-3rd-generation-

However in my install of OpenOCD I don’t have the “nrf52-particle.cfg” script, only “nrf52.cfg”, and I can’t seem to find it anywhere on the internet.

Could someone please advise me as to where to find it or send me a copy.

Many thanks,
Joshua

Don’t know if you’re still looking for this, but hopefully I can save you (or someone else) the same effort I just went to. (This comes out of Particle Workbench’s copy of openocd)

# Nordic nRF52 series: ARM Cortex-M4 @ 64 MHz
#

source [find target/swj-dp.tcl]

if { [info exists CHIPNAME] } {
	set _CHIPNAME $CHIPNAME
} else {
	set _CHIPNAME nrf52
}

# Work-area is a space in RAM used for flash programming
# By default use 16kB
if { [info exists WORKAREASIZE] } {
   set _WORKAREASIZE $WORKAREASIZE
} else {
   set _WORKAREASIZE 0x4000
}

if { [info exists CPUTAPID] } {
	set _CPUTAPID $CPUTAPID
} else {
	set _CPUTAPID 0x2ba01477
}

swj_newdap $_CHIPNAME cpu -expected-id $_CPUTAPID
dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu

set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME cortex_m -dap $_CHIPNAME.dap

adapter_khz 1000

$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0

if { ![using_hla] } {
	cortex_m reset_config sysresetreq
}

flash bank $_CHIPNAME.flash nrf5 0x00000000 0 1 1 $_TARGETNAME
flash bank $_CHIPNAME.uicr nrf5 0x10001000 0 1 1 $_TARGETNAME



#
# Added by Particle below
#
if { [info exists ENDIAN] } {
   set _ENDIAN $ENDIAN
} else {
   set _ENDIAN little
}

proc bld_addr {bld_addr} {
    mww 0x4001e504 0x00000002;
    mww 0x4001e514 0x00000001; sleep 1000;
    mww 0x4001e504 0x00000001;
    mww 0x10001014 $bld_addr; sleep 1000; mdw 0x10001014
    mww 0x4001e504 0x00000000;

    reset run
}

$_TARGETNAME configure -event gdb-attach {
   halt
}

$_TARGETNAME configure -event gdb-attach {
   reset init
}

Fantasitc, thanks a lot jimmo.

Your detective skills are better than mine :slight_smile: