e4595b843fcbf65000d92bfd3386ea9beb8d6e64
[pulsecounter.git] / cc3200.cfg
1 #\r
2 # Droidifi OpenOCD config for TI CC3200-LP V3.2\r
3 #\r
4 # http://www.droidifi.com\r
5 #\r
6 # Copyright Droidifi LLC 2013, 2014 All rights reserved\r
7 #\r
8 \r
9 #*****************************************************************************\r
10 #\r
11 #  \r
12\r
13\r
14 #  Redistribution and use in source and binary forms, with or without \r
15 #  modification, are permitted provided that the following conditions \r
16 #  are met:\r
17 #\r
18 #    Redistributions of source code must retain the above copyright \r
19 #    notice, this list of conditions and the following disclaimer.\r
20 #\r
21 #    Redistributions in binary form must reproduce the above copyright\r
22 #    notice, this list of conditions and the following disclaimer in the \r
23 #    documentation and/or other materials provided with the   \r
24 #    distribution.\r
25 #\r
26 #    Neither the name of Texas Instruments Incorporated nor the names of\r
27 #    its contributors may be used to endorse or promote products derived\r
28 #    from this software without specific prior written permission.\r
29 #\r
30 #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \r
31 #  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT \r
32 #  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
33 #  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT \r
34 #  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \r
35 #  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT \r
36 #  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
37 #  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
38 #  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT \r
39 #  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE \r
40 #  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
41 #\r
42 #*****************************************************************************\r
43 \r
44 #interface ft2232\r
45 #ft2232_layout luminary_icdi\r
46 #ft2232_device_desc "USB <-> JTAG/SWD"\r
47 #ft2232_vid_pid 0x0451 0xc32a\r
48 \r
49 telnet_port 5454\r
50 \r
51 interface ftdi\r
52 ftdi_vid_pid 0x0451 0xc32a\r
53 ftdi_device_desc "USB <-> JTAG/SWD"\r
54 ftdi_layout_init 0x00a8 0x00eb\r
55 ftdi_layout_signal nSRST -noe 0x0020\r
56 \r
57 adapter_khz 1000\r
58 set _ENDIAN little\r
59 \r
60 if { [info exists CHIPNAME] } {\r
61         set _CHIPNAME $CHIPNAME\r
62 } else {\r
63         set _CHIPNAME cc3200\r
64 }\r
65 \r
66 source [find target/icepick.cfg]\r
67 \r
68 if { [info exists DAP_TAPID] } {\r
69         set _DAP_TAPID $DAP_TAPID\r
70 } else {\r
71         set _DAP_TAPID 0x0b97c02f\r
72 }\r
73 \r
74 jtag newtap $_CHIPNAME dap -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_DAP_TAPID -disable\r
75 \r
76 # APP m4\r
77 jtag configure $_CHIPNAME.dap -event tap-enable "icepick_c_tapenable $_CHIPNAME.jrc 0"\r
78 \r
79 # ICEpick-C (JTAG route controller)\r
80 if { [info exists JRC_TAPID] } {\r
81         set _JRC_TAPID $JRC_TAPID\r
82 } else {\r
83         set _JRC_TAPID $_DAP_TAPID\r
84 }\r
85 \r
86 jtag newtap $_CHIPNAME jrc -irlen 6 -ircapture 0x1 -irmask 0x3f -expected-id $_JRC_TAPID -ignore-version\r
87 \r
88 # jtag configure auto0.jrc -event post-reset "runtest 100"\r
89 jtag configure $_CHIPNAME.jrc -event setup "jtag tapenable $_CHIPNAME.dap"\r
90 jtag configure $_CHIPNAME.jrc -event post-reset "runtest 100"\r
91 \r
92 set _TARGETNAME $_CHIPNAME.cpu\r
93 \r
94 target create $_CHIPNAME.cpu cortex_m -endian little -chain-position $_CHIPNAME.dap \r
95 $_CHIPNAME.cpu configure -work-area-phys 0x20000000 -work-area-size 0x30000 -work-area-backup 0 -coreid 0\r
96 \r
97 source [find mem_helper.tcl]\r
98 \r
99 $_TARGETNAME configure -event gdb-attach {\r
100 #       cc3200_dbginit $_TARGETNAME\r
101 #       cortex_m dbginit\r
102         halt\r
103 }\r
104 \r
105 $_TARGETNAME configure -event "reset-start" { adapter_khz 1000 }\r
106 $_TARGETNAME configure -event "reset-assert" {\r
107 \r
108    global _CHIPNAME\r
109 \r
110    # assert warm system reset through ICEPick\r
111    icepick_c_wreset $_CHIPNAME.jrc\r
112 }\r
113 \r
114  \r
115 # Run this to enable invasive debugging.  This is run automatically in the\r
116 # reset sequence.\r
117 proc cc3200_dbginit {target} {\r
118 \r
119    cortex_m dbginit\r
120  \r
121 }\r
122 \r