ed12a6521f
even the AT91EB40a's flash is covered by CFI and nobody ever submitted any other drivers based on eCos code. It's just possible that this idea was missing documentation and "marketing", but it's in git if somebody wants to resurrect it. Change-Id: I66449aa6e0997301f9d67f28098789bfc891d6e9 Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com> Reviewed-on: http://openocd.zylin.com/502 Tested-by: jenkins Reviewed-by: Øyvind Harboe <oyvindharboe@gmail.com>
68 lines
1.7 KiB
INI
68 lines
1.7 KiB
INI
#Script for AT91EB40a
|
|
|
|
# FIXME use some standard target config, maybe create one from this
|
|
#
|
|
# source [find target/...cfg]
|
|
|
|
if { [info exists CHIPNAME] } {
|
|
set _CHIPNAME $CHIPNAME
|
|
} else {
|
|
set _CHIPNAME at91eb40a
|
|
}
|
|
|
|
if { [info exists ENDIAN] } {
|
|
set _ENDIAN $ENDIAN
|
|
} else {
|
|
set _ENDIAN little
|
|
}
|
|
|
|
if { [info exists CPUTAPID] } {
|
|
set _CPUTAPID $CPUTAPID
|
|
} else {
|
|
set _CPUTAPID 0x1f0f0f0f
|
|
}
|
|
|
|
|
|
#Atmel ties SRST & TRST together, at which point it makes
|
|
#no sense to use TRST, but use TMS instead.
|
|
#
|
|
#The annoying thing with tying SRST & TRST together is that
|
|
#there is no way to halt the CPU *before and during* the
|
|
#SRST reset, which means that the CPU will run a number
|
|
#of cycles before it can be halted(as much as milliseconds).
|
|
reset_config srst_only srst_pulls_trst
|
|
|
|
#jtag scan chain
|
|
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
|
|
|
|
#target configuration
|
|
set _TARGETNAME $_CHIPNAME.cpu
|
|
target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position $_TARGETNAME
|
|
|
|
# speed up memory downloads
|
|
arm7_9 fast_memory_access enable
|
|
arm7_9 dcc_downloads enable
|
|
|
|
#flash driver
|
|
set _FLASHNAME $_CHIPNAME.flash
|
|
flash bank $_FLASHNAME cfi 0x01000000 0x200000 2 2 $_TARGETNAME
|
|
|
|
# required for usable performance. Used for lots of
|
|
# other things than flash programming.
|
|
$_TARGETNAME configure -work-area-phys 0x00030000 -work-area-size 0x10000 -work-area-backup 0
|
|
|
|
$_TARGETNAME configure -event reset-init {
|
|
echo "Running reset init script for AT91EB40A"
|
|
# Reset script for AT91EB40a
|
|
reg cpsr 0x000000D3
|
|
mww 0xFFE00020 0x1
|
|
mww 0xFFE00024 0x00000000
|
|
mww 0xFFE00000 0x01002539
|
|
mww 0xFFFFF124 0xFFFFFFFF
|
|
mww 0xffff0010 0x100
|
|
mww 0xffff0034 0x100
|
|
}
|
|
|
|
# This target is pretty snappy...
|
|
adapter_khz 16000
|