Skip to content

Instantly share code, notes, and snippets.

@tnishinaga
Created December 9, 2019 19:10
Show Gist options
  • Star 9 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tnishinaga/46a3380e1f47f5e892bbb74e55b3cf3e to your computer and use it in GitHub Desktop.
Save tnishinaga/46a3380e1f47f5e892bbb74e55b3cf3e to your computer and use it in GitHub Desktop.
OpenOCD config for Raspberry Pi 4

OpenOCD config for Raspberry Pi 4

OpenOCD version

0.10.0+dev-00865-g04ebb43f

How to use

openocd -f interface/YOUR_INTERFACE_CONFIG -f raspi4.cfg
set _CHIPNAME bcm2711
set _DAP_TAPID 0x4ba00477
adapter_khz 1000
transport select jtag
reset_config trst_and_srst
telnet_port 4444
# create tap
jtag newtap auto0 tap -irlen 4 -expected-id $_DAP_TAPID
# create dap
dap create auto0.dap -chain-position auto0.tap
set CTIBASE {0x80420000 0x80520000 0x80620000 0x80720000}
set DBGBASE {0x80410000 0x80510000 0x80610000 0x80710000}
set _cores 4
set _TARGETNAME $_CHIPNAME.a72
set _CTINAME $_CHIPNAME.cti
set _smp_command ""
for {set _core 0} {$_core < $_cores} { incr _core} {
cti create $_CTINAME.$_core -dap auto0.dap -ap-num 0 -ctibase [lindex $CTIBASE $_core]
set _command "target create ${_TARGETNAME}.$_core aarch64 \
-dap auto0.dap -dbgbase [lindex $DBGBASE $_core] \
-coreid $_core -cti $_CTINAME.$_core"
if {$_core != 0} {
set _smp_command "$_smp_command $_TARGETNAME.$_core"
} else {
set _smp_command "target smp $_TARGETNAME.$_core"
}
eval $_command
}
eval $_smp_command
targets $_TARGETNAME.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment