|
|
@@ -1,5 +1,17 @@ |
|
|
|
# TI/Luminary Stellaris LM3S chip family |
|
|
|
|
|
|
|
# Some devices have errata in returning their device class. |
|
|
|
# DEVICECLASS is provided as a manual override |
|
|
|
# Manual setting of a device class of 0xff is not allowed |
|
|
|
|
|
|
|
global _DEVICECLASS |
|
|
|
|
|
|
|
if { [info exists DEVICECLASS ] } { |
|
|
|
set _DEVICECLASS $DEVICECLASS |
|
|
|
} else { |
|
|
|
set _DEVICECLASS 0xff |
|
|
|
} |
|
|
|
|
|
|
|
# Luminary chips support both JTAG and SWD transports. |
|
|
|
# Adapt based on what transport is active. |
|
|
|
source [find target/swj-dp.tcl] |
|
|
@@ -74,7 +86,14 @@ $_TARGETNAME configure -event reset-start { |
|
|
|
# /openocd-development/2008-August/003065.html |
|
|
|
# |
|
|
|
|
|
|
|
set device_class [expr (([mrw 0x400fe000] >> 16) & 0xff)] |
|
|
|
global _DEVICECLASS |
|
|
|
|
|
|
|
if {$_DEVICECLASS != 0xff} { |
|
|
|
set device_class $_DEVICECLASS |
|
|
|
} else { |
|
|
|
set device_class [expr (([mrw 0x400fe000] >> 16) & 0xff)] |
|
|
|
} |
|
|
|
|
|
|
|
if {$device_class == 0 || $device_class == 1 || $device_class == 3} { |
|
|
|
# Sandstorm, Fury and DustDevil are able to use NVIC SYSRESETREQ |
|
|
|
cortex_m3 reset_config sysresetreq |
|
|
|