blob: 89d2b5a592d78a81e7f855afc7bf1a528c715b33 (
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
source [find target/at91sam7a2.cfg]
# delays needed to get stable reads of cpu state
jtag_ntrst_delay 10
adapter_nsrst_delay 200
# board uses pullup and connects only srst
reset_config srst_open_drain
# srst is connected to NRESET of CPU and fully resets everything...
reset_config srst_only srst_pulls_trst
adapter_khz 1
$_TARGETNAME configure -event reset-start {
adapter_khz 1
}
$_TARGETNAME configure -event reset-init {
# init script from http://www.mikrocontroller.net/topic/107462
# AT91SAM7A2
# AMC (advanced memory controller)
echo "setting up AMC"
# AMC_CS0 - FLASH 1MB (0x40000000-0x400FFFFF) + DM9000E (0x40100000)
mww 0xFFE00000 0x40003EBD
# AMC_CS1 - RAM low 2MB (0x40400000-0x405FFFFF)
mww 0xFFE00004 0x404030A9
# AMC_CS2 - RAM high 2MB (0x40800000-0x405FFFFF)
#mww 0xFFE00008 0x404030A9
# changed to 0x40_8_
mww 0xFFE00008 0x408030A9
# AMC_MCR
mww 0xFFE00024 0x00000004
# AMC_RCR force remap
mww 0xFFE00020 0x00000001
echo "set up AMC"
sleep 100
# the following base addresses from the original script did not correspond to those from datasheet
# changed bases from 0xFF000000 to 0xFFF00000
# disable watchdog, to prevent unwanted resets
mww 0xFFFA0068 0x00000000
echo "disabled watchdog"
sleep 50
# disable PLL
mww 0xFFFEC004 0x18070004
# PLL = 10 ==> Coreclock = 6Mhz*10/2 = 30 Mhz
mww 0xFFFEC010 0x762D800A
# enable PLL
mww 0xFFFEC000 0x23050004
echo "set up pll"
sleep 100
adapter_khz 5000
}
$_TARGETNAME arm7_9 dcc_downloads enable
$_TARGETNAME arm7_9 fast_memory_access enable
# remap: ram at 0, flash at 0x40000000, like reset-init above does
$_TARGETNAME configure -work-area-phys 0x00000000 -work-area-size 0x4000 -work-area-backup 1
flash bank onboard.flash cfi 0x40000000 0x00100000 2 2 at91sam7a2.cpu
# boot: ram at 0x300000, flash at 0x0, useful if board is in funny configuration
#$_TARGETNAME configure -work-area-phys 0x00300000 -work-area-size 0x4000 -work-area-backup 1
#flash bank onboard1.flash cfi 0x00000000 0x00100000 2 2 at91sam7a2.cpu
|