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>
53 lines
1.1 KiB
INI
53 lines
1.1 KiB
INI
# TI OMAP5912 dual core processor
|
|
# http://focus.ti.com/docs/prod/folders/print/omap5912.html
|
|
|
|
if { [info exists CHIPNAME] } {
|
|
set _CHIPNAME $CHIPNAME
|
|
} else {
|
|
set _CHIPNAME omap5912
|
|
}
|
|
|
|
if { [info exists CPUTAPID ] } {
|
|
set _CPUTAPID $CPUTAPID
|
|
} else {
|
|
# NOTE: validated with XOMAP5912 part
|
|
set _CPUTAPID 0x0692602f
|
|
}
|
|
|
|
jtag_nsrst_delay 100
|
|
|
|
# NOTE: presumes irlen 38 is the C55x DSP, matching BSDL for
|
|
# its standalone siblings (like TMS320VC5502) of the same era
|
|
|
|
#jtag scan chain
|
|
jtag newtap $_CHIPNAME dsp -irlen 38 -expected-id 0x03df1d81
|
|
jtag newtap $_CHIPNAME arm -irlen 4 -expected-id $_CPUTAPID
|
|
jtag newtap $_CHIPNAME unknown -irlen 8
|
|
|
|
set _TARGETNAME $_CHIPNAME.arm
|
|
target create $_TARGETNAME arm926ejs -chain-position $_TARGETNAME
|
|
|
|
proc omap5912_reset {} {
|
|
#
|
|
# halt target
|
|
#
|
|
poll
|
|
sleep 1
|
|
halt
|
|
wait_halt
|
|
#
|
|
# disable wdt
|
|
#
|
|
mww 0xfffec808 0x000000f5
|
|
mww 0xfffec808 0x000000a0
|
|
|
|
mww 0xfffeb048 0x0000aaaa
|
|
sleep 500
|
|
mww 0xfffeb048 0x00005555
|
|
sleep 500
|
|
}
|
|
|
|
# omap5912 lcd frame buffer as working area
|
|
$_TARGETNAME configure -work-area-phys 0x20000000 \
|
|
-work-area-size 0x3e800 -work-area-backup 0
|