|
|
@@ -0,0 +1,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 |