# # Droidifi OpenOCD config for TI CC3200-LP V3.2 # # http://www.droidifi.com # # Copyright Droidifi LLC 2013, 2014 All rights reserved # #***************************************************************************** # # # # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the # distribution. # # Neither the name of Texas Instruments Incorporated nor the names of # its contributors may be used to endorse or promote products derived # from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # #***************************************************************************** interface ftdi ftdi_vid_pid 0x0451 0xc32a adapter_khz 1000 set _ENDIAN little ftdi_layout_init 0x00a8 0x00eb ftdi_layout_signal nSRST -noe 0x0020 ftdi_layout_signal SWD_EN -ndata 0x0080 ftdi_layout_signal SWDIO_OE -data 0x0008 if { [info exists CHIPNAME] } { set _CHIPNAME $CHIPNAME } else { set _CHIPNAME cc3200 } source [find target/icepick.cfg] if { [info exists DAP_TAPID] } { set _DAP_TAPID $DAP_TAPID } else { set _DAP_TAPID 0x0b97c02f } jtag newtap $_CHIPNAME dap -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_DAP_TAPID -disable # APP m4 jtag configure $_CHIPNAME.dap -event tap-enable "icepick_c_tapenable $_CHIPNAME.jrc 0" # ICEpick-C (JTAG route controller) if { [info exists JRC_TAPID] } { set _JRC_TAPID $JRC_TAPID } else { set _JRC_TAPID $_DAP_TAPID } jtag newtap $_CHIPNAME jrc -irlen 6 -ircapture 0x1 -irmask 0x3f -expected-id $_JRC_TAPID -ignore-version # jtag configure auto0.jrc -event post-reset "runtest 100" jtag configure $_CHIPNAME.jrc -event setup "jtag tapenable $_CHIPNAME.dap" jtag configure $_CHIPNAME.jrc -event post-reset "runtest 100" set _TARGETNAME $_CHIPNAME.cpu target create $_CHIPNAME.cpu cortex_m -endian little -chain-position $_CHIPNAME.dap $_CHIPNAME.cpu configure -work-area-phys 0x20000000 -work-area-size 0x30000 -work-area-backup 0 -coreid 0 source [find mem_helper.tcl] $_TARGETNAME configure -event gdb-attach { # cc3200_dbginit $_TARGETNAME # cortex_m dbginit halt } $_TARGETNAME configure -event "reset-start" { adapter_khz 1000 } $_TARGETNAME configure -event "reset-assert" { global _CHIPNAME # assert warm system reset through ICEPick icepick_c_wreset $_CHIPNAME.jrc } # Run this to enable invasive debugging. This is run automatically in the # reset sequence. proc cc3200_dbginit {target} { cortex_m dbginit }