On Sat, Aug 8, 2009 at 12:56 AM, David Brownell<[email protected]> wrote:
> On Friday 07 August 2009, Xiaofan Chen wrote:
>
>> +if { [info exists CPUTAPID ] } {
>> +   set _CPUTAPID $CPUTAPID
>> +} else {
>> +  # force an error till we get a good number
>> +   set _CPUTAPID 0x3ba00477
>
> But that *is* a "good" number ... strike that comment

Ok.

>> +}
>> +
>> +#jtag scan chain
>> +jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 1 -irmask 0xf -expected-id 
>> $_CPUTAPID
>
> I'm thinking the DAP should be labeled as "dap" not "cpu" ...
>
>
>> +set _TARGETNAME [format "%s.cpu" $_CHIPNAME]
>
> ... just "set _TARGETNAME $_CHIPNAME.cpu" suffices...

Ok.

>
>> +# 4k working area at base of ram
>> +$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x20000000 
>> -work-area-size 0x4000 -work-area-backup 0
>
> ... and the working areas would be better at the *top* of RAM,
> since the bottom is naturally where SRAM-based code will be
> stored.

This config file is modified after the other TI-Luminary parts
and they all have similar settings.

>> +
>> +#flash configuration
>> +flash bank stellaris 0 0 0 0 0
>
> Make that "0 0 0 0 $_TARGETNAME" ... the chip need not be the
> only TAP on the scan chain..
>

This config file is modified after the other TI-Luminary parts
and they all have similar settings.

If you think the last two changes are necessary, maybe it is better
that you can make a new patch to modify the other configuration
files for the TI/Luminary parts.

Enclosed is the updated patch file.

Index: tcl/target/lm3s1968.cfg
===================================================================
--- tcl/target/lm3s1968.cfg     (revision 0)
+++ tcl/target/lm3s1968.cfg     (revision 0)
@@ -0,0 +1,35 @@
+# Script for TI/Luminary Stellaris LM3S1968
+
+if { [info exists CHIPNAME] } {        
+   set  _CHIPNAME $CHIPNAME
+} else {       
+   set  _CHIPNAME lm3s1968
+}
+
+if { [info exists ENDIAN] } {  
+   set  _ENDIAN $ENDIAN
+} else {       
+  # this defaults to a little endian
+   set  _ENDIAN little
+}
+
+if { [info exists CPUTAPID ] } {
+   set _CPUTAPID $CPUTAPID
+} else {
+   set _CPUTAPID 0x3ba00477
+}
+
+#jtag scan chain
+jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 1 -irmask 0xf
-expected-id $_CPUTAPID
+
+# the luminary variant causes a software reset rather than asserting SRST
+# this stops the debug registers from being cleared
+# this will be fixed in later revisions of silicon
+set _TARGETNAME $_CHIPNAME.cpu
+target create $_TARGETNAME cortex_m3 -endian $_ENDIAN -chain-position
$_TARGETNAME -variant lm3s
+
+# 4k working area at base of ram
+$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x20000000
-work-area-size 0x4000 -work-area-backup 0
+
+#flash configuration
+flash bank stellaris 0 0 0 0 0
Index: tcl/board/ek-lm3s1968.cfg
===================================================================
--- tcl/board/ek-lm3s1968.cfg   (revision 0)
+++ tcl/board/ek-lm3s1968.cfg   (revision 0)
@@ -0,0 +1,23 @@
+#
+# TI/Luminary Stellaris LM3S1968 Evaluation Kits
+#
+# http://www.luminarymicro.com/products/lm3s1968_evaluation_kits.html
+
+# NOTE:  to use J-Link instead of the on-board interface,
+# you may also need to reduce jtag_khz to be about 1200.
+# source [find interface/jlink.cfg]
+
+# include the FT2232 interface config for on-board JTAG interface
+source [find interface/luminary.cfg]
+
+# include the target config
+source [find target/lm3s1968.cfg]
+
+# jtag speed
+jtag_khz 3000
+
+jtag_nsrst_delay 100
+jtag_ntrst_delay 100
+
+#LM3S1968 Evaluation Board has only srst
+reset_config srst_only


-- 
Xiaofan http://mcuee.blogspot.com
Index: tcl/target/lm3s1968.cfg
===================================================================
--- tcl/target/lm3s1968.cfg     (revision 0)
+++ tcl/target/lm3s1968.cfg     (revision 0)
@@ -0,0 +1,35 @@
+# Script for TI/Luminary Stellaris LM3S1968
+
+if { [info exists CHIPNAME] } {        
+   set  _CHIPNAME $CHIPNAME    
+} else {        
+   set  _CHIPNAME lm3s1968
+}
+
+if { [info exists ENDIAN] } {  
+   set  _ENDIAN $ENDIAN    
+} else {        
+  # this defaults to a little endian
+   set  _ENDIAN little
+}
+
+if { [info exists CPUTAPID ] } {
+   set _CPUTAPID $CPUTAPID
+} else {
+   set _CPUTAPID 0x3ba00477
+}
+
+#jtag scan chain
+jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 1 -irmask 0xf -expected-id 
$_CPUTAPID
+
+# the luminary variant causes a software reset rather than asserting SRST
+# this stops the debug registers from being cleared
+# this will be fixed in later revisions of silicon
+set _TARGETNAME $_CHIPNAME.cpu
+target create $_TARGETNAME cortex_m3 -endian $_ENDIAN -chain-position 
$_TARGETNAME -variant lm3s
+
+# 4k working area at base of ram
+$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x20000000 
-work-area-size 0x4000 -work-area-backup 0
+
+#flash configuration
+flash bank stellaris 0 0 0 0 0
Index: tcl/board/ek-lm3s1968.cfg
===================================================================
--- tcl/board/ek-lm3s1968.cfg   (revision 0)
+++ tcl/board/ek-lm3s1968.cfg   (revision 0)
@@ -0,0 +1,23 @@
+#
+# TI/Luminary Stellaris LM3S1968 Evaluation Kits
+#
+# http://www.luminarymicro.com/products/lm3s1968_evaluation_kits.html
+
+# NOTE:  to use J-Link instead of the on-board interface,
+# you may also need to reduce jtag_khz to be about 1200.
+# source [find interface/jlink.cfg]
+
+# include the FT2232 interface config for on-board JTAG interface
+source [find interface/luminary.cfg]
+
+# include the target config
+source [find target/lm3s1968.cfg]
+
+# jtag speed
+jtag_khz 3000
+
+jtag_nsrst_delay 100
+jtag_ntrst_delay 100
+
+#LM3S1968 Evaluation Board has only srst
+reset_config srst_only
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to