2 # script for Nordic nRF51 series, a CORTEX-M0 chip
5 source [find target
/swj-dp.tcl
]
7 if { [info exists CHIPNAME
] } {
8 set _CHIPNAME
$CHIPNAME
13 if { [info exists ENDIAN
] } {
19 # Work-area is a space in RAM used for flash programming
21 if { [info exists WORKAREASIZE
] } {
22 set _WORKAREASIZE
$WORKAREASIZE
24 set _WORKAREASIZE
0x800
27 if { [info exists CPUTAPID
] } {
28 set _CPUTAPID
$CPUTAPID
30 set _CPUTAPID
0x0bb11477
33 if { [info exists TRANSPORT
] } {
34 set _TRANSPORT
$TRANSPORT
35 if { $TRANSPORT == "hla_jtag" } {
36 if { [info exists CPUTAPID
] == 0 } {
37 # jtag requires us to use the jtag tap id
38 set _CPUTAPID
0x3ba00477
42 set _TRANSPORT hla_swd
45 # add deprecated transport name check
46 if { $_TRANSPORT == "stlink_swd" } {
47 set _TRANSPORT
"hla_swd"
48 echo
"DEPRECATED! use 'hla_swd' transport not 'stlink_swd'"
51 if { $_TRANSPORT == "stlink_jtag" } {
52 set _TRANSPORT
"hla_jtag"
53 echo
"DEPRECATED! use 'hla_jtag' transport not 'stlink_jtag'"
55 # end deprecated checks
57 transport select
$_TRANSPORT
58 hla newtap
$_CHIPNAME cpu
-expected-id
$_CPUTAPID
60 set _TARGETNAME
$_CHIPNAME.cpu
61 target create
$_TARGETNAME hla_target
-chain-position
$_TARGETNAME
63 $_TARGETNAME configure
-work-area
-phys
0x20000000 -work-area
-size
$_WORKAREASIZE -work-area
-backup
0
65 # The chip supports standard ARM/Cortex-M0 SYSRESETREQ signal, so for
66 # non-"hla" targets it would be useful to have the following in the config.
67 # cortex_m reset_config sysresetreq
69 set _FLASHNAME
$_CHIPNAME.flash
70 flash bank
$_FLASHNAME nrf51
0x00000000 0 1 1 $_TARGETNAME