From: Eugene Crosser Date: Fri, 5 Feb 2016 15:38:20 +0000 (+0300) Subject: initial steps to cc3200 version X-Git-Url: http://www.average.org/gitweb/?p=pulsecounter.git;a=commitdiff_plain;h=8613fd8b02c85a60aa23d73ef80bc4f6ed96c3b5 initial steps to cc3200 version --- diff --git a/cc3200/cc3200.cfg b/cc3200/cc3200.cfg new file mode 100644 index 0000000..e4595b8 --- /dev/null +++ b/cc3200/cc3200.cfg @@ -0,0 +1,122 @@ +# +# 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 ft2232 +#ft2232_layout luminary_icdi +#ft2232_device_desc "USB <-> JTAG/SWD" +#ft2232_vid_pid 0x0451 0xc32a + +telnet_port 5454 + +interface ftdi +ftdi_vid_pid 0x0451 0xc32a +ftdi_device_desc "USB <-> JTAG/SWD" +ftdi_layout_init 0x00a8 0x00eb +ftdi_layout_signal nSRST -noe 0x0020 + +adapter_khz 1000 +set _ENDIAN little + +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 + +} + diff --git a/cc3200/gdbinit b/cc3200/gdbinit new file mode 100644 index 0000000..3234d88 --- /dev/null +++ b/cc3200/gdbinit @@ -0,0 +1,61 @@ +#***************************************************************************** +# gdbinit +# +# Initilization script for GDB for ARM +# +# Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/ +# +# +# 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. +# +#***************************************************************************** + +#***************************************************************************** +#Connect To the tartget using OpenOCD +#***************************************************************************** +target remote | openocd -c "gdb_port pipe; log_output openocd.log" -f cc3200.cfg + +#***************************************************************************** +# Load the binary +#***************************************************************************** +monitor soft_reset_halt +load + +#***************************************************************************** +# Initialize the SP and PC values from the application's +# vector table +#***************************************************************************** +set $sp = g_pfnVectors[0] +set $pc = g_pfnVectors[1] + +#***************************************************************************** +# Set break point at main and run to main +#***************************************************************************** +break main +continue diff --git a/cc3200/persist.h b/cc3200/persist.h new file mode 100644 index 0000000..d8e3ed4 --- /dev/null +++ b/cc3200/persist.h @@ -0,0 +1,19 @@ +#ifndef _PERSIST_H +#define _PERSIST_H + +#include +#include + +#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