AT91R40008/Ethernut 3 configuration
Moved board specific settings from target/at91r40008.cfg to a new file board/ethernut3.cfg. Set correct CPUTAPID. Reset delay increased, see MIC2775 data sheet. Increased work area size from 16k to 128k. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
This commit is contained in:
parent
5750e899e0
commit
18969466c9
|
@ -0,0 +1,86 @@
|
||||||
|
#
|
||||||
|
# Ethernut 3 board configuration file
|
||||||
|
#
|
||||||
|
# http://www.ethernut.de/en/hardware/enut3/
|
||||||
|
|
||||||
|
|
||||||
|
# AT91R40008-66AU ARM7TDMI Microcontroller
|
||||||
|
# 256kB internal RAM
|
||||||
|
source [find target/at91r40008.cfg]
|
||||||
|
|
||||||
|
|
||||||
|
# AT49BV322A-70TU NOR Flash
|
||||||
|
# 2M x 16 mode at address 0x10000000
|
||||||
|
# Common flash interface supported
|
||||||
|
#
|
||||||
|
set _FLASHNAME $_CHIPNAME.flash
|
||||||
|
flash bank $_FLASHNAME cfi 0x10000000 0x400000 2 2 $_TARGETNAME
|
||||||
|
|
||||||
|
|
||||||
|
# Micrel MIC2775-29YM5 Supervisor
|
||||||
|
# Reset output will remain active for 280ms (maximum)
|
||||||
|
#
|
||||||
|
jtag_nsrst_delay 300
|
||||||
|
jtag_ntrst_delay 300
|
||||||
|
|
||||||
|
|
||||||
|
arm7_9 fast_memory_access enable
|
||||||
|
arm7_9 dcc_downloads enable
|
||||||
|
jtag_khz 16000
|
||||||
|
|
||||||
|
|
||||||
|
# Target events
|
||||||
|
#
|
||||||
|
$_TARGETNAME configure -event reset-init { board_init }
|
||||||
|
|
||||||
|
# Initialize board hardware
|
||||||
|
#
|
||||||
|
proc board_init { } {
|
||||||
|
board_remap
|
||||||
|
flash probe 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Memory remap
|
||||||
|
#
|
||||||
|
proc board_remap {{VERBOSE 0}} {
|
||||||
|
# CS0: NOR flash
|
||||||
|
# 16MB @ 0x10000000
|
||||||
|
# 16-bit data bus
|
||||||
|
# 4 wait states
|
||||||
|
#
|
||||||
|
mww 0xffe00000 0x1000212d
|
||||||
|
|
||||||
|
# CS1: Ethernet controller
|
||||||
|
# 1MB @ 0x20000000
|
||||||
|
# 16-bit data bus
|
||||||
|
# 2 wait states
|
||||||
|
# Byte select access
|
||||||
|
#
|
||||||
|
mww 0xffe00004 0x20003025
|
||||||
|
|
||||||
|
# CS2: CPLD registers
|
||||||
|
# 1MB @ 0x21000000
|
||||||
|
# 8-bit data bus
|
||||||
|
# 2 wait states
|
||||||
|
#
|
||||||
|
mww 0xffe00008 0x21002026
|
||||||
|
|
||||||
|
# CS3: Expansion bus
|
||||||
|
# 1MB @ 0x22000000
|
||||||
|
# 8-bit data bus
|
||||||
|
# 8 wait states
|
||||||
|
#
|
||||||
|
mww 0xffe00010 0x22002e3e
|
||||||
|
|
||||||
|
# Remap command
|
||||||
|
#
|
||||||
|
mww 0xffe00020 0x00000001
|
||||||
|
|
||||||
|
if {$VERBOSE != 0} {
|
||||||
|
puts "0x00000000 RAM"
|
||||||
|
puts "0x10000000 Flash"
|
||||||
|
puts "0x20000000 Ethernet"
|
||||||
|
puts "0x21000000 CPLD"
|
||||||
|
puts "0x22000000 Expansion"
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,9 +1,13 @@
|
||||||
|
# AT91R40008 target configuration file
|
||||||
|
|
||||||
|
# TRST is tied to SRST on the AT91X40 family.
|
||||||
|
reset_config srst_only srst_pulls_trst
|
||||||
|
|
||||||
|
|
||||||
if { [info exists CHIPNAME] } {
|
if {[info exists CHIPNAME]} {
|
||||||
set _CHIPNAME $CHIPNAME
|
set _CHIPNAME $CHIPNAME
|
||||||
} else {
|
} else {
|
||||||
set _CHIPNAME at9r40008
|
set _CHIPNAME at91r40008
|
||||||
}
|
}
|
||||||
|
|
||||||
if { [info exists ENDIAN] } {
|
if { [info exists ENDIAN] } {
|
||||||
|
@ -12,41 +16,14 @@ if { [info exists ENDIAN] } {
|
||||||
set _ENDIAN little
|
set _ENDIAN little
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Setup the JTAG scan chain.
|
||||||
if { [info exists CPUTAPID ] } {
|
if { [info exists CPUTAPID ] } {
|
||||||
set _CPUTAPID $CPUTAPID
|
set _CPUTAPID $CPUTAPID
|
||||||
} else {
|
} else {
|
||||||
# force an error till we get a good number
|
set _CPUTAPID 0x1f0f0f0f
|
||||||
set _CPUTAPID 0xffffffff
|
|
||||||
}
|
}
|
||||||
|
|
||||||
jtag_nsrst_delay 200
|
|
||||||
jtag_ntrst_delay 200
|
|
||||||
|
|
||||||
#use combined on interfaces or targets that can't set TRST/SRST separately
|
|
||||||
reset_config srst_only srst_pulls_trst
|
|
||||||
|
|
||||||
#jtag scan chain
|
|
||||||
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
|
|
||||||
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
|
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
|
||||||
|
|
||||||
set _TARGETNAME $_CHIPNAME.cpu
|
set _TARGETNAME $_CHIPNAME.cpu
|
||||||
target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm7tdmi
|
target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm7tdmi
|
||||||
|
$_TARGETNAME configure -work-area-phys 0x20000 -work-area-size 0x20000 -work-area-backup 0
|
||||||
|
|
||||||
$_TARGETNAME configure -event gdb-flash-erase-start {
|
|
||||||
wait_halt
|
|
||||||
sleep 10
|
|
||||||
poll
|
|
||||||
# Ethernut 3 remapping is required to access external flash memory.
|
|
||||||
mww 0xffe00000 0x1000213d
|
|
||||||
mww 0xffe00004 0x20003e3d
|
|
||||||
mww 0xffe00020 0x00000001
|
|
||||||
}
|
|
||||||
|
|
||||||
$_TARGETNAME configure -work-area-phys 0x3C000 -work-area-size 0x4000 -work-area-backup 0
|
|
||||||
|
|
||||||
set _FLASHNAME $_CHIPNAME.flash
|
|
||||||
flash bank $_FLASHNAME cfi 0x10000000 0x400000 2 2 $_TARGETNAME
|
|
||||||
|
|
||||||
# For more information about the configuration files, take a look at:
|
|
||||||
# openocd.texi
|
|
||||||
|
|
Loading…
Reference in New Issue