3e6f9e8d1e
The semantics of "-work-area-virt 0" (or phys) changed with the patch to require specifying physical or virtrual work area addresses. Specifying zero was previously a NOP. Now it means that address zero is valid. This patch addresses three related issues: - MMU-less processors should never specify work-area-virt; remove those specifications. Such processors include ARM7TDMI, Cortex-M3, and ARM966. - MMU-equipped processors *can* specify work-area-virt... but zero won't be appropriate, except in mischievous contexts (which hide null pointer exceptions). Remove those specs from those processors too. If any of those mappings is valid, someone will need to submit a patch adding it ... along with a comment saying what OS provides the mapping, and in which context. Example, say "works with Linux 2.6.30+, in kernel mode". (Note that ARM Linux doesn't map kernel memory to zero ...) - Clarify docs on that "-virt" and other work area stuff. Seems to me work-area-virt is quite problematic; not every operating system provides such static mappings; if they do, they're not in every MMU context... Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
47 lines
1.2 KiB
INI
47 lines
1.2 KiB
INI
#start slow, speed up after reset
|
|
jtag_khz 10
|
|
|
|
if { [info exists CHIPNAME] } {
|
|
set _CHIPNAME $CHIPNAME
|
|
} else {
|
|
set _CHIPNAME str710
|
|
}
|
|
|
|
if { [info exists ENDIAN] } {
|
|
set _ENDIAN $ENDIAN
|
|
} else {
|
|
set _ENDIAN little
|
|
}
|
|
|
|
if { [info exists CPUTAPID] } {
|
|
set _CPUTAPID $CPUTAPID
|
|
} else {
|
|
set _CPUTAPID 0x3f0f0f0f
|
|
}
|
|
|
|
#use combined on interfaces or targets that can't set TRST/SRST separately
|
|
reset_config trst_and_srst srst_pulls_trst
|
|
|
|
#jtag scan chain
|
|
|
|
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0x0f -expected-id $_CPUTAPID
|
|
|
|
set _TARGETNAME $_CHIPNAME.cpu
|
|
target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm7tdmi
|
|
|
|
$_TARGETNAME configure -event reset-start { jtag_khz 10 }
|
|
$_TARGETNAME configure -event reset-init { jtag_khz 6000 }
|
|
$_TARGETNAME configure -event gdb-flash-erase-start {
|
|
flash protect 0 0 7 off
|
|
flash protect 1 0 1 off
|
|
}
|
|
|
|
$_TARGETNAME configure -work-area-phys 0x2000C000 -work-area-size 0x4000 -work-area-backup 0
|
|
|
|
#flash bank str7x <base> <size> 0 0 <target#> <variant>
|
|
flash bank str7x 0x40000000 0x00040000 0 0 0 STR71x
|
|
flash bank str7x 0x400C0000 0x00004000 0 0 0 STR71x
|
|
|
|
# For more information about the configuration files, take a look at:
|
|
# openocd.texi
|