aboutsummaryrefslogtreecommitdiff
path: root/tcl/target/at91sam3uXX.cfg
blob: 37f6b8ef25903e0d06136714cb80fbb2f56f33ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# script for ATMEL sam3, a CORTEX-M3 chip
#
#  at91sam3u4e
#  at91sam3u2e
#  at91sam3u1e
#  at91sam3u4c
#  at91sam3u2c
#  at91sam3u1c

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

if { [info exists ENDIAN] } {	
   set  _ENDIAN $ENDIAN    
} else {	 
   set  _ENDIAN little
}


#jtag scan chain
if { [info exists CPUTAPID ] } {
   set _CPUTAPID $CPUTAPID
} else {
   set _CPUTAPID 0x4ba00477
}

jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID

set _TARGETNAME [format "%s.cpu" $_CHIPNAME]
target create $_TARGETNAME cortex_m3 -endian $_ENDIAN -chain-position $_TARGETNAME

# 16K is plenty, the smallest chip has this much
$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x20000000 -work-area-size 16384 -work-area-backup 0

reset_config srst_only

# GDB can use this
gdb_memory_map enable
# And GDB can flash the chip
gdb_flash_program enable

$_TARGETNAME configure -event gdb-flash-erase-start {
    halt
}