# Rockchip RK3308 Target # https://rockchip.fr/RK3308%20datasheet%20V1.5.pdf # https://dl.radxa.com/rockpis/docs/hw/datasheets/Rockchip%20RK3308TRM%20V1.1%20Part1-20180810.pdf if { [info exists CHIPNAME] } { set _CHIPNAME $CHIPNAME } else { set _CHIPNAME rk3308 } # # Main DAP # if { [info exists DAP_TAPID] } { set _DAP_TAPID $DAP_TAPID } else { set _DAP_TAPID 0x2ba01477 } adapter speed 12000 transport select swd # declare the one SWD tap to access the DAP swd newdap $_CHIPNAME cpu -expected-id $_DAP_TAPID -ignore-version # create the DAP dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu target create $_CHIPNAME.ahb mem_ap -dap $_CHIPNAME.dap -ap-num 0 # declare the 4 main application cores set _TARGETNAME $_CHIPNAME.core set _smp_command "" set $_TARGETNAME.base(0) 0x81010000 set $_TARGETNAME.base(1) 0x81012000 set $_TARGETNAME.base(2) 0x81014000 set $_TARGETNAME.base(3) 0x81016000 set $_TARGETNAME.cti(0) 0x81018000 set $_TARGETNAME.cti(1) 0x81019000 set $_TARGETNAME.cti(2) 0x8101a000 set $_TARGETNAME.cti(3) 0x8101b000 set _cores 4 for { set _core 0 } { $_core < $_cores } { incr _core 1 } { cti create cti$_core -dap $_CHIPNAME.dap -baseaddr [set $_TARGETNAME.cti($_core)] -ap-num 0 set _command "target create ${_TARGETNAME}$_core aarch64 \ -dap $_CHIPNAME.dap -coreid $_core -cti cti$_core \ -dbgbase [set $_TARGETNAME.base($_core)]" if { $_core != 0 } { set _smp_command "$_smp_command ${_TARGETNAME}$_core" set _command "$_command -defer-examine" } else { # uncomment to use hardware threads pseudo rtos # set _command "$_command -rtos hwthread" set _command "$_command -work-area-size 0x40000 -work-area-phys 0xfff80000 \ -work-area-backup 0" set _smp_command "target smp ${_TARGETNAME}$_core" } eval $_command } eval $_smp_command targets ${_TARGETNAME}0