aboutsummaryrefslogtreecommitdiff
path: root/tcl/target/at91rm9200.cfg
blob: e20db5206df6fb1bf3cf2c6c2b39ce5905af5c92 (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
48
49
# Atmel AT91rm9200
# http://atmel.com/products/at91/

reset_config trst_and_srst

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

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

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

# Never allow the following!
if { $_CPUTAPID == 0x15b0203f } {
   echo "-------------------------------------------------------"
   echo "- ERROR:                                              -"
   echo "- ERROR: TapID 0x15b0203f is wrong for at91rm9200     -"
   echo "- ERROR: The chip/board has a JTAG select pin/jumper  -"
   echo "- ERROR:                                              -"
   echo "- ERROR: In one position (0x05b0203f) it selects the  -"
   echo "- ERROR: ARM CPU, in the other position (0x1b0203f)   -"
   echo "- ERROR: it selects boundry-scan not the ARM          -"
   echo "- ERROR:                                              -"
   echo "-------------------------------------------------------"
}

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

# Create the GDB Target.
set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME arm920t -endian $_ENDIAN -chain-position $_TARGETNAME

# AT91RM9200 has a 16K block of sram @ 0x0020.0000
$_TARGETNAME configure -work-area-virt 0x00200000 -work-area-phys 0x00200000 \
		-work-area-size 0x4000 -work-area-backup 1

# This chip has a DCC ... use it
arm7_9 dcc_downloads enable