AT91R40008/Ethernut 3 configuration
authorHarald Kipp <harald.kipp@egnite.de>
Tue, 2 Feb 2010 19:09:53 +0000 (11:09 -0800)
committerDavid Brownell <dbrownell@users.sourceforge.net>
Tue, 2 Feb 2010 19:09:53 +0000 (11:09 -0800)
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>
tcl/board/ethernut3.cfg [new file with mode: 0644]
tcl/target/at91r40008.cfg

diff --git a/tcl/board/ethernut3.cfg b/tcl/board/ethernut3.cfg
new file mode 100644 (file)
index 0000000..f22e688
--- /dev/null
@@ -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"
+       }
+}
index 9069ae563b15f3c4cbe375bf3b9929c55f42bf0b..9c0c4839cef7d79a44ee92d85c0cfaa554f6d6c3 100644 (file)
@@ -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
 } else {
-   set  _CHIPNAME at9r40008
+   set  _CHIPNAME at91r40008
 }
 
 if { [info exists ENDIAN] } {
@@ -12,41 +16,14 @@ if { [info exists ENDIAN] } {
    set  _ENDIAN little
 }
 
+# Setup the JTAG scan chain.
 if { [info exists CPUTAPID ] } {
    set _CPUTAPID $CPUTAPID
 } else {
-  # force an error till we get a good number
-   set _CPUTAPID 0xffffffff
+   set _CPUTAPID 0x1f0f0f0f
 }
-
-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
 
 set _TARGETNAME $_CHIPNAME.cpu
 target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm7tdmi
-
-
-$_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
+$_TARGETNAME configure -work-area-phys 0x20000 -work-area-size 0x20000 -work-area-backup 0

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)