initial steps to cc3200 version
authorEugene Crosser <crosser@average.org>
Fri, 5 Feb 2016 15:38:20 +0000 (18:38 +0300)
committerEugene Crosser <crosser@average.org>
Fri, 5 Feb 2016 15:38:28 +0000 (18:38 +0300)
cc3200/cc3200.cfg [new file with mode: 0644]
cc3200/gdbinit [new file with mode: 0644]
cc3200/persist.h [new file with mode: 0644]

diff --git a/cc3200/cc3200.cfg b/cc3200/cc3200.cfg
new file mode 100644 (file)
index 0000000..e4595b8
--- /dev/null
@@ -0,0 +1,122 @@
+#\r
+# Droidifi OpenOCD config for TI CC3200-LP V3.2\r
+#\r
+# http://www.droidifi.com\r
+#\r
+# Copyright Droidifi LLC 2013, 2014 All rights reserved\r
+#\r
+\r
+#*****************************************************************************\r
+#\r
+#  \r
+# \r
+# \r
+#  Redistribution and use in source and binary forms, with or without \r
+#  modification, are permitted provided that the following conditions \r
+#  are met:\r
+#\r
+#    Redistributions of source code must retain the above copyright \r
+#    notice, this list of conditions and the following disclaimer.\r
+#\r
+#    Redistributions in binary form must reproduce the above copyright\r
+#    notice, this list of conditions and the following disclaimer in the \r
+#    documentation and/or other materials provided with the   \r
+#    distribution.\r
+#\r
+#    Neither the name of Texas Instruments Incorporated nor the names of\r
+#    its contributors may be used to endorse or promote products derived\r
+#    from this software without specific prior written permission.\r
+#\r
+#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \r
+#  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT \r
+#  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
+#  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT \r
+#  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \r
+#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT \r
+#  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
+#  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
+#  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT \r
+#  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE \r
+#  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+#\r
+#*****************************************************************************\r
+\r
+#interface ft2232\r
+#ft2232_layout luminary_icdi\r
+#ft2232_device_desc "USB <-> JTAG/SWD"\r
+#ft2232_vid_pid 0x0451 0xc32a\r
+\r
+telnet_port 5454\r
+\r
+interface ftdi\r
+ftdi_vid_pid 0x0451 0xc32a\r
+ftdi_device_desc "USB <-> JTAG/SWD"\r
+ftdi_layout_init 0x00a8 0x00eb\r
+ftdi_layout_signal nSRST -noe 0x0020\r
+\r
+adapter_khz 1000\r
+set _ENDIAN little\r
+\r
+if { [info exists CHIPNAME] } {\r
+       set _CHIPNAME $CHIPNAME\r
+} else {\r
+       set _CHIPNAME cc3200\r
+}\r
+\r
+source [find target/icepick.cfg]\r
+\r
+if { [info exists DAP_TAPID] } {\r
+       set _DAP_TAPID $DAP_TAPID\r
+} else {\r
+       set _DAP_TAPID 0x0b97c02f\r
+}\r
+\r
+jtag newtap $_CHIPNAME dap -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_DAP_TAPID -disable\r
+\r
+# APP m4\r
+jtag configure $_CHIPNAME.dap -event tap-enable "icepick_c_tapenable $_CHIPNAME.jrc 0"\r
+\r
+# ICEpick-C (JTAG route controller)\r
+if { [info exists JRC_TAPID] } {\r
+       set _JRC_TAPID $JRC_TAPID\r
+} else {\r
+       set _JRC_TAPID $_DAP_TAPID\r
+}\r
+\r
+jtag newtap $_CHIPNAME jrc -irlen 6 -ircapture 0x1 -irmask 0x3f -expected-id $_JRC_TAPID -ignore-version\r
+\r
+# jtag configure auto0.jrc -event post-reset "runtest 100"\r
+jtag configure $_CHIPNAME.jrc -event setup "jtag tapenable $_CHIPNAME.dap"\r
+jtag configure $_CHIPNAME.jrc -event post-reset "runtest 100"\r
+\r
+set _TARGETNAME $_CHIPNAME.cpu\r
+\r
+target create $_CHIPNAME.cpu cortex_m -endian little -chain-position $_CHIPNAME.dap \r
+$_CHIPNAME.cpu configure -work-area-phys 0x20000000 -work-area-size 0x30000 -work-area-backup 0 -coreid 0\r
+\r
+source [find mem_helper.tcl]\r
+\r
+$_TARGETNAME configure -event gdb-attach {\r
+#      cc3200_dbginit $_TARGETNAME\r
+#      cortex_m dbginit\r
+       halt\r
+}\r
+\r
+$_TARGETNAME configure -event "reset-start" { adapter_khz 1000 }\r
+$_TARGETNAME configure -event "reset-assert" {\r
+\r
+   global _CHIPNAME\r
+\r
+   # assert warm system reset through ICEPick\r
+   icepick_c_wreset $_CHIPNAME.jrc\r
+}\r
+\r
\r
+# Run this to enable invasive debugging.  This is run automatically in the\r
+# reset sequence.\r
+proc cc3200_dbginit {target} {\r
+\r
+   cortex_m dbginit\r
\r
+}\r
+\r
diff --git a/cc3200/gdbinit b/cc3200/gdbinit
new file mode 100644 (file)
index 0000000..3234d88
--- /dev/null
@@ -0,0 +1,61 @@
+#*****************************************************************************\r
+# gdbinit\r
+#\r
+# Initilization script for GDB for ARM\r
+#\r
+# Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/ \r
+# \r
+# \r
+#  Redistribution and use in source and binary forms, with or without \r
+#  modification, are permitted provided that the following conditions \r
+#  are met:\r
+#\r
+#    Redistributions of source code must retain the above copyright \r
+#    notice, this list of conditions and the following disclaimer.\r
+#\r
+#    Redistributions in binary form must reproduce the above copyright\r
+#    notice, this list of conditions and the following disclaimer in the \r
+#    documentation and/or other materials provided with the   \r
+#    distribution.\r
+#\r
+#    Neither the name of Texas Instruments Incorporated nor the names of\r
+#    its contributors may be used to endorse or promote products derived\r
+#    from this software without specific prior written permission.\r
+#\r
+#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \r
+#  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT \r
+#  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
+#  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT \r
+#  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \r
+#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT \r
+#  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
+#  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
+#  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT \r
+#  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE \r
+#  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+#\r
+#*****************************************************************************\r
+\r
+#*****************************************************************************\r
+#Connect To the tartget using OpenOCD\r
+#*****************************************************************************\r
+target remote | openocd -c "gdb_port pipe; log_output openocd.log" -f cc3200.cfg\r
+\r
+#*****************************************************************************\r
+# Load the binary\r
+#*****************************************************************************\r
+monitor soft_reset_halt\r
+load\r
+\r
+#*****************************************************************************\r
+# Initialize the SP and PC values from the application's \r
+# vector table\r
+#*****************************************************************************\r
+set $sp = g_pfnVectors[0]\r
+set $pc = g_pfnVectors[1]\r
+\r
+#*****************************************************************************\r
+# Set break point at main and run to main\r
+#*****************************************************************************\r
+break main\r
+continue\r
diff --git a/cc3200/persist.h b/cc3200/persist.h
new file mode 100644 (file)
index 0000000..d8e3ed4
--- /dev/null
@@ -0,0 +1,19 @@
+#ifndef _PERSIST_H
+#define _PERSIST_H
+
+#include <stddef.h>
+#include <stdint.h>
+
+#define PAGE_SIZE 4096
+
+struct persist {
+       uint32_t next:24;
+       uint32_t cold_status:1;
+       uint32_t hot_status:1;
+       uint32_t btn_status:1;
+       uint32_t base_count;
+       uint32_t timestamp;
+       uint32_t event[(PAGE_SIZE - offsetof(struct persist, event)) / sizeof(uint32_t)];
+};
+
+#endif