Remove all support for the CC3200 and CC3200-Launchpad. This was a port that was started but never completed. What good is partial CC3200-Launchpad board support with no wireless support?
Squashed commit of the following: Remove final references to CC3200 from the repository. arch/arm/include/tiva: Remove all CC3200 support. arch/arm/src/tiva: Remove all CC3200 support. configs/cc3200-launchpad: Remove the board support directory.
This commit is contained in:
parent
a482867c00
commit
730f7450b7
36 changed files with 57 additions and 4652 deletions
|
@ -8,7 +8,7 @@
|
|||
<tr align="center" bgcolor="#e4e4e4">
|
||||
<td>
|
||||
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
|
||||
<p>Last Updated: April 4, 2018</p>
|
||||
<p>Last Updated: April 9, 2018</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@ -1505,7 +1505,7 @@
|
|||
<li><a href="#armcortexr4">ARM Cortex-R4</a> (1)</li>
|
||||
<li><a href="#armcortexm0">ARM Cortex-M0/M0+</a> (10)</li>
|
||||
<li><a href="#armcortexm3">ARM Cortex-M3</a> (37)</li>
|
||||
<li><a href="#armcortexm4">ARM Cortex-M4</a> (44)</li>
|
||||
<li><a href="#armcortexm4">ARM Cortex-M4</a> (43)</li>
|
||||
<li><a href="#armcortexm7">ARM Cortex-M7</a> (10)</li>
|
||||
</ul>
|
||||
<li>Atmel AVR
|
||||
|
@ -1751,7 +1751,6 @@
|
|||
<li><a href="#titm4c123g">TI/Tiva TM4C123G</a> <small>(ARM Cortex-M4)</small></li>
|
||||
<li><a href="#titm4c1294">TI/Tiva TM4C1294</a> <small>(ARM Cortex-M4)</small></li>
|
||||
<li><a href="#titm4c129x">TI/Tiva TM4C129X</a> <small>(ARM Cortex-M4)</small></li>
|
||||
<li><a href="#ticc3200launchpad">TI/Tiva CC3200 Launchpad</a> <small>(ARM Cortex-M4)</small></li>
|
||||
<li><a href="#tms570ls04x">TI/Hercules TMS570LS04xx</a> <small>(ARM Cortex-R4)</small></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
@ -4765,29 +4764,6 @@ nsh>
|
|||
<td><br></td>
|
||||
<td><hr></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
<td>
|
||||
<p>
|
||||
<a name="ticc3200launchpad"><b>TI/Tiva CC3200 Launchpad</b>.</a>
|
||||
TI/Tiva CC3200 Launchpad
|
||||
</p>
|
||||
<ul>
|
||||
<p>
|
||||
<b>STATUS:</b>
|
||||
This is very much a work in progress.
|
||||
The basic port was released in NuttX-7.5.
|
||||
This basic board supported includes an verified configuration for the NuttShell <a href="http://www.nuttx.org/Documentation/NuttShell.html">NSH</a>).
|
||||
Key wireless networking capability is still missing.
|
||||
Refer to the CC3200 LaunchPad board <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/cc3200-launchpad/README.txt" target="_blank">README</a> file for more detailed information about this port.
|
||||
</p>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
<td><hr></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
<td>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<tr align="center" bgcolor="#e4e4e4">
|
||||
<td>
|
||||
<h1><big><font color="#3c34ec"><i>NuttX README Files</i></font></big></h1>
|
||||
<p>Last Updated: March 26, 2018</p>
|
||||
<p>Last Updated: April 9, 2018</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@ -68,8 +68,6 @@ nuttx/
|
|||
| | `- <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/bambino-200e/README.txt" target="_blank"><b><i>README.txt</i></b></a>
|
||||
| |- c5471evm/
|
||||
| | `- <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/c5471evm/README.txt" target="_blank"><b><i>README.txt</i></b></a>
|
||||
| |- cc3200-launchpad/
|
||||
| | `- <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/cc3200-launchpad/README.txt" target="_blank"><b><i>README.txt</i></b></a>
|
||||
| |- clicker2-stm32/
|
||||
| | `- <a href="https://bitbucket.org/nuttx/nuttx/src/master/configs/clicker2-stm32/README.txt" target="_blank"><b><i>README.txt</i></b></a>
|
||||
| |- cloudctrl/
|
||||
|
|
|
@ -1638,8 +1638,6 @@ nuttx/
|
|||
| | `- README.txt
|
||||
| |- c5471evm/
|
||||
| | `- README.txt
|
||||
| |- cc3200-launchpad/
|
||||
| | `- README.txt
|
||||
| |- clicker2-stm32
|
||||
| | `- README.txt
|
||||
| |- cloudctrl
|
||||
|
|
|
@ -1,299 +0,0 @@
|
|||
/************************************************************************************
|
||||
* arch/arm/include/tiva/cc3200_irq.h
|
||||
*
|
||||
* Copyright (C) 2014 Droidifi LLC.
|
||||
* Author: Jim Ewing <jim@droidifi.com>
|
||||
*
|
||||
* Adapted for the cc3200 from code:
|
||||
*
|
||||
* Copyright (C) 2011-2012 Gregory Nutt.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. 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.
|
||||
* 3. Neither the name Droidifi 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.
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
#ifndef __ARCH_ARM_INCLUDE_TIVA_CC3200_IRQ_H
|
||||
#define __ARCH_ARM_INCLUDE_TIVA_CC3200_IRQ_H
|
||||
|
||||
/************************************************************************************
|
||||
* Included Files
|
||||
************************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
/************************************************************************************
|
||||
* Pre-processor Definitions
|
||||
************************************************************************************/
|
||||
|
||||
/* IRQ numbers. The IRQ number corresponds vector number and hence map directly to
|
||||
* bits in the NVIC. This does, however, waste several words of memory in the IRQ
|
||||
* to handle mapping tables.
|
||||
*/
|
||||
|
||||
/* External interrupts (vectors >= 16) */
|
||||
|
||||
#define TIVA_IRQ_INTERRUPTS (16) /* Vector number of the first external interrupt */
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# define TIVA_IRQ_GPIOA (16) /* Vector 16: GPIO Port A */
|
||||
# define TIVA_IRQ_GPIOB (17) /* Vector 17: GPIO Port B */
|
||||
# define TIVA_IRQ_GPIOC (18) /* Vector 18: GPIO Port C */
|
||||
# define TIVA_IRQ_GPIOD (19) /* Vector 19: GPIO Port D */
|
||||
|
||||
# define TIVA_RESERVED_20 (20) /* Vector 20: Reserved */
|
||||
# define TIVA_IRQ_UART0 (21) /* Vector 21: UART 0 */
|
||||
# define TIVA_IRQ_UART1 (22) /* Vector 22: UART 1 */
|
||||
# define TIVA_RESERVED_23 (23) /* Vector 23: Reserved */
|
||||
# define TIVA_IRQ_I2C0 (24) /* Vector 24: I2C 0 */
|
||||
|
||||
# define TIVA_RESERVED_25 (25) /* Vector 25: Reserved */
|
||||
# define TIVA_RESERVED_26 (26) /* Vector 26: Reserved */
|
||||
# define TIVA_RESERVED_27 (27) /* Vector 27: Reserved */
|
||||
# define TIVA_RESERVED_28 (28) /* Vector 28: Reserved */
|
||||
# define TIVA_RESERVED_29 (29) /* Vector 29: Reserved */
|
||||
|
||||
# define TIVA_IRQ_ADC0 (30) /* Vector 30: ADC Sequence 0 */
|
||||
# define TIVA_IRQ_ADC1 (31) /* Vector 31: ADC Sequence 1 */
|
||||
# define TIVA_IRQ_ADC2 (32) /* Vector 32: ADC Sequence 2 */
|
||||
# define TIVA_IRQ_ADC3 (33) /* Vector 33: ADC Sequence 3 */
|
||||
# define TIVA_IRQ_WDOG (34) /* Vector 34: Watchdog Timers 0 and 1 */
|
||||
# define TIVA_IRQ_TIMER0A (35) /* Vector 35: 16/32-Bit Timer 0 A */
|
||||
# define TIVA_IRQ_TIMER0B (36) /* Vector 36: 16/32-Bit Timer 0 B */
|
||||
# define TIVA_IRQ_TIMER1A (37) /* Vector 37: 16/32-Bit Timer 1 A */
|
||||
# define TIVA_IRQ_TIMER1B (38) /* Vector 38: 16/32-Bit Timer 1 B */
|
||||
# define TIVA_IRQ_TIMER2A (39) /* Vector 39: 16/32-Bit Timer 2 A */
|
||||
# define TIVA_IRQ_TIMER2B (40) /* Vector 40: 16/32-Bit Timer 2 B */
|
||||
|
||||
# define TIVA_RESERVED_41 (41) /* Vector 41: Reserved */
|
||||
# define TIVA_RESERVED_42 (42) /* Vector 42: Reserved */
|
||||
# define TIVA_RESERVED_43 (43) /* Vector 43: Reserved */
|
||||
|
||||
# define TIVA_IRQ_SYSCON (44) /* Vector 44: System Control */
|
||||
# define TIVA_IRQ_FLASHCON (45) /* Vector 45: FLASH and EEPROM Control */
|
||||
|
||||
# define TIVA_RESERVED_46 (46) /* Vector 46: Reserved */
|
||||
# define TIVA_RESERVED_47 (47) /* Vector 47: Reserved */
|
||||
# define TIVA_RESERVED_48 (48) /* Vector 48: Reserved */
|
||||
# define TIVA_RESERVED_49 (49) /* Vector 49: Reserved */
|
||||
# define TIVA_RESERVED_50 (50) /* Vector 50: Reserved */
|
||||
|
||||
# define TIVA_IRQ_TIMER3A (51) /* Vector 51: 16/32-Bit Timer 3 A */
|
||||
# define TIVA_IRQ_TIMER3B (52) /* Vector 52: 16/32-Bit Timer 3 B */
|
||||
|
||||
# define TIVA_RESERVED_53 (53) /* Vector 53: Reserved */
|
||||
# define TIVA_RESERVED_54 (54) /* Vector 54: Reserved */
|
||||
# define TIVA_RESERVED_55 (55) /* Vector 55: Reserved */
|
||||
# define TIVA_RESERVED_56 (56) /* Vector 56: Reserved */
|
||||
# define TIVA_RESERVED_57 (57) /* Vector 57: Reserved */
|
||||
# define TIVA_RESERVED_58 (58) /* Vector 58: Reserved */
|
||||
|
||||
# define TIVA_IRQ_HIBERNATE (59) /* Vector 59: Hibernation Module */
|
||||
|
||||
# define TIVA_RESERVED_60 (60) /* Vector 60: Reserved */
|
||||
# define TIVA_RESERVED_61 (61) /* Vector 61: Reserved */
|
||||
|
||||
# define TIVA_IRQ_UDMASOFT (62) /* Vector 62: uDMA Software */
|
||||
# define TIVA_IRQ_UDMAERROR (63) /* Vector 63: uDMA Error */
|
||||
|
||||
# define TIVA_IRQ_ADC1_0 (64) /* Vector 64: ADC1 Sequence 0 */
|
||||
# define TIVA_IRQ_ADC1_1 (65) /* Vector 65: ADC1 Sequence 1 */
|
||||
# define TIVA_IRQ_ADC1_2 (66) /* Vector 66: ADC1 Sequence 2 */
|
||||
# define TIVA_IRQ_ADC1_3 (67) /* Vector 67: ADC1 Sequence 3 */
|
||||
# define TIVA_IRQ_I2S0 (68) /* Vector 68: I2S0 */
|
||||
# define TIVA_IRQ_EPI (69) /* Vector 69: EPI */
|
||||
|
||||
# define TIVA_RESERVED_70 (70) /* Vector 70: Reserved */
|
||||
# define TIVA_RESERVED_71 (71) /* Vector 71: Reserved */
|
||||
# define TIVA_RESERVED_72 (72) /* Vector 72: Reserved */
|
||||
# define TIVA_RESERVED_73 (73) /* Vector 73: Reserved */
|
||||
# define TIVA_RESERVED_74 (74) /* Vector 74: Reserved */
|
||||
# define TIVA_RESERVED_75 (75) /* Vector 75: Reserved */
|
||||
# define TIVA_RESERVED_76 (76) /* Vector 76: Reserved */
|
||||
# define TIVA_RESERVED_77 (77) /* Vector 77: Reserved */
|
||||
# define TIVA_RESERVED_78 (78) /* Vector 78: Reserved */
|
||||
# define TIVA_RESERVED_79 (79) /* Vector 79: Reserved */
|
||||
|
||||
# define TIVA_RESERVED_80 (80) /* Vector 80: Reserved */
|
||||
# define TIVA_RESERVED_81 (81) /* Vector 81: Reserved */
|
||||
# define TIVA_RESERVED_82 (82) /* Vector 82: Reserved */
|
||||
# define TIVA_RESERVED_83 (83) /* Vector 83: Reserved */
|
||||
# define TIVA_RESERVED_84 (84) /* Vector 84: Reserved */
|
||||
# define TIVA_RESERVED_85 (85) /* Vector 85: Reserved */
|
||||
# define TIVA_RESERVED_86 (86) /* Vector 86: Reserved */
|
||||
# define TIVA_RESERVED_87 (87) /* Vector 87: Reserved */
|
||||
# define TIVA_RESERVED_88 (88) /* Vector 88: Reserved */
|
||||
# define TIVA_RESERVED_89 (89) /* Vector 89: Reserved */
|
||||
|
||||
# define TIVA_RESERVED_90 (90) /* Vector 90: Reserved */
|
||||
# define TIVA_RESERVED_91 (91) /* Vector 91: Reserved */
|
||||
# define TIVA_RESERVED_92 (92) /* Vector 92: Reserved */
|
||||
# define TIVA_RESERVED_93 (93) /* Vector 93: Reserved */
|
||||
# define TIVA_RESERVED_94 (94) /* Vector 94: Reserved */
|
||||
# define TIVA_RESERVED_95 (95) /* Vector 95: Reserved */
|
||||
# define TIVA_RESERVED_96 (96) /* Vector 96: Reserved */
|
||||
# define TIVA_RESERVED_97 (97) /* Vector 97: Reserved */
|
||||
# define TIVA_RESERVED_98 (98) /* Vector 98: Reserved */
|
||||
# define TIVA_RESERVED_99 (99) /* Vector 99: Reserved */
|
||||
|
||||
# define TIVA_RESERVED_100 (100) /* Vector 100: Reserved */
|
||||
# define TIVA_RESERVED_101 (101) /* Vector 101: Reserved */
|
||||
# define TIVA_RESERVED_102 (102) /* Vector 102: Reserved */
|
||||
# define TIVA_RESERVED_103 (103) /* Vector 103: Reserved */
|
||||
# define TIVA_RESERVED_104 (104) /* Vector 104: Reserved */
|
||||
# define TIVA_RESERVED_105 (105) /* Vector 105: Reserved */
|
||||
# define TIVA_RESERVED_106 (106) /* Vector 106: Reserved */
|
||||
# define TIVA_RESERVED_107 (107) /* Vector 107: Reserved */
|
||||
# define TIVA_RESERVED_108 (108) /* Vector 108: Reserved */
|
||||
# define TIVA_RESERVED_109 (109) /* Vector 109: Reserved */
|
||||
# define TIVA_RESERVED_110 (110) /* Vector 110: Reserved */
|
||||
# define TIVA_RESERVED_111 (111) /* Vector 111: Reserved */
|
||||
# define TIVA_RESERVED_112 (112) /* Vector 112: Reserved */
|
||||
# define TIVA_RESERVED_113 (113) /* Vector 113: Reserved */
|
||||
# define TIVA_RESERVED_114 (114) /* Vector 114: Reserved */
|
||||
# define TIVA_RESERVED_115 (115) /* Vector 115: Reserved */
|
||||
# define TIVA_RESERVED_116 (116) /* Vector 116: Reserved */
|
||||
# define TIVA_RESERVED_117 (117) /* Vector 117: Reserved */
|
||||
# define TIVA_RESERVED_118 (118) /* Vector 118: Reserved */
|
||||
# define TIVA_RESERVED_119 (119) /* Vector 119: Reserved */
|
||||
|
||||
# define TIVA_RESERVED_120 (120) /* Vector 120: Reserved */
|
||||
# define TIVA_RESERVED_121 (121) /* Vector 121: Reserved */
|
||||
# define TIVA_IRQ_SYSTEM (122) /* Vector 122: System Exception (imprecise) */
|
||||
# define TIVA_RESERVED_123 (123) /* Vector 123: Reserved */
|
||||
# define TIVA_RESERVED_124 (124) /* Vector 124: Reserved */
|
||||
# define TIVA_RESERVED_125 (125) /* Vector 125: Reserved */
|
||||
# define TIVA_RESERVED_126 (126) /* Vector 126: Reserved */
|
||||
# define TIVA_RESERVED_127 (127) /* Vector 127: Reserved */
|
||||
# define TIVA_RESERVED_128 (128) /* Vector 128: Reserved */
|
||||
# define TIVA_RESERVED_129 (129) /* Vector 129: Reserved */
|
||||
|
||||
# define TIVA_RESERVED_130 (130) /* Vector 130: Reserved */
|
||||
# define TIVA_RESERVED_131 (131) /* Vector 131: Reserved */
|
||||
# define TIVA_RESERVED_132 (132) /* Vector 132: Reserved */
|
||||
# define TIVA_RESERVED_133 (133) /* Vector 133: Reserved */
|
||||
# define TIVA_RESERVED_134 (134) /* Vector 134: Reserved */
|
||||
# define TIVA_RESERVED_135 (135) /* Vector 135: Reserved */
|
||||
# define TIVA_RESERVED_136 (136) /* Vector 136: Reserved */
|
||||
# define TIVA_RESERVED_137 (137) /* Vector 137: Reserved */
|
||||
# define TIVA_RESERVED_138 (138) /* Vector 138: Reserved */
|
||||
# define TIVA_RESERVED_139 (139) /* Vector 139: Reserved */
|
||||
|
||||
# define TIVA_RESERVED_140 (140) /* Vector 140: Reserved */
|
||||
# define TIVA_RESERVED_141 (141) /* Vector 141: Reserved */
|
||||
# define TIVA_RESERVED_142 (142) /* Vector 142: Reserved */
|
||||
# define TIVA_RESERVED_143 (143) /* Vector 143: Reserved */
|
||||
# define TIVA_RESERVED_144 (144) /* Vector 144: Reserved */
|
||||
# define TIVA_RESERVED_145 (145) /* Vector 145: Reserved */
|
||||
# define TIVA_RESERVED_146 (146) /* Vector 146: Reserved */
|
||||
# define TIVA_RESERVED_147 (147) /* Vector 147: Reserved */
|
||||
# define TIVA_RESERVED_148 (148) /* Vector 148: Reserved */
|
||||
# define TIVA_RESERVED_149 (149) /* Vector 149: Reserved */
|
||||
|
||||
# define TIVA_RESERVED_150 (150) /* Vector 150: Reserved */
|
||||
# define TIVA_RESERVED_151 (151) /* Vector 151: Reserved */
|
||||
# define TIVA_RESERVED_152 (152) /* Vector 152: Reserved */
|
||||
# define TIVA_RESERVED_153 (153) /* Vector 153: Reserved */
|
||||
# define TIVA_RESERVED_154 (154) /* Vector 154: Reserved */
|
||||
# define TIVA_RESERVED_155 (155) /* Vector 155: Reserved */
|
||||
# define TIVA_RESERVED_156 (156) /* Vector 156: Reserved */
|
||||
# define TIVA_RESERVED_157 (157) /* Vector 157: Reserved */
|
||||
# define TIVA_RESERVED_158 (158) /* Vector 158: Reserved */
|
||||
# define TIVA_RESERVED_159 (159) /* Vector 159: Reserved */
|
||||
|
||||
# define TIVA_RESERVED_160 (160) /* Vector 160: Reserved */
|
||||
# define TIVA_RESERVED_161 (161) /* Vector 161: Reserved */
|
||||
# define TIVA_RESERVED_162 (162) /* Vector 162: Reserved */
|
||||
# define TIVA_RESERVED_163 (163) /* Vector 162: Reserved */
|
||||
# define TIVA_IRQ_SHA (164) /* Vector 162: SHA HW */
|
||||
# define TIVA_RESERVED_165 (165) /* Vector 165: Reserved */
|
||||
# define TIVA_RESERVED_166 (166) /* Vector 166: Reserved */
|
||||
# define TIVA_IRQ_AES (167) /* Vector 167: AES HW */
|
||||
# define TIVA_RESERVED_168 (168) /* Vector 168: Reserved */
|
||||
# define TIVA_IRQ_DES (169) /* Vector 169: DES HW */
|
||||
|
||||
# define TIVA_RESERVED_170 (170) /* Vector 170: Reserved */
|
||||
# define TIVA_RESERVED_171 (171) /* Vector 171: Reserved */
|
||||
# define TIVA_RESERVED_172 (172) /* Vector 172: Reserved */
|
||||
# define TIVA_RESERVED_173 (173) /* Vector 173: Reserved */
|
||||
# define TIVA_RESERVED_174 (174) /* Vector 174: Reserved */
|
||||
# define TIVA_RESERVED_175 (175) /* Vector 175: Reserved */
|
||||
# define TIVA_RESERVED_176 (176) /* Vector 176: Reserved */
|
||||
# define TIVA_IRQ_MC_ASP_0 (177) /* Vector 177: McASP 0 */
|
||||
# define TIVA_RESERVED_178 (178) /* Vector 178: Reserved */
|
||||
# define TIVA_IRQ_CAM_0 (179) /* Vector 179: Camera A0 */
|
||||
|
||||
# define TIVA_RESERVED_180 (180) /* Vector 180: Reserved */
|
||||
# define TIVA_RESERVED_181 (181) /* Vector 181: Reserved */
|
||||
# define TIVA_RESERVED_182 (182) /* Vector 182: Reserved */
|
||||
# define TIVA_RESERVED_183 (183) /* Vector 183: Reserved */
|
||||
# define TIVA_IRQ_RAM_ERR (184) /* Vector 184: RAM Err */
|
||||
# define TIVA_RESERVED_185 (185) /* Vector 185: Reserved */
|
||||
# define TIVA_RESERVED_186 (186) /* Vector 186: Reserved */
|
||||
# define TIVA_IRQ_NWPIC (187) /* Vector 187: NWP IC interocessor comm */
|
||||
# define TIVA_IRQ_PRCM (188) /* Vector 188: Pwr, Rst, Clk */
|
||||
# define TIVA_IRQ_TOPDIE (189) /* Vector 189: From Top Die */
|
||||
|
||||
# define TIVA_RESERVED_190 (190) /* Vector 190: Reserved */
|
||||
# define TIVA_IRQ_MCSPI_S0 (191) /* Vector 191: SPI S0 */
|
||||
# define TIVA_IRQ_MCSPI_A1 (192) /* Vector 191: SPI A0 */
|
||||
# define TIVA_IRQ_MCSPI_A2 (193) /* Vector 191: SPI A1 */
|
||||
# define TIVA_RESERVED_194 (194) /* Vector 194: Reserved */
|
||||
|
||||
# define NR_IRQS (195) /* (Really fewer because of reserved vectors) */
|
||||
|
||||
#else
|
||||
# error "IRQ Numbers not known for this Tiva chip"
|
||||
#endif
|
||||
|
||||
/************************************************************************************
|
||||
* Public Types
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Public Data
|
||||
************************************************************************************/
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/************************************************************************************
|
||||
* Public Functions
|
||||
************************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* __ARCH_ARM_INCLUDE_TIVA_CC3200_IRQ_H */
|
|
@ -286,31 +286,6 @@
|
|||
# define TIVA_NAES 1 /* One AES module */
|
||||
# define TIVA_NDES 1 /* One DES module */
|
||||
# define TIVA_NHASH 1 /* One SHA1/MD5 hash module */
|
||||
#elif defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# undef LM3S /* Not LM3S family */
|
||||
# undef LM4F /* Not LM4F family */
|
||||
# define TM4C 1 /* TM4C family */
|
||||
# define TIVA_NTIMERS 4 /* Four 16/32-bit timers */
|
||||
# define TIVA_NWIDETIMERS 2 /* Two 32/64-bit timers */
|
||||
# define TIVA_NETHCONTROLLERS 0 /* No Ethernet controller */
|
||||
# define TIVA_NLCD 0 /* No LCD controller */
|
||||
# define TIVA_NSSI 0 /* No SSI module */
|
||||
# define TIVA_NUARTS 2 /* Two UART modules */
|
||||
# define TIVA_NI2C 2 /* Two I2C modules */
|
||||
# define TIVA_NADC 3 /* Three ADC modules */
|
||||
# define TIVA_NPWM 0 /* No PWM generator modules */
|
||||
# define TIVA_NQEI 0 /* No quadrature encoders */
|
||||
# define TIVA_NPORTS 4 /* 4 Ports (GPIOA-D), 0-31 GPIOs */
|
||||
# define TIVA_DES 1 /* 1 DES hw crypto */
|
||||
# define TIVA_AES 1 /* 1 AES hw crypto */
|
||||
# define TIVA_CRC 1 /* 1 CRC hw crypto */
|
||||
# define TIVA_SHA 1 /* 1 SHA/MD5 hw crypto */
|
||||
# define TIVA_SPI 2 /* Two SPI modules */
|
||||
# define TIVA_NCANCONTROLLER 0 /* No CAN controllers */
|
||||
# define TIVA_NCRC 0 /* No CRC module */
|
||||
# define TIVA_NAES 0 /* No AES module */
|
||||
# define TIVA_NDES 0 /* No DES module */
|
||||
# define TIVA_NHASH 0 /* No SHA1/MD5 hash module */
|
||||
#else
|
||||
# error "Capabilities not specified for this TIVA/Stellaris chip"
|
||||
#endif
|
||||
|
|
|
@ -46,9 +46,8 @@
|
|||
/************************************************************************************
|
||||
* Pre-processor Definitions
|
||||
************************************************************************************/
|
||||
#if defined(CONFIG_ARCH_CHIP_LM3S) || defined(CONFIG_ARCH_CHIP_LM4F) || \
|
||||
defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_LM3S) || defined(CONFIG_ARCH_CHIP_LM4F)
|
||||
/* I don't believe that any of these families support interrupts on port J. Many
|
||||
* do not support interrupts on port H either.
|
||||
*/
|
||||
|
@ -182,8 +181,6 @@
|
|||
# include <arch/tiva/lm4f_irq.h>
|
||||
#elif defined(CONFIG_ARCH_CHIP_TM4C)
|
||||
# include <arch/tiva/tm4c_irq.h>
|
||||
#elif defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# include <arch/tiva/cc3200_irq.h>
|
||||
#else
|
||||
# error "Unsupported Stellaris IRQ file"
|
||||
#endif
|
||||
|
|
|
@ -107,13 +107,6 @@ config ARCH_CHIP_TM4C129XNC
|
|||
select ARCH_CHIP_TM4C
|
||||
select ARCH_CHIP_TM4C129
|
||||
select TIVA_HAVE_ETHERNET
|
||||
|
||||
config ARCH_CHIP_CC3200
|
||||
bool "CC3200"
|
||||
depends on ARCH_CHIP_TIVA
|
||||
select ARCH_CORTEXM4
|
||||
select TIVA_HAVE_I2C1
|
||||
|
||||
endchoice
|
||||
|
||||
# Chip families
|
||||
|
@ -546,6 +539,22 @@ config TIVA_FLASH
|
|||
|
||||
endmenu
|
||||
|
||||
config TIVA_RAMVBAR
|
||||
bool "Set VBAR"
|
||||
default n
|
||||
---help---
|
||||
Set the ARM VBAR register to position interrupt vectors at the
|
||||
beginning of RAM (vs the beginning of FLASH). The beginning of RAM
|
||||
is that address defined by CONFIG_RAM_START.
|
||||
|
||||
config TIVA_BOARD_CLOCKCONFIG
|
||||
bool "Board-specific clock configuration"
|
||||
default n
|
||||
---help---
|
||||
If CONFIG_TIVA_BOARD_CLOCKCONFIG is defined, then the board-specific
|
||||
logic must provide the function tiva_board_clockconfig(). That
|
||||
function will then be called to perform all clock initialization.
|
||||
|
||||
menu "Enable GPIO Interrupts"
|
||||
|
||||
config TIVA_GPIO_IRQS
|
||||
|
|
|
@ -1,156 +0,0 @@
|
|||
/************************************************************************************
|
||||
* arch/arm/src/tiva/chip/cc3200_memorymap.h
|
||||
*
|
||||
* Copyright (C) 2014 Droidifi LLC. All rights reserved.
|
||||
* Jim Ewing <jim@droidifi.com>
|
||||
*
|
||||
* Adapted for the cc3200 from code:
|
||||
*
|
||||
* Copyright (C) Gregory Nutt.
|
||||
* Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. 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.
|
||||
* 3. Neither the name Droidifi 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.
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
#ifndef __ARCH_ARM_SRC_TIVA_CHIP_CC3200_MEMORYMAP_H
|
||||
#define __ARCH_ARM_SRC_TIVA_CHIP_CC3200_MEMORYMAP_H
|
||||
|
||||
/************************************************************************************
|
||||
* Included Files
|
||||
************************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
/************************************************************************************
|
||||
* Pre-processor Definitions
|
||||
************************************************************************************/
|
||||
|
||||
/* Memory map ***********************************************************************/
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# define TIVA_FLASH_BASE 0x00000000 /* -0x0007ffff: On-chip FLASH */
|
||||
/* -0x00ffffff: Reserved */
|
||||
# define TIVA_ROM_BASE 0x01000000 /* -0x1fffffff: Reserved for ROM */
|
||||
# define TIVA_SRAM_BASE 0x20000000 /* -0x2003ffff: Bit-banded on-chip SRAM */
|
||||
/* -0x21ffffff: Reserved */
|
||||
# define TIVA_ASRAM_BASE 0x22000000 /* -0x23ffffff: Bit-band alias of 20000000- */
|
||||
/* -0x3fffffff: Reserved */
|
||||
# define TIVA_PERIPH_BASE 0x40000000 /* -0x4001ffff: FiRM Peripherals */
|
||||
/* -0x41ffffff: Peripherals */
|
||||
# define TIVA_APERIPH_BASE 0x42000000 /* -0x43ffffff: Bit-band alias of 40000000- */
|
||||
|
||||
# define TIVA_CRYPTO_BASE 0x44030000 /* -0x44039fff: Crypto HW base 44030000- */
|
||||
/* -0xdfffffff: Reserved */
|
||||
# define TIVA_ITM_BASE 0xe0000000 /* -0xe0000fff: Instrumentation Trace Macrocell */
|
||||
# define TIVA_DWT_BASE 0xe0001000 /* -0xe0001fff: Data Watchpoint and Trace */
|
||||
# define TIVA_FPB_BASE 0xe0002000 /* -0xe0002fff: Flash Patch and Breakpoint */
|
||||
/* -0xe000dfff: Reserved */
|
||||
# define TIVA_NVIC_BASE 0xe000e000 /* -0xe000efff: Nested Vectored Interrupt Controller */
|
||||
/* -0xe003ffff: Reserved */
|
||||
# define TIVA_TPIU_BASE 0xe0040000 /* -0xe0040fff: Trace Port Interface Unit */
|
||||
# define TIVA_ETM_BASE 0xe0041000 /* -0xe0041fff: Embedded Trace Macrocell */
|
||||
/* -0xffffffff: Reserved */
|
||||
#else
|
||||
# error "Memory map not specified for this TM4C chip"
|
||||
#endif
|
||||
|
||||
/* Peripheral base addresses ********************************************************/
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
|
||||
# define TIVA_WDOG0_BASE (TIVA_PERIPH_BASE + 0x00000) /* -0x00fff: Watchdog Timer 0 */
|
||||
|
||||
# define TIVA_GPIOA_BASE (TIVA_PERIPH_BASE + 0x04000) /* -0x04fff: GPIO Port A */
|
||||
# define TIVA_GPIOB_BASE (TIVA_PERIPH_BASE + 0x05000) /* -0x05fff: GPIO Port B */
|
||||
# define TIVA_GPIOC_BASE (TIVA_PERIPH_BASE + 0x06000) /* -0x06fff: GPIO Port C */
|
||||
# define TIVA_GPIOD_BASE (TIVA_PERIPH_BASE + 0x07000) /* -0x07fff: GPIO Port D */
|
||||
|
||||
# define TIVA_UART0_BASE (TIVA_PERIPH_BASE + 0x0c000) /* -0x0cfff: UART0 */
|
||||
# define TIVA_UART1_BASE (TIVA_PERIPH_BASE + 0x0d000) /* -0x0dfff: UART1 */
|
||||
|
||||
# define TIVA_I2C0_BASE (TIVA_PERIPH_BASE + 0x20000) /* -0x207ff: I2C0 */
|
||||
|
||||
# define TIVA_TIMER0_BASE (TIVA_PERIPH_BASE + 0x30000) /* -0x30fff: 16/32 Timer 0 */
|
||||
# define TIVA_TIMER1_BASE (TIVA_PERIPH_BASE + 0x31000) /* -0x31fff: 16/32 Timer 1 */
|
||||
# define TIVA_TIMER2_BASE (TIVA_PERIPH_BASE + 0x32000) /* -0x32fff: 16/32 Timer 2 */
|
||||
# define TIVA_TIMER3_BASE (TIVA_PERIPH_BASE + 0x33000) /* -0x33fff: 16/32 Timer 3 */
|
||||
|
||||
// NOTE: ADC memory location not listed in CC3200 DS
|
||||
# define TIVA_ADC0_BASE (TIVA_PERIPH_BASE + 0x38000) /* -0x38fff: ADC 0 */
|
||||
|
||||
# define TIVA_CONF_REG (TIVA_PERIPH_BASE + 0xf7000) /* -0xf7fff: Configuration registers */
|
||||
# define TIVA_SYSCON_BASE (TIVA_PERIPH_BASE + 0xfe000) /* -0xfefff: System Control */
|
||||
|
||||
# define TIVA_UDMA_BASE (TIVA_PERIPH_BASE + 0xff000) /* -0xfffff: Micro Direct Memory Access */
|
||||
# define TIVA_ASP_A0 (TIVA_PERIPH_BASE + 0x401c000)/* -0x401efff: McASP A0 */
|
||||
# define TIVA_SPI_A0 (TIVA_PERIPH_BASE + 0x4020000)/* -0x4020fff: McSPI A0 */
|
||||
# define TIVA_SPI_A1 (TIVA_PERIPH_BASE + 0x4021000)/* -0x4022fff: McSPI A1 */
|
||||
|
||||
# define TIVA_APP_CLK_BASE (TIVA_PERIPH_BASE + 0x4025000)/* -0x4025fff: App Clk */
|
||||
# define TIVA_APP_CFG_BASE (TIVA_PERIPH_BASE + 0x4026000)/* -0x4026fff: App config */
|
||||
# define TIVA_OCP_GPRCM_BASE (TIVA_PERIPH_BASE + 0x402d000)/* -0x402dfff: global reset, pwr, clk */
|
||||
# define TIVA_OCP_SHR_BASE (TIVA_PERIPH_BASE + 0x402e000)/* -0x402efff: OCP shared config */
|
||||
# define TIVA_HIBERNATE_BASE (TIVA_PERIPH_BASE + 0x402f000)/* -0x402ffff: Hibernation Controller */
|
||||
|
||||
/* Crypto Base Addresses */
|
||||
|
||||
# define TIVA_TCP_DTHE_BASE (TIVA_CRYPTO_BASE + 0x0000) /* -0x0fff: TCP Checksum & DTHE regs */
|
||||
# define TIVA_CCM_BASE TIVA_TCP_DTHE_BASE
|
||||
# define TIVA_SHA_BASE (TIVA_CRYPTO_BASE + 0x5000) /* -0x5fff: MD5/SHA */
|
||||
# define TIVA_AES_BASE (TIVA_CRYPTO_BASE + 0x7000) /* -0x7fff: AES */
|
||||
# define TIVA_DES_BASE (TIVA_CRYPTO_BASE + 0x9000) /* -0x9fff: DES */
|
||||
|
||||
// NOTE: the following locations are not listed in CC3200 DS
|
||||
# define TIVA_GPIOAAHB_BASE (TIVA_PERIPH_BASE + 0x58000) /* -0x58fff: GPIO Port A (AHB aperture) */
|
||||
# define TIVA_GPIOBAHB_BASE (TIVA_PERIPH_BASE + 0x59000) /* -0x59fff: GPIO Port B (AHB aperture) */
|
||||
# define TIVA_GPIOCAHB_BASE (TIVA_PERIPH_BASE + 0x5a000) /* -0x5afff: GPIO Port C (AHB aperture) */
|
||||
# define TIVA_GPIODAHB_BASE (TIVA_PERIPH_BASE + 0x5b000) /* -0x5bfff: GPIO Port D (AHB aperture) */
|
||||
|
||||
# define TIVA_EPI0_BASE (TIVA_PERIPH_BASE + 0xd0000) /* -0xd0fff: EPI 0 */
|
||||
# define TIVA_EEPROM_BASE (TIVA_PERIPH_BASE + 0xaf000) /* -0xaffff: EEPROM and Key Locker */
|
||||
# define TIVA_SYSEXC_BASE (TIVA_PERIPH_BASE + 0xf9000) /* -0xf9fff: System Exception Control */
|
||||
# define TIVA_FLASHCON_BASE (TIVA_PERIPH_BASE + 0xfd000) /* -0xfdfff: FLASH Control */
|
||||
|
||||
#else
|
||||
# error "Peripheral base addresses not specified for this Stellaris chip"
|
||||
#endif
|
||||
|
||||
/************************************************************************************
|
||||
* Public Types
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Public Data
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Public Function Prototypes
|
||||
************************************************************************************/
|
||||
|
||||
#endif /* __ARCH_ARM_SRC_TIVA_CHIP_CC3200_MEMORYMAP_H */
|
|
@ -1,136 +0,0 @@
|
|||
/************************************************************************************
|
||||
* arch/arm/src/tiva/chip/cc3200_pinmap.h
|
||||
*
|
||||
* Copyright (C) 2014 Droidifi LLC. All rights reserved.
|
||||
* Author: Jim Ewing <jim@droidifi.com>
|
||||
*
|
||||
* Adapted for the cc3200 from code:
|
||||
*
|
||||
* Copyright (C) Gregory Nutt.
|
||||
* Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. 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.
|
||||
* 3. Neither the name Droidifi 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.
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
#ifndef __ARCH_ARM_SRC_TIVA_CHIP_CC3200_PINMAP_H
|
||||
#define __ARCH_ARM_SRC_TIVA_CHIP_CC3200_PINMAP_H
|
||||
|
||||
/************************************************************************************
|
||||
* Included Files
|
||||
************************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
/************************************************************************************
|
||||
* Pre-processor Definitions
|
||||
************************************************************************************/
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
|
||||
# define GPIO_ADC_IN0 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_3)
|
||||
# define GPIO_ADC_IN1 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_2)
|
||||
# define GPIO_ADC_IN2 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_1)
|
||||
# define GPIO_ADC_IN3 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_0)
|
||||
# define GPIO_ADC_IN4 (GPIO_FUNC_ANINPUT | GPIO_PORTD | GPIO_PIN_3)
|
||||
# define GPIO_ADC_IN5 (GPIO_FUNC_ANINPUT | GPIO_PORTD | GPIO_PIN_2)
|
||||
# define GPIO_ADC_IN6 (GPIO_FUNC_ANINPUT | GPIO_PORTD | GPIO_PIN_1)
|
||||
# define GPIO_ADC_IN7 (GPIO_FUNC_ANINPUT | GPIO_PORTD | GPIO_PIN_0)
|
||||
# define GPIO_ADC_IN8 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_5)
|
||||
# define GPIO_ADC_IN9 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_4)
|
||||
# define GPIO_ADC_IN10 (GPIO_FUNC_ANINPUT | GPIO_PORTB | GPIO_PIN_4)
|
||||
# define GPIO_ADC_IN11 (GPIO_FUNC_ANINPUT | GPIO_PORTB | GPIO_PIN_5)
|
||||
|
||||
# define GPIO_CORE_TRCLK (GPIO_FUNC_PFOUTPUT | GPIO_ALT_14 | GPIO_PADTYPE_ODWPU | GPIO_PORTF | GPIO_PIN_3)
|
||||
# define GPIO_CORE_TRD0 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_14 | GPIO_PADTYPE_ODWPU | GPIO_PORTF | GPIO_PIN_2)
|
||||
# define GPIO_CORE_TRD1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_14 | GPIO_PADTYPE_ODWPU | GPIO_PORTF | GPIO_PIN_1)
|
||||
|
||||
# define GPIO_I2C0_SCL (GPIO_FUNC_PFOUTPUT | GPIO_ALT_3 | GPIO_PORTB | GPIO_PIN_2)
|
||||
# define GPIO_I2C0_SDA (GPIO_FUNC_PFODIO | GPIO_ALT_3 | GPIO_PORTB | GPIO_PIN_3)
|
||||
# define GPIO_I2C1_SCL (GPIO_FUNC_PFOUTPUT | GPIO_ALT_3 | GPIO_PORTA | GPIO_PIN_6)
|
||||
# define GPIO_I2C1_SDA (GPIO_FUNC_PFODIO | GPIO_ALT_3 | GPIO_PORTA | GPIO_PIN_7)
|
||||
# define GPIO_I2C2_SCL (GPIO_FUNC_PFOUTPUT | GPIO_ALT_3 | GPIO_PORTE | GPIO_PIN_4)
|
||||
# define GPIO_I2C2_SDA (GPIO_FUNC_PFODIO | GPIO_ALT_3 | GPIO_PORTE | GPIO_PIN_5)
|
||||
# define GPIO_I2C3_SCL (GPIO_FUNC_PFOUTPUT | GPIO_ALT_3 | GPIO_PORTD | GPIO_PIN_0)
|
||||
# define GPIO_I2C3_SDA (GPIO_FUNC_PFODIO | GPIO_ALT_3 | GPIO_PORTD | GPIO_PIN_1)
|
||||
|
||||
# define GPIO_JTAG_SWCLK (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_0)
|
||||
# define GPIO_JTAG_SWDIO (GPIO_FUNC_PFIO | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_1)
|
||||
# define GPIO_JTAG_SWO (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_3)
|
||||
# define GPIO_JTAG_TCK (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_0)
|
||||
# define GPIO_JTAG_TDI (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_2)
|
||||
# define GPIO_JTAG_TDO (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_3)
|
||||
# define GPIO_JTAG_TMS (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_1)
|
||||
|
||||
# define GPIO_SYSCON_NMI_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_8 | GPIO_PORTD | GPIO_PIN_7)
|
||||
# define GPIO_SYSCON_NMI_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_8 | GPIO_PORTF | GPIO_PIN_0)
|
||||
|
||||
# define GPIO_TIM0_CCP0_1 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTB | GPIO_PIN_6)
|
||||
# define GPIO_TIM0_CCP0_2 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTF | GPIO_PIN_0)
|
||||
# define GPIO_TIM0_CCP1_1 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTB | GPIO_PIN_7)
|
||||
# define GPIO_TIM0_CCP1_2 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTF | GPIO_PIN_1)
|
||||
# define GPIO_TIM1_CCP0_1 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTB | GPIO_PIN_4)
|
||||
# define GPIO_TIM1_CCP0_2 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTF | GPIO_PIN_2)
|
||||
# define GPIO_TIM1_CCP1_1 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTB | GPIO_PIN_5)
|
||||
# define GPIO_TIM1_CCP1_2 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTF | GPIO_PIN_3)
|
||||
# define GPIO_TIM2_CCP0_1 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTB | GPIO_PIN_0)
|
||||
# define GPIO_TIM2_CCP0_2 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTF | GPIO_PIN_4)
|
||||
# define GPIO_TIM2_CCP1 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTB | GPIO_PIN_1)
|
||||
# define GPIO_TIM3_CCP0 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTB | GPIO_PIN_2)
|
||||
# define GPIO_TIM4_CCP1 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTC | GPIO_PIN_1)
|
||||
|
||||
# define GPIO_UART0_RX (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTA | GPIO_PIN_0)
|
||||
# define GPIO_UART0_TX (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTA | GPIO_PIN_1)
|
||||
# define GPIO_UART1_RX (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTA | GPIO_PIN_0)
|
||||
# define GPIO_UART1_TX (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTA | GPIO_PIN_1)
|
||||
# define GPIO_UART1_CTS_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTF | GPIO_PIN_1)
|
||||
# define GPIO_UART1_CTS_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_8 | GPIO_PORTC | GPIO_PIN_5)
|
||||
# define GPIO_UART1_RTS_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTF | GPIO_PIN_0)
|
||||
# define GPIO_UART1_RTS_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_8 | GPIO_PORTC | GPIO_PIN_4)
|
||||
# define GPIO_UART1_RX_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTB | GPIO_PIN_0)
|
||||
# define GPIO_UART1_RX_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_2 | GPIO_PORTC | GPIO_PIN_4)
|
||||
# define GPIO_UART1_TX_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTB | GPIO_PIN_1)
|
||||
# define GPIO_UART1_TX_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTC | GPIO_PIN_5)
|
||||
|
||||
#else
|
||||
# error "Unknown TIVA chip"
|
||||
#endif
|
||||
|
||||
/************************************************************************************
|
||||
* Public Types
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Public Data
|
||||
************************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Public Function Prototypes
|
||||
****************************************************************************/
|
||||
|
||||
#endif /* __ARCH_ARM_SRC_TIVA_CHIP_CC3200_PINMAP_H */
|
File diff suppressed because it is too large
Load diff
|
@ -1,267 +0,0 @@
|
|||
/************************************************************************************
|
||||
* arch/arm/src/tiva/chip/cc3200_vectors.h
|
||||
*
|
||||
* Copyright (C) 2014 Droidifi LLC. All rights reserved.
|
||||
* Author: Jim Ewing <jim@droidifi.com>
|
||||
*
|
||||
* Adapted for the cc3200 from code:
|
||||
*
|
||||
* Copyright (C) Gregory Nutt.
|
||||
* Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. 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.
|
||||
* 3. Neither the name Droidifi 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.
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Pre-processor Definitions
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Vectors
|
||||
************************************************************************************/
|
||||
|
||||
/* This file is included by tiva_vectors.S. It provides the macro VECTOR that
|
||||
* supplies each Tiva vector in terms of a (lower-case) ISR label and an
|
||||
* (upper-case) IRQ number as defined in arch/arm/include/tiva/tm4c_irq.h.
|
||||
* tiva_vectors.S will define the VECTOR in different ways in order to generate
|
||||
* the interrupt vectors and handlers in their final form.
|
||||
*/
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
|
||||
/* If the common ARMv7-M vector handling is used, then all it needs is the following
|
||||
* definition that provides the number of supported vectors.
|
||||
*/
|
||||
|
||||
# ifdef CONFIG_ARMV7M_CMNVECTOR
|
||||
|
||||
/* Reserve 155 interrupt table entries for I/O interrupts. */
|
||||
|
||||
ARMV7M_PERIPHERAL_INTERRUPTS 155
|
||||
|
||||
# else
|
||||
VECTOR(tiva_gpioa, TIVA_IRQ_GPIOA) /* Vector 16: GPIO Port A */
|
||||
VECTOR(tiva_gpiob, TIVA_IRQ_GPIOB) /* Vector 17: GPIO Port B */
|
||||
VECTOR(tiva_gpioc, TIVA_IRQ_GPIOC) /* Vector 18: GPIO Port C */
|
||||
VECTOR(tiva_gpiod, TIVA_IRQ_GPIOD) /* Vector 19: GPIO Port D */
|
||||
UNUSED(TIVA_RESERVED_20) /* Vector 20: Reserved */
|
||||
VECTOR(tiva_uart0, TIVA_IRQ_UART0) /* Vector 21: UART 0 */
|
||||
VECTOR(tiva_uart1, TIVA_IRQ_UART1) /* Vector 22: UART 1 */
|
||||
UNUSED(TIVA_RESERVED_23) /* Vector 23: Reserved */
|
||||
VECTOR(tiva_i2c0, TIVA_IRQ_I2C0) /* Vector 24: I2C 0 */
|
||||
UNUSED(TIVA_RESERVED_25) /* Vector 25: Reserved */
|
||||
UNUSED(TIVA_RESERVED_26) /* Vector 26: Reserved */
|
||||
UNUSED(TIVA_RESERVED_27) /* Vector 27: Reserved */
|
||||
UNUSED(TIVA_RESERVED_28) /* Vector 28: Reserved */
|
||||
UNUSED(TIVA_RESERVED_29) /* Vector 29: Reserved */
|
||||
VECTOR(tiva_adc0, TIVA_IRQ_ADC0) /* Vector 30: ADC Sequence 0 */
|
||||
VECTOR(tiva_adc1, TIVA_IRQ_ADC1) /* Vector 31: ADC Sequence 1 */
|
||||
VECTOR(tiva_adc2, TIVA_IRQ_ADC2) /* Vector 32: ADC Sequence 2 */
|
||||
VECTOR(tiva_adc3, TIVA_IRQ_ADC3) /* Vector 33: ADC Sequence 3 */
|
||||
VECTOR(tiva_wdog, TIVA_IRQ_WDOG) /* Vector 34: Watchdog Timers 0 and 1 */
|
||||
VECTOR(tiva_timer0a, TIVA_IRQ_TIMER0A) /* Vector 35: 16/32-Bit Timer 0 A */
|
||||
VECTOR(tiva_timer0b, TIVA_IRQ_TIMER0B) /* Vector 36: 16/32-Bit Timer 0 B */
|
||||
VECTOR(tiva_timer1a, TIVA_IRQ_TIMER1A) /* Vector 37: 16/32-Bit Timer 1 A */
|
||||
VECTOR(tiva_timer1b, TIVA_IRQ_TIMER1B) /* Vector 38: 16/32-Bit Timer 1 B */
|
||||
VECTOR(tiva_timer2a, TIVA_IRQ_TIMER2A) /* Vector 39: 16/32-Bit Timer 2 A */
|
||||
|
||||
VECTOR(tiva_timer2b, TIVA_IRQ_TIMER2B) /* Vector 40: 16/32-Bit Timer 2 B */
|
||||
UNUSED(TIVA_RESERVED_41) /* Vector 41: Reserved */
|
||||
UNUSED(TIVA_RESERVED_42) /* Vector 42: Reserved */
|
||||
UNUSED(TIVA_RESERVED_43) /* Vector 43: Reserved */
|
||||
VECTOR(tiva_syscon, TIVA_IRQ_SYSCON) /* Vector 44: System Control */
|
||||
VECTOR(tiva_flashcon, TIVA_IRQ_FLASHCON) /* Vector 45: FLASH and EEPROM Control */
|
||||
UNUSED(TIVA_RESERVED_46) /* Vector 46: Reserved */
|
||||
UNUSED(TIVA_RESERVED_47) /* Vector 47: Reserved */
|
||||
UNUSED(TIVA_RESERVED_48) /* Vector 48: Reserved */
|
||||
UNUSED(TIVA_RESERVED_49) /* Vector 49: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_50) /* Vector 50: Reserved */
|
||||
VECTOR(tiva_timer3a, TIVA_IRQ_TIMER3A) /* Vector 51: 16/32-Bit Timer 3 A */
|
||||
VECTOR(tiva_timer3b, TIVA_IRQ_TIMER3B) /* Vector 52: 16/32-Bit Timer 3 B */
|
||||
UNUSED(TIVA_RESERVED_53) /* Vector 53: Reserved */
|
||||
UNUSED(TIVA_RESERVED_54) /* Vector 54: Reserved */
|
||||
UNUSED(TIVA_RESERVED_55) /* Vector 55: Reserved */
|
||||
UNUSED(TIVA_RESERVED_56) /* Vector 56: Reserved */
|
||||
UNUSED(TIVA_RESERVED_57) /* Vector 57: Reserved */
|
||||
UNUSED(TIVA_RESERVED_58) /* Vector 58: Reserved */
|
||||
VECTOR(tiva_hibernate, TIVA_IRQ_HIBERNATE) /* Vector 59: Hibernation Module */
|
||||
|
||||
UNUSED(TIVA_RESERVED_60) /* Vector 60: Reserved */
|
||||
UNUSED(TIVA_RESERVED_61) /* Vector 61: Reserved */
|
||||
VECTOR(tiva_udmasoft, TIVA_IRQ_UDMASOFT) /* Vector 62: uDMA Software */
|
||||
VECTOR(tiva_udmaerro, TIVA_IRQ_UDMAERROR)/* Vector 63: uDMA Error */
|
||||
UNUSED(TIVA_RESERVED_64) /* Vector 64: Reserved */
|
||||
UNUSED(TIVA_RESERVED_65) /* Vector 65: Reserved */
|
||||
UNUSED(TIVA_RESERVED_66) /* Vector 66: Reserved */
|
||||
UNUSED(TIVA_RESERVED_67) /* Vector 67: Reserved */
|
||||
VECTOR(tiva_i2s0, TIVA_IRQ_I2S0) /* Vector 68: I2S 0 */
|
||||
VECTOR(tiva_epi, TIVA_IRQ_EPI) /* Vector 69: EPI */
|
||||
|
||||
UNUSED(TIVA_RESERVED_70) /* Vector 70: Reserved */
|
||||
UNUSED(TIVA_RESERVED_71) /* Vector 71: Reserved */
|
||||
UNUSED(TIVA_RESERVED_72) /* Vector 72: Reserved */
|
||||
UNUSED(TIVA_RESERVED_73) /* Vector 73: Reserved */
|
||||
UNUSED(TIVA_RESERVED_74) /* Vector 74: Reserved */
|
||||
UNUSED(TIVA_RESERVED_75) /* Vector 75: Reserved */
|
||||
UNUSED(TIVA_RESERVED_76) /* Vector 76: Reserved */
|
||||
UNUSED(TIVA_RESERVED_77) /* Vector 77: Reserved */
|
||||
UNUSED(TIVA_RESERVED_78) /* Vector 78: Reserved */
|
||||
UNUSED(TIVA_RESERVED_79) /* Vector 79: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_80) /* Vector 80: Reserved */
|
||||
UNUSED(TIVA_RESERVED_81) /* Vector 81: Reserved */
|
||||
UNUSED(TIVA_RESERVED_82) /* Vector 82: Reserved */
|
||||
UNUSED(TIVA_RESERVED_83) /* Vector 83: Reserved */
|
||||
UNUSED(TIVA_RESERVED_84) /* Vector 84: Reserved */
|
||||
UNUSED(TIVA_RESERVED_85) /* Vector 85: Reserved */
|
||||
UNUSED(TIVA_RESERVED_86) /* Vector 86: Reserved */
|
||||
UNUSED(TIVA_RESERVED_87) /* Vector 87: Reserved */
|
||||
UNUSED(TIVA_RESERVED_88) /* Vector 88: Reserved */
|
||||
UNUSED(TIVA_RESERVED_89) /* Vector 89: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_90) /* Vector 90: Reserved */
|
||||
UNUSED(TIVA_RESERVED_91) /* Vector 91: Reserved */
|
||||
UNUSED(TIVA_RESERVED_92) /* Vector 92: Reserved */
|
||||
UNUSED(TIVA_RESERVED_93) /* Vector 93: Reserved */
|
||||
UNUSED(TIVA_RESERVED_94) /* Vector 94: Reserved */
|
||||
UNUSED(TIVA_RESERVED_95) /* Vector 95: Reserved */
|
||||
UNUSED(TIVA_RESERVED_96) /* Vector 96: Reserved */
|
||||
UNUSED(TIVA_RESERVED_97) /* Vector 97: Reserved */
|
||||
UNUSED(TIVA_RESERVED_98) /* Vector 98: Reserved */
|
||||
UNUSED(TIVA_RESERVED_99) /* Vector 99: Reserved */
|
||||
UNUSED(TIVA_RESERVED_100) /* Vector 100: Reserved */
|
||||
UNUSED(TIVA_RESERVED_101) /* Vector 101: Reserved */
|
||||
UNUSED(TIVA_RESERVED_102) /* Vector 102: Reserved */
|
||||
UNUSED(TIVA_RESERVED_103) /* Vector 103: Reserved */
|
||||
UNUSED(TIVA_RESERVED_104) /* Vector 104: Reserved */
|
||||
UNUSED(TIVA_RESERVED_105) /* Vector 105: Reserved */
|
||||
UNUSED(TIVA_RESERVED_106) /* Vector 106: Reserved */
|
||||
UNUSED(TIVA_RESERVED_107) /* Vector 107: Reserved */
|
||||
UNUSED(TIVA_RESERVED_108) /* Vector 108: Reserved */
|
||||
UNUSED(TIVA_RESERVED_109) /* Vector 109: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_110) /* Vector 110: Reserved */
|
||||
UNUSED(TIVA_RESERVED_111) /* Vector 111: Reserved */
|
||||
UNUSED(TIVA_RESERVED_112) /* Vector 112: Reserved */
|
||||
UNUSED(TIVA_RESERVED_113) /* Vector 113: Reserved */
|
||||
UNUSED(TIVA_RESERVED_114) /* Vector 114: Reserved */
|
||||
UNUSED(TIVA_RESERVED_115) /* Vector 115: Reserved */
|
||||
UNUSED(TIVA_RESERVED_116) /* Vector 116: Reserved */
|
||||
UNUSED(TIVA_RESERVED_117) /* Vector 117: Reserved */
|
||||
UNUSED(TIVA_RESERVED_118) /* Vector 118: Reserved */
|
||||
UNUSED(TIVA_RESERVED_119) /* Vector 119: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_120) /* Vector 120: Reserved */
|
||||
UNUSED(TIVA_RESERVED_121) /* Vector 121: Reserved */
|
||||
VECTOR(tiva_system, TIVA_IRQ_SYSTEM) /* Vector 122: System Exception (imprecise) */
|
||||
UNUSED(TIVA_RESERVED_123) /* Vector 123: Reserved */
|
||||
UNUSED(TIVA_RESERVED_124) /* Vector 124: Reserved */
|
||||
UNUSED(TIVA_RESERVED_125) /* Vector 125: Reserved */
|
||||
UNUSED(TIVA_RESERVED_126) /* Vector 126: Reserved */
|
||||
UNUSED(TIVA_RESERVED_127) /* Vector 127: Reserved */
|
||||
UNUSED(TIVA_RESERVED_128) /* Vector 128: Reserved */
|
||||
UNUSED(TIVA_RESERVED_129) /* Vector 129: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_130) /* Vector 130: Reserved */
|
||||
UNUSED(TIVA_RESERVED_131) /* Vector 131: Reserved */
|
||||
UNUSED(TIVA_RESERVED_132) /* Vector 132: Reserved */
|
||||
UNUSED(TIVA_RESERVED_133) /* Vector 133: Reserved */
|
||||
UNUSED(TIVA_RESERVED_134) /* Vector 134: Reserved */
|
||||
UNUSED(TIVA_RESERVED_135) /* Vector 135: Reserved */
|
||||
UNUSED(TIVA_RESERVED_136) /* Vector 136: Reserved */
|
||||
UNUSED(TIVA_RESERVED_137) /* Vector 137: Reserved */
|
||||
UNUSED(TIVA_RESERVED_138) /* Vector 138: Reserved */
|
||||
UNUSED(TIVA_RESERVED_139) /* Vector 139: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_140) /* Vector 140: Reserved */
|
||||
UNUSED(TIVA_RESERVED_141) /* Vector 141: Reserved */
|
||||
UNUSED(TIVA_RESERVED_142) /* Vector 142: Reserved */
|
||||
UNUSED(TIVA_RESERVED_143) /* Vector 143: Reserved */
|
||||
UNUSED(TIVA_RESERVED_144) /* Vector 144: Reserved */
|
||||
UNUSED(TIVA_RESERVED_145) /* Vector 145: Reserved */
|
||||
UNUSED(TIVA_RESERVED_146) /* Vector 146: Reserved */
|
||||
UNUSED(TIVA_RESERVED_147) /* Vector 147: Reserved */
|
||||
UNUSED(TIVA_RESERVED_148) /* Vector 148: Reserved */
|
||||
UNUSED(TIVA_RESERVED_149) /* Vector 149: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_150) /* Vector 150: Reserved */
|
||||
UNUSED(TIVA_RESERVED_151) /* Vector 151: Reserved */
|
||||
UNUSED(TIVA_RESERVED_152) /* Vector 152: Reserved */
|
||||
UNUSED(TIVA_RESERVED_153) /* Vector 153: Reserved */
|
||||
UNUSED(TIVA_RESERVED_154) /* Vector 154: Reserved */
|
||||
UNUSED(TIVA_RESERVED_155) /* Vector 155: Reserved */
|
||||
UNUSED(TIVA_RESERVED_156) /* Vector 156: Reserved */
|
||||
UNUSED(TIVA_RESERVED_157) /* Vector 157: Reserved */
|
||||
UNUSED(TIVA_RESERVED_158) /* Vector 158: Reserved */
|
||||
UNUSED(TIVA_RESERVED_159) /* Vector 159: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_160) /* Vector 160: Reserved */
|
||||
UNUSED(TIVA_RESERVED_161) /* Vector 161: Reserved */
|
||||
UNUSED(TIVA_RESERVED_162) /* Vector 162: Reserved */
|
||||
UNUSED(TIVA_RESERVED_163) /* Vector 163: Reserved */
|
||||
UNUSED(TIVA_RESERVED_164) /* Vector 164: SHA HW */
|
||||
UNUSED(TIVA_RESERVED_165) /* Vector 165: Reserved */
|
||||
UNUSED(TIVA_RESERVED_166) /* Vector 166: Reserved */
|
||||
UNUSED(TIVA_RESERVED_167) /* Vector 167: AES HW */
|
||||
UNUSED(TIVA_RESERVED_168) /* Vector 168: Reserved */
|
||||
UNUSED(TIVA_RESERVED_169) /* Vector 169: DES HW */
|
||||
UNUSED(TIVA_RESERVED_170) /* Vector 170: Reserved */
|
||||
UNUSED(TIVA_RESERVED_171) /* Vector 171: Reserved */
|
||||
UNUSED(TIVA_RESERVED_172) /* Vector 172: Reserved */
|
||||
UNUSED(TIVA_RESERVED_173) /* Vector 173: Reserved */
|
||||
UNUSED(TIVA_RESERVED_174) /* Vector 174: Reserved */
|
||||
UNUSED(TIVA_RESERVED_175) /* Vector 175: SDIO */
|
||||
UNUSED(TIVA_RESERVED_176) /* Vector 176: Reserved */
|
||||
UNUSED(TIVA_RESERVED_177) /* Vector 177: McASP 0 */
|
||||
UNUSED(TIVA_RESERVED_178) /* Vector 178: Reserved */
|
||||
UNUSED(TIVA_RESERVED_179) /* Vector 179: Camera A0 */
|
||||
|
||||
UNUSED(TIVA_RESERVED_180) /* Vector 180: Reserved */
|
||||
UNUSED(TIVA_RESERVED_181) /* Vector 181: Reserved */
|
||||
UNUSED(TIVA_RESERVED_182) /* Vector 182: Reserved */
|
||||
UNUSED(TIVA_RESERVED_183) /* Vector 183: Reserved */
|
||||
UNUSED(TIVA_RESERVED_184) /* Vector 184: RAM Err */
|
||||
UNUSED(TIVA_RESERVED_185) /* Vector 185: Reserved */
|
||||
UNUSED(TIVA_RESERVED_186) /* Vector 186: Reserved */
|
||||
UNUSED(TIVA_RESERVED_187) /* Vector 187: NWP IC interocessor comm */
|
||||
UNUSED(TIVA_RESERVED_188) /* Vector 188: Pwr, Rst, Clk */
|
||||
UNUSED(TIVA_RESERVED_189) /* Vector 189: From Top Die */
|
||||
|
||||
UNUSED(TIVA_RESERVED_190) /* Vector 190: Reserved */
|
||||
UNUSED(TIVA_RESERVED_191) /* Vector 191: SPI S0 */
|
||||
UNUSED(TIVA_RESERVED_192) /* Vector 192: SPI A0 */
|
||||
UNUSED(TIVA_RESERVED_193) /* Vector 193: SPI A1 */
|
||||
UNUSED(TIVA_RESERVED_194) /* Vector 194: Reserved */
|
||||
|
||||
# endif /* CONFIG_ARMV7M_CMNVECTOR */
|
||||
|
||||
#else
|
||||
# error "Vectors not known for this Tiva chip"
|
||||
#endif /* defined(CONFIG_ARCH_CHIP_CC3200) */
|
|
@ -50,8 +50,7 @@
|
|||
|
||||
#if defined(CONFIG_ARCH_CHIP_LM3S6965) || defined(CONFIG_ARCH_CHIP_LM4F120) || \
|
||||
defined(CONFIG_ARCH_CHIP_LM3S8962) || defined(CONFIG_ARCH_CHIP_LM3S9B96) || \
|
||||
defined(CONFIG_ARCH_CHIP_TM4C123GH6ZRB) || defined(CONFIG_ARCH_CHIP_TM4C123GH6PMI) || \
|
||||
defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
defined(CONFIG_ARCH_CHIP_TM4C123GH6ZRB) || defined(CONFIG_ARCH_CHIP_TM4C123GH6PMI)
|
||||
|
||||
/* These parts all support a 1KiB erase page size and a total FLASH memory size
|
||||
* of 256Kib or 256 pages.
|
||||
|
|
|
@ -50,8 +50,6 @@
|
|||
# include "chip/lm4f_memorymap.h"
|
||||
#elif defined(CONFIG_ARCH_CHIP_TM4C)
|
||||
# include "chip/tm4c_memorymap.h"
|
||||
#elif defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# include "chip/cc3200_memorymap.h"
|
||||
#else
|
||||
# error "Unsupported Tiva/Stellaris memory map"
|
||||
#endif
|
||||
|
|
|
@ -50,8 +50,6 @@
|
|||
# include "chip/lm4f_pinmap.h"
|
||||
#elif defined(CONFIG_ARCH_CHIP_TM4C)
|
||||
# include "chip/tm4c_pinmap.h"
|
||||
#elif defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# include "chip/cc3200_pinmap.h"
|
||||
#else
|
||||
# error "Unsupported Tiva/Stellaris PIN mapping"
|
||||
#endif
|
||||
|
|
|
@ -53,8 +53,6 @@
|
|||
# include "chip/tm4c123_syscontrol.h"
|
||||
#elif defined(CONFIG_ARCH_CHIP_TM4C129)
|
||||
# include "chip/tm4c129_syscontrol.h"
|
||||
#elif defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# include "chip/cc3200_syscontrol.h"
|
||||
#else
|
||||
# error "Unsupported Tiva/Stellaris system control module"
|
||||
#endif
|
||||
|
|
|
@ -45,8 +45,6 @@
|
|||
# include "chip/lm4f_vectors.h"
|
||||
#elif defined(CONFIG_ARCH_CHIP_TM4C)
|
||||
# include "chip/tm4c_vectors.h"
|
||||
#elif defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# include "chip/cc3200_vectors.h"
|
||||
#else
|
||||
# error "Unsupported Tiva/Stellaris vector file"
|
||||
#endif
|
||||
|
|
|
@ -60,8 +60,7 @@
|
|||
|
||||
/* Configuration ************************************************************/
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_LM3S) || defined(CONFIG_ARCH_CHIP_LM4F) || \
|
||||
defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
#if defined(CONFIG_ARCH_CHIP_LM3S) || defined(CONFIG_ARCH_CHIP_LM4F)
|
||||
|
||||
/* I don't believe that any of these families support interrupts on port J. Many
|
||||
* do not support interrupts on port H either.
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
/****************************************************************************
|
||||
* arch/arm/src/tiva/tiva_irq.c
|
||||
*
|
||||
* Copyright (C) 2009, 2011, 2013-2014 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2009, 2011, 2013-2014, 2018 Gregory Nutt. All rights
|
||||
* reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -409,7 +410,9 @@ void up_irqinitialize(void)
|
|||
up_ramvec_initialize();
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ARCH_CHIP_CC3200
|
||||
#ifdef CONFIG_TIVA_RAMVBAR
|
||||
/* Set the interrupt vector table to beginning of RAM */
|
||||
|
||||
putreg32((uint32_t)CONFIG_RAM_START, NVIC_VECTAB);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/****************************************************************************
|
||||
* arch/arm/src/tiva/tiva_syscontrol.c
|
||||
*
|
||||
* Copyright (C) 2009-2014 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2009-2014, 2018 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -199,6 +199,12 @@ static inline void tiva_pll_lock(void)
|
|||
|
||||
void tiva_clockconfig(uint32_t newrcc, uint32_t newrcc2)
|
||||
{
|
||||
/* We are probably using the main oscillator. The main oscillator is
|
||||
* disabled on reset and so probably must be enabled here. The internal
|
||||
* oscillator is enabled on reset and if that is selected, most likely
|
||||
* nothing needs to be done.
|
||||
*/
|
||||
|
||||
uint32_t rcc;
|
||||
uint32_t rcc2;
|
||||
|
||||
|
@ -207,12 +213,6 @@ void tiva_clockconfig(uint32_t newrcc, uint32_t newrcc2)
|
|||
rcc = getreg32(TIVA_SYSCON_RCC);
|
||||
rcc2 = getreg32(TIVA_SYSCON_RCC2);
|
||||
|
||||
/* We are probably using the main oscillator. The main oscillator is
|
||||
* disabled on reset and so probably must be enabled here. The internal
|
||||
* oscillator is enabled on reset and if that is selected, most likely
|
||||
* nothing needs to be done.
|
||||
*/
|
||||
|
||||
#if defined(LM4F) || defined(TM4C)
|
||||
if ((rcc & SYSCON_RCC_MOSCDIS) != 0 && (newrcc & SYSCON_RCC_MOSCDIS) == 0)
|
||||
{
|
||||
|
@ -318,12 +318,6 @@ void tiva_clockconfig(uint32_t newrcc, uint32_t newrcc2)
|
|||
putreg32(rcc2, TIVA_SYSCON_RCC2);
|
||||
}
|
||||
}
|
||||
#elif defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
#if 0
|
||||
/* NOTE: we do this in up_earlyconsoleinit() */
|
||||
|
||||
cc3200_init();
|
||||
#endif
|
||||
#else
|
||||
if (((rcc & SYSCON_RCC_MOSCDIS) != 0 && (newrcc & SYSCON_RCC_MOSCDIS) == 0) ||
|
||||
((rcc & SYSCON_RCC_IOSCDIS) != 0 && (newrcc & SYSCON_RCC_IOSCDIS) == 0))
|
||||
|
@ -419,8 +413,14 @@ void tiva_clockconfig(uint32_t newrcc, uint32_t newrcc2)
|
|||
|
||||
void up_clockconfig(void)
|
||||
{
|
||||
#if defined(CONFIG_TIVA_BOARD_CLOCKCONFIG)
|
||||
/* Execute the board specific clock configuration logic */
|
||||
|
||||
tiva_board_clockconfig();
|
||||
|
||||
#else
|
||||
#ifdef CONFIG_LM_REVA2
|
||||
/* Some early LM3 silicon returned an increase LDO voltage or 2.75V to work
|
||||
/* Some early LM3 silicon returned an increase LDO voltage to 2.75V to work
|
||||
* around a PLL bug
|
||||
*/
|
||||
|
||||
|
@ -432,4 +432,5 @@ void up_clockconfig(void)
|
|||
*/
|
||||
|
||||
tiva_clockconfig(TIVA_RCC_VALUE, TIVA_RCC2_VALUE);
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -81,7 +81,7 @@ extern "C"
|
|||
* Public Function Prototypes
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_ARCH_CHIP_TM4C129
|
||||
#if defined(CONFIG_ARCH_CHIP_TM4C129)
|
||||
/****************************************************************************
|
||||
* Name: tiva_clockconfig
|
||||
*
|
||||
|
@ -132,6 +132,20 @@ uint32_t tiva_clockconfig(uint32_t pllfreq0, uint32_t pllfreq1, uint32_t sysdiv)
|
|||
void tiva_clockconfig(uint32_t newrcc, uint32_t newrcc2);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_TIVA_BOARD_CLOCKCONFIG)
|
||||
/****************************************************************************
|
||||
* Name: tiva_board_clockconfig
|
||||
*
|
||||
* Description:
|
||||
* If CONFIG_TIVA_BOARD_CLOCKCONFIG is defined, then the board-specific
|
||||
* logic must provide the function tiva_board_clockconfig(). That
|
||||
* function will then be called to perform all clock initialization.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void tiva_board_clockconfig(void);
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_clockconfig
|
||||
*
|
||||
|
|
|
@ -1401,16 +1401,6 @@ config ARCH_BOARD_TM4C1294_LAUNCHPAD
|
|||
---help---
|
||||
Tiva EK-TM4C1294XL LaunchPad.
|
||||
|
||||
config ARCH_BOARD_CC3200_LAUNCHPAD
|
||||
bool "Tiva CC3200 Launchpad"
|
||||
depends on ARCH_CHIP_CC3200
|
||||
select ARCH_HAVE_LEDS
|
||||
select ARCH_HAVE_BUTTONS
|
||||
select ARCH_HAVE_IRQBUTTONS
|
||||
select TIVA_BOARD_EARLYINIT
|
||||
---help---
|
||||
Tiva CC3200 Launchpad.
|
||||
|
||||
config ARCH_BOARD_TWR_K60N512
|
||||
bool "FreeScale TWR-K60N512 development board"
|
||||
depends on ARCH_CHIP_MK60N512VMD100
|
||||
|
@ -1744,7 +1734,6 @@ config ARCH_BOARD
|
|||
default "teensy-lc" if ARCH_BOARD_TEENSY_LC
|
||||
default "tm4c123g-launchpad" if ARCH_BOARD_TM4C123G_LAUNCHPAD
|
||||
default "tm4c1294-launchpad" if ARCH_BOARD_TM4C1294_LAUNCHPAD
|
||||
default "cc3200-launchpad" if ARCH_BOARD_CC3200_LAUNCHPAD
|
||||
default "twr-k60n512" if ARCH_BOARD_TWR_K60N512
|
||||
default "twr-k64f120m" if ARCH_BOARD_TWR_K64F120M
|
||||
default "u-blox-c027" if ARCH_BOARD_U_BLOX_C027
|
||||
|
@ -2189,9 +2178,6 @@ endif
|
|||
if ARCH_BOARD_TM4C1294_LAUNCHPAD
|
||||
source "configs/tm4c1294-launchpad/Kconfig"
|
||||
endif
|
||||
if ARCH_BOARD_CC3200_LAUNCHPAD
|
||||
source "configs/cc3200-launchpad/Kconfig"
|
||||
endif
|
||||
if ARCH_BOARD_TWR_K60N512
|
||||
source "configs/twr-k60n512/Kconfig"
|
||||
endif
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||
#
|
||||
|
||||
if ARCH_BOARD_CC3200_LAUNCHPAD
|
||||
endif
|
|
@ -1,123 +0,0 @@
|
|||
README
|
||||
======
|
||||
|
||||
This is the README file for the port of NuttX to the TI CC3200 Launchpad.
|
||||
|
||||
OpenOCD for Windows
|
||||
===================
|
||||
|
||||
Get the CC3200 SDK
|
||||
------------------
|
||||
Get this from the TI web site. Also get "CC3200 SimpleLink™ Wi-Fi® and
|
||||
IoT Solution With MCU LaunchPad™ Getting Started Guide" (SWRU376A)
|
||||
|
||||
Get OpenOCD
|
||||
------------
|
||||
The OpenOCD project is here: http://openocd.sourceforge.net/
|
||||
|
||||
I use the pre-built binaries provided by Freddie Chopin that can b
|
||||
downloaded here: http://www.freddiechopin.info/
|
||||
|
||||
I used version 0.8.0 which available here:
|
||||
http://www.freddiechopin.info/en/articles/34-news/92-openocd-w-wersji-080
|
||||
|
||||
Other versions are available here:
|
||||
http://www.freddiechopin.info/en/download/category/4-openocd
|
||||
|
||||
Get Zadig
|
||||
---------
|
||||
Unless you are very clever with Windows drivers, then I also recommend
|
||||
that you download and install Zadig: http://zadig.akeo.ie/
|
||||
|
||||
Other Stuff
|
||||
-----------
|
||||
USB Cable, your favorite serial terminal program, NuttX build with
|
||||
one of the CC3200 configurations in this diretory.
|
||||
|
||||
Installing
|
||||
----------
|
||||
Install the TI CC3200 SDK and OpenOCD. Zadig is just an binary so there
|
||||
is no installation. Plug in the CC3200 via the USB cable. You should see
|
||||
two new devices in the Windows Device Manager, both called:
|
||||
|
||||
USB <-> JTAG/SWD
|
||||
|
||||
There will be indications on the driver icon that no driver is installed.
|
||||
|
||||
Follow the instructions in the paragraph "Install USB Driver" to install
|
||||
the TI USB drivers. You need to do this twice, once for each device. Now
|
||||
you will have two devices with different names:
|
||||
|
||||
CC3200CP JTAG Port A, and
|
||||
CC3200CP UART Port B
|
||||
|
||||
OpenOCD cannot use the TI JTAG drivers. So we need to replace that port
|
||||
(ONLY) with the libusb driver. Use Zadig to install the libusb driver
|
||||
replacing the TI driver for "CC3200CP JTAG Port A". Now you should have
|
||||
the following under "Ports (COM & LPT)":
|
||||
|
||||
CC3200 UART Port B
|
||||
|
||||
And under "Universal Serial Bus Devices", again:
|
||||
|
||||
USB <-> JTAG/SWD
|
||||
|
||||
But this time without the indication that a driver is needed.
|
||||
|
||||
Starting OpenOCD
|
||||
----------------
|
||||
These instructions assume that (1) you are using a terminal with a Bash
|
||||
shell under Cygwin, (2) that you installed OpenOCD at C:\openocd-0.8.0,
|
||||
and (3) you are using a 64-bit windows version. You will need to make
|
||||
minor changes if any of these are not true.
|
||||
|
||||
The script to use with OpenOCD 0.8.0 is provided in
|
||||
nuttx/configs/cc3200-launchpad/tools. Go there and start OpenOCd as
|
||||
follow:
|
||||
|
||||
$ cd configs/cc3200-launchpad/tools
|
||||
$ /cygdrive/c/openocd-0.8.0/bin-x64/openocd-x64-0.8.0.exe --file cc3200.cfg
|
||||
|
||||
And you should see something like:
|
||||
|
||||
Open On-Chip Debugger 0.8.0 (2014-04-28-08:42)
|
||||
Licensed under GNU GPL v2
|
||||
For bug reports, read
|
||||
http://openocd.sourceforge.net/doc/doxygen/bugs.html
|
||||
Info : only one transport option; autoselect 'jtag'
|
||||
adapter speed: 1000 kHz
|
||||
Info : clock speed 1000 kHz
|
||||
Info : JTAG tap: cc3200.jrc tap/device found: 0x0b97c02f (mfg: 0x017, part: 0xb97c, ver: 0x0)
|
||||
Info : JTAG tap: cc3200.dap enabled
|
||||
Info : cc3200.cpu: hardware has 6 breakpoints, 4 watchpoints
|
||||
|
||||
Open the Serial Terminal
|
||||
------------------------
|
||||
Connect the CC3200 board via the USB cabale. Open the serial terminal
|
||||
program using the libusb COM device. For me this is usually COM6 but
|
||||
could be anything. If you are unsure, remove the CC3200 and see which
|
||||
one goes away.
|
||||
|
||||
The serial interface should be configured 115200 8N1.
|
||||
|
||||
Using GDB
|
||||
---------
|
||||
Start GDB and connect to OpenOCD:
|
||||
|
||||
$ arm-none-eabi-gdb
|
||||
(gdb) target remote localhost:3333
|
||||
|
||||
Load and start the NuttX ELF file (nuttx):
|
||||
|
||||
(gdb) mon reset halt
|
||||
(gdb) load nuttx
|
||||
(gdb) cont
|
||||
(gdb)
|
||||
|
||||
After entering cont(inue), you should see the NSH prompt in the serial
|
||||
terminal window:
|
||||
|
||||
C3200 init
|
||||
|
||||
NuttShell (NSH)
|
||||
nsh>
|
|
@ -1,177 +0,0 @@
|
|||
/************************************************************************************
|
||||
* configs/cc3200/include/board.h
|
||||
* include/arch/board/board.h
|
||||
*
|
||||
* Copyright (C) 2010 Gregory Nutt. All rights reserved.
|
||||
* Authors: Gregory Nutt <gnutt@nuttx.org>
|
||||
* Jim Ewing <jim@droidifi.com>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. 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.
|
||||
* 3. Neither the name NuttX 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.
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
#ifndef __CONFIGS_CC3200_LAUNCHPAD_INCLUDE_BOARD_H
|
||||
#define __CONFIGS_CC3200_LAUNCHPAD_INCLUDE_BOARD_H
|
||||
|
||||
/************************************************************************************
|
||||
* Included Files
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Pre-processor Definitions
|
||||
************************************************************************************/
|
||||
|
||||
/* Clocking *************************************************************************/
|
||||
|
||||
/* RCC settings. Crystal on-board the CC3200 LaunchPad include:
|
||||
*
|
||||
* 40MHz internal clock
|
||||
* 32.768kHz RTC clock
|
||||
*/
|
||||
|
||||
#define SYSCON_RCC_XTAL SYSCON_RCC_XTAL40000KHZ /* On-board crystal is 40 MHz */
|
||||
#define XTAL_FREQUENCY 40000000
|
||||
|
||||
/* Oscillator source is the main oscillator */
|
||||
|
||||
#define SYSCON_RCC_OSCSRC SYSCON_RCC_OSCSRC_MOSC
|
||||
#define SYSCON_RCC2_OSCSRC SYSCON_RCC2_OSCSRC2_MOSC
|
||||
#define OSCSRC_FREQUENCY XTAL_FREQUENCY
|
||||
|
||||
#define TIVA_SYSDIV 5
|
||||
#define SYSCLK_FREQUENCY 80000000 /* 80MHz */
|
||||
|
||||
/* Other RCC settings:
|
||||
*
|
||||
* - Main and internal oscillators enabled.
|
||||
* - PLL and sys dividers not bypassed
|
||||
* - PLL not powered down
|
||||
* - No auto-clock gating reset
|
||||
*/
|
||||
|
||||
#define TIVA_RCC_VALUE (SYSCON_RCC_OSCSRC | SYSCON_RCC_XTAL | \
|
||||
SYSCON_RCC_USESYSDIV | SYSCON_RCC_SYSDIV(TIVA_SYSDIV))
|
||||
|
||||
/* RCC2 settings
|
||||
*
|
||||
* - PLL and sys dividers not bypassed.
|
||||
* - PLL not powered down
|
||||
* - Not using RCC2
|
||||
*
|
||||
* When SYSCON_RCC2_DIV400 is not selected, SYSDIV2 is the divisor-1.
|
||||
* When SYSCON_RCC2_DIV400 is selected, SYSDIV2 is the divisor-1)/2, plus
|
||||
* the LSB:
|
||||
*
|
||||
* SYSDIV2 SYSDIV2LSB DIVISOR
|
||||
* 0 N/A 2
|
||||
* 1 0 3
|
||||
* " 1 4
|
||||
* 2 0 5
|
||||
* " 1 6
|
||||
* etc.
|
||||
*/
|
||||
|
||||
#if (TIVA_SYSDIV & 1) == 0
|
||||
# define TIVA_RCC2_VALUE (SYSCON_RCC2_OSCSRC | SYSCON_RCC2_SYSDIV2LSB | \
|
||||
SYSCON_RCC2_SYSDIV_DIV400(TIVA_SYSDIV) | \
|
||||
SYSCON_RCC2_DIV400 | SYSCON_RCC2_USERCC2)
|
||||
#else
|
||||
# define TIVA_RCC2_VALUE (SYSCON_RCC2_OSCSRC | SYSCON_RCC2_SYSDIV_DIV400(TIVA_SYSDIV) | \
|
||||
SYSCON_RCC2_DIV400 | SYSCON_RCC2_USERCC2)
|
||||
#endif
|
||||
|
||||
/* LED definitions ******************************************************************/
|
||||
/* The CC3200 LaunchPad has three RGB LEDs.
|
||||
*
|
||||
* BOARD_LED_R -- Connected to PF1
|
||||
* BOARD_LED_G -- Connected to PF3
|
||||
* BOARD_LED_Y -- Connected to PF2
|
||||
*/
|
||||
|
||||
/* LED index values for use with board_userled() */
|
||||
|
||||
#define BOARD_LED_R 1
|
||||
#define BOARD_LED_G 2
|
||||
#define BOARD_LED_Y 3
|
||||
#define BOARD_NLEDS 3
|
||||
|
||||
/* LED bits for use with board_userled_all() */
|
||||
|
||||
#define BOARD_LED1_BIT (1 << BOARD_LED1)
|
||||
#define BOARD_LED2_BIT (1 << BOARD_LED2)
|
||||
|
||||
/* If CONFIG_ARCH_LEDS is defined, then automated support for the LaunchPad LEDs
|
||||
* will be included in the build:
|
||||
*
|
||||
* OFF:
|
||||
* - OFF means that the OS is still initializing. Initialization is very fast so
|
||||
* if you see this at all, it probably means that the system is hanging up
|
||||
* somewhere in the initialization phases.
|
||||
*
|
||||
* GREEN
|
||||
* - This means that the OS completed initialization.
|
||||
*
|
||||
* BLUE:
|
||||
* - Whenever and interrupt or signal handler is entered, the BLUE LED is
|
||||
* illuminated and extinguished when the interrupt or signal handler exits.
|
||||
*
|
||||
* RED:
|
||||
* - If a recovered assertion occurs, the RED LED will be illuminated
|
||||
* briefly while the assertion is handled. You will probably never see this.
|
||||
*
|
||||
* Flashing RED:
|
||||
* - In the event of a fatal crash,
|
||||
* extinguished and the RED component will FLASH at a 2Hz rate.
|
||||
*/
|
||||
/* RED GREEN BLUE */
|
||||
#define LED_STARTED 0 /* OFF OFF OFF */
|
||||
#define LED_HEAPALLOCATE 0 /* OFF OFF OFF */
|
||||
#define LED_IRQSENABLED 0 /* OFF OFF OFF */
|
||||
#define LED_STACKCREATED 1 /* OFF ON OFF */
|
||||
#define LED_INIRQ 2 /* NC NC ON (momentary) */
|
||||
#define LED_SIGNAL 2 /* NC NC ON (momentary) */
|
||||
#define LED_ASSERTION 3 /* ON NC NC (momentary) */
|
||||
#define LED_PANIC 4 /* ON OFF OFF (flashing 2Hz) */
|
||||
|
||||
/* LED definitions ******************************************************************/
|
||||
/* The CC3200 LaunchPad has two buttons:
|
||||
*
|
||||
* BOARD_SW1 -- Connected to PF4
|
||||
* BOARD_SW2 -- Connected to PF0
|
||||
*/
|
||||
|
||||
#define BUTTON_SW1 0
|
||||
#define BUTTON_SW2 1
|
||||
#define BUTTON_SW3 2
|
||||
#define NUM_BUTTONS 3
|
||||
|
||||
#define BUTTON_SW1_BIT (1 << BUTTON_SW1)
|
||||
#define BUTTON_SW2_BIT (1 << BUTTON_SW2)
|
||||
#define BUTTON_SW3_BIT (1 << BUTTON_SW3)
|
||||
|
||||
#endif /* __CONFIGS_CC3200_LAUNCHPAD_INCLUDE_BOARD_H */
|
|
@ -1,139 +0,0 @@
|
|||
/************************************************************************************
|
||||
* configs/cc3200/include/cc3200_util.h
|
||||
*
|
||||
* Copyright (C) 2014 Droidifi LLC. All rights reserved.
|
||||
* Author: Jim Ewing <jim@droidifi.com>
|
||||
*
|
||||
* Adapted from code Copyright (C) 2014 Texas Instruments Incorporated
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. 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.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
#ifndef __CONFIGS_CC3200_INCLUDE_UTILS_H
|
||||
#define __CONFIGS_CC3200_INCLUDE_UTILS_H 1
|
||||
|
||||
/************************************************************************************
|
||||
* Pre-processor Definitions
|
||||
************************************************************************************/
|
||||
|
||||
#define CONSOLE_BAUD_RATE 115200
|
||||
|
||||
#define PAD_CONFIG_BASE 0x4402E0A0
|
||||
|
||||
#define PIN_TYPE_STD 0x00000000
|
||||
#define PIN_STRENGTH_2MA 0x00000020
|
||||
#define PAD_MODE_MASK 0x0000000F
|
||||
#define PAD_STRENGTH_MASK 0x000000E0
|
||||
#define PAD_TYPE_MASK 0x00000310
|
||||
|
||||
#define PIN_MODE_0 0x00000000
|
||||
#define PIN_MODE_1 0x00000001
|
||||
#define PIN_MODE_2 0x00000002
|
||||
#define PIN_MODE_3 0x00000003
|
||||
#define PIN_MODE_4 0x00000004
|
||||
#define PIN_MODE_5 0x00000005
|
||||
#define PIN_MODE_6 0x00000006
|
||||
#define PIN_MODE_7 0x00000007
|
||||
#define PIN_MODE_8 0x00000008
|
||||
#define PIN_MODE_9 0x00000009
|
||||
#define PIN_MODE_10 0x0000000A
|
||||
#define PIN_MODE_11 0x0000000B
|
||||
#define PIN_MODE_12 0x0000000C
|
||||
#define PIN_MODE_13 0x0000000D
|
||||
#define PIN_MODE_14 0x0000000E
|
||||
#define PIN_MODE_15 0x0000000F
|
||||
|
||||
#define PIN_STRENGTH_2MA 0x00000020
|
||||
#define PIN_STRENGTH_4MA 0x00000040
|
||||
#define PIN_STRENGTH_6MA 0x00000060
|
||||
|
||||
#define PIN_TYPE_STD 0x00000000
|
||||
#define PIN_TYPE_STD_PU 0x00000100
|
||||
#define PIN_TYPE_STD_PD 0x00000200
|
||||
|
||||
#define PIN_TYPE_OD 0x00000010
|
||||
#define PIN_TYPE_OD_PU 0x00000110
|
||||
#define PIN_TYPE_OD_PD 0x00000210
|
||||
#define PIN_TYPE_ANALOG 0x10000000
|
||||
|
||||
#define PIN_01 0x00000000
|
||||
#define PIN_02 0x00000001
|
||||
#define PIN_03 0x00000002
|
||||
#define PIN_04 0x00000003
|
||||
#define PIN_05 0x00000004
|
||||
#define PIN_06 0x00000005
|
||||
#define PIN_07 0x00000006
|
||||
#define PIN_08 0x00000007
|
||||
#define PIN_11 0x0000000A
|
||||
#define PIN_12 0x0000000B
|
||||
#define PIN_13 0x0000000C
|
||||
#define PIN_14 0x0000000D
|
||||
#define PIN_15 0x0000000E
|
||||
#define PIN_16 0x0000000F
|
||||
#define PIN_17 0x00000010
|
||||
#define PIN_18 0x00000011
|
||||
#define PIN_19 0x00000012
|
||||
#define PIN_20 0x00000013
|
||||
#define PIN_21 0x00000014
|
||||
#define PIN_45 0x0000002C
|
||||
#define PIN_46 0x0000002D
|
||||
#define PIN_47 0x0000002E
|
||||
#define PIN_48 0x0000002F
|
||||
#define PIN_49 0x00000030
|
||||
#define PIN_50 0x00000031
|
||||
#define PIN_52 0x00000033
|
||||
#define PIN_53 0x00000034
|
||||
#define PIN_55 0x00000036
|
||||
#define PIN_56 0x00000037
|
||||
#define PIN_57 0x00000038
|
||||
#define PIN_58 0x00000039
|
||||
#define PIN_59 0x0000003A
|
||||
#define PIN_60 0x0000003B
|
||||
#define PIN_61 0x0000003C
|
||||
#define PIN_62 0x0000003D
|
||||
#define PIN_63 0x0000003E
|
||||
#define PIN_64 0x0000003F
|
||||
|
||||
#define GPIO_O_GPIO_DATA 0x00000000
|
||||
#define GPIO_O_GPIO_DIR 0x00000400
|
||||
|
||||
#define GPIO_DIR_MODE_OUT 0x00000001
|
||||
#define GPIO_DIR_MODE_IN 0x00000000
|
||||
|
||||
/************************************************************************************
|
||||
* Public Functions
|
||||
************************************************************************************/
|
||||
|
||||
void cc3200_print(char* str);
|
||||
void cc3200_pin_config_set(uint32_t pin, uint32_t pin_strength, uint32_t pin_type);
|
||||
void cc3200_pin_mode_set(uint32_t pin, uint32_t pin_mode);
|
||||
void cc3200_pin_type_uart(uint32_t pin, uint32_t pin_mode);
|
||||
void cc3200_get_gpio_port_pin(uint8_t pin, uint32_t *gpio_port, uint8_t *gpio_pin);
|
||||
void cc3200_set_gpio(uint8_t pin, uint32_t gpio_port, uint8_t gpio_pin, uint8_t gpio_val);
|
||||
void cc3200_set_gpio_dir(uint32_t port, uint8_t pins, uint32_t pin_io);
|
||||
void cc3200_pin_type_gpio(uint32_t pin, uint32_t pin_mode, uint32_t open_drain);
|
||||
|
||||
#endif /* __CONFIGS_CC3200_INCLUDE_UTILS_H */
|
|
@ -1,45 +0,0 @@
|
|||
# CONFIG_ARCH_FPU is not set
|
||||
CONFIG_ARCH_BOARD_CC3200_LAUNCHPAD=y
|
||||
CONFIG_ARCH_BOARD="cc3200-launchpad"
|
||||
CONFIG_ARCH_CHIP_CC3200=y
|
||||
CONFIG_ARCH_CHIP_TIVA=y
|
||||
CONFIG_ARCH_IRQPRIO=y
|
||||
CONFIG_ARCH="arm"
|
||||
CONFIG_ARMV7M_USEBASEPRI=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=4000
|
||||
CONFIG_BOOT_RUNFROMISRAM=y
|
||||
CONFIG_BUILTIN_PROXY_STACKSIZE=512
|
||||
CONFIG_BUILTIN=y
|
||||
CONFIG_DISABLE_POLL=y
|
||||
CONFIG_EXAMPLES_NSH=y
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_FS_PROCFS=y
|
||||
CONFIG_MAX_TASKS=8
|
||||
CONFIG_MAX_WDOGPARMS=2
|
||||
CONFIG_MM_REGIONS=2
|
||||
CONFIG_NFILE_DESCRIPTORS=8
|
||||
CONFIG_NFILE_STREAMS=8
|
||||
CONFIG_NSH_BUILTIN_APPS=y
|
||||
CONFIG_NSH_FILEIOSIZE=512
|
||||
CONFIG_NSH_LINELEN=64
|
||||
CONFIG_NSH_READLINE=y
|
||||
CONFIG_NXFLAT=y
|
||||
CONFIG_PREALLOC_TIMERS=2
|
||||
CONFIG_PREALLOC_WDOGS=8
|
||||
CONFIG_RAM_SIZE=192000
|
||||
CONFIG_RAM_START=0x20004000
|
||||
CONFIG_RAW_BINARY=y
|
||||
CONFIG_RR_INTERVAL=100
|
||||
CONFIG_SCHED_WAITPID=y
|
||||
CONFIG_START_DAY=24
|
||||
CONFIG_START_MONTH=8
|
||||
CONFIG_START_YEAR=2014
|
||||
CONFIG_STDIO_BUFFER_SIZE=128
|
||||
CONFIG_TASK_NAME_SIZE=0
|
||||
CONFIG_TIVA_UART0=y
|
||||
CONFIG_UART0_RXBUFSIZE=128
|
||||
CONFIG_UART0_SERIAL_CONSOLE=y
|
||||
CONFIG_UART0_TXBUFSIZE=128
|
||||
CONFIG_USER_ENTRYPOINT="nsh_main"
|
||||
CONFIG_USERMAIN_STACKSIZE=4096
|
||||
CONFIG_WDOG_INTRESERVE=2
|
|
@ -1,112 +0,0 @@
|
|||
############################################################################
|
||||
# configs/cc3200-launchpad/scripts/Make.defs
|
||||
#
|
||||
# Copyright (C) 2014, 2017 Gregory Nutt. All rights reserved.
|
||||
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. 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.
|
||||
# 3. Neither the name NuttX 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.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
include ${TOPDIR}/.config
|
||||
include ${TOPDIR}/tools/Config.mk
|
||||
include ${TOPDIR}/arch/arm/src/armv7-m/Toolchain.defs
|
||||
|
||||
ifeq ($(WINTOOL),y)
|
||||
# Windows-native toolchains
|
||||
DIRLINK = $(TOPDIR)/tools/copydir.sh
|
||||
DIRUNLINK = $(TOPDIR)/tools/unlink.sh
|
||||
MKDEP = $(TOPDIR)/tools/mkwindeps.sh
|
||||
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
|
||||
ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
|
||||
ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/cc3200-launchpad.ld}"
|
||||
else
|
||||
# Linux/Cygwin-native toolchain
|
||||
MKDEP = $(TOPDIR)/tools/mkdeps$(HOSTEXEEXT)
|
||||
ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
|
||||
ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
|
||||
ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/cc3200-launchpad.ld
|
||||
endif
|
||||
|
||||
CC = $(CROSSDEV)gcc
|
||||
CXX = $(CROSSDEV)g++
|
||||
CPP = $(CROSSDEV)gcc -E
|
||||
LD = $(CROSSDEV)ld
|
||||
STRIP = $(CROSSDEV)strip --strip-unneeded
|
||||
AR = $(CROSSDEV)ar rcs
|
||||
NM = $(CROSSDEV)nm
|
||||
OBJCOPY = $(CROSSDEV)objcopy
|
||||
OBJDUMP = $(CROSSDEV)objdump
|
||||
|
||||
ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'}
|
||||
ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1}
|
||||
|
||||
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
||||
ARCHOPTIMIZATION = -g
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_DEBUG_NOOPT),y)
|
||||
ARCHOPTIMIZATION += $(MAXOPTIMIZATION) -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
|
||||
endif
|
||||
|
||||
ARCHCFLAGS = -fno-builtin
|
||||
ARCHCXXFLAGS = -fno-builtin -fno-exceptions -fcheck-new
|
||||
ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow -Wundef
|
||||
ARCHWARNINGSXX = -Wall -Wshadow -Wundef
|
||||
ARCHDEFINES =
|
||||
ARCHPICFLAGS = -fpic -msingle-pic-base -mpic-register=r10
|
||||
|
||||
CFLAGS = $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
|
||||
CPICFLAGS = $(ARCHPICFLAGS) $(CFLAGS)
|
||||
CXXFLAGS = $(ARCHCXXFLAGS) $(ARCHWARNINGSXX) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
|
||||
CXXPICFLAGS = $(ARCHPICFLAGS) $(CXXFLAGS)
|
||||
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
||||
AFLAGS = $(CFLAGS) -D__ASSEMBLY__
|
||||
|
||||
NXFLATLDFLAGS1 = -r -d -warn-common
|
||||
NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) -T$(TOPDIR)/binfmt/libnxflat/gnu-nxflat-pcrel.ld -no-check-sections
|
||||
LDNXFLATFLAGS = -e main -s 2048
|
||||
|
||||
ASMEXT = .S
|
||||
OBJEXT = .o
|
||||
LIBEXT = .a
|
||||
EXEEXT =
|
||||
|
||||
ifneq ($(CROSSDEV),arm-nuttx-elf-)
|
||||
LDFLAGS += -nostartfiles -nodefaultlibs
|
||||
endif
|
||||
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
|
||||
LDFLAGS += -g
|
||||
endif
|
||||
|
||||
|
||||
HOSTCC = gcc
|
||||
HOSTINCLUDES = -I.
|
||||
HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -Wundef -g -pipe
|
||||
HOSTLDFLAGS =
|
||||
|
|
@ -1,112 +0,0 @@
|
|||
/****************************************************************************
|
||||
* configs/cc3200-launchpad/scripts/cc3200-launchpad.ld
|
||||
*
|
||||
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
||||
* Authors: Gregory Nutt <gnutt@nuttx.org>
|
||||
* Jim Ewing <jim@droidifi.com>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. 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.
|
||||
* 3. Neither the name NuttX 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.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
MEMORY
|
||||
{
|
||||
flash (rx) : ORIGIN = 0x01000000, LENGTH = 0x00020000
|
||||
sram (rwx) : ORIGIN = 0x20004000, LENGTH = 0x0002C000
|
||||
}
|
||||
|
||||
OUTPUT_ARCH(arm)
|
||||
ENTRY(_stext)
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.text : {
|
||||
_stext = ABSOLUTE(.);
|
||||
*(.vectors)
|
||||
*(.text .text.*)
|
||||
*(.fixup)
|
||||
*(.gnu.warning)
|
||||
*(.rodata .rodata.*)
|
||||
*(.gnu.linkonce.t.*)
|
||||
*(.glue_7)
|
||||
*(.glue_7t)
|
||||
*(.got)
|
||||
*(.gcc_except_table)
|
||||
*(.gnu.linkonce.r.*)
|
||||
_etext = ABSOLUTE(.);
|
||||
} > sram
|
||||
|
||||
.init_section : {
|
||||
_sinit = ABSOLUTE(.);
|
||||
*(.init_array .init_array.*)
|
||||
_einit = ABSOLUTE(.);
|
||||
} > sram
|
||||
|
||||
.ARM.extab : {
|
||||
*(.ARM.extab*)
|
||||
} > sram
|
||||
|
||||
__exidx_start = ABSOLUTE(.);
|
||||
.ARM.exidx : {
|
||||
*(.ARM.exidx*)
|
||||
} > sram
|
||||
__exidx_end = ABSOLUTE(.);
|
||||
|
||||
_eronly = ABSOLUTE(.);
|
||||
|
||||
.data : {
|
||||
_sdata = ABSOLUTE(.);
|
||||
*(.data .data.*)
|
||||
*(.gnu.linkonce.d.*)
|
||||
CONSTRUCTORS
|
||||
_edata = ABSOLUTE(.);
|
||||
} > sram
|
||||
|
||||
.bss : {
|
||||
_sbss = ABSOLUTE(.);
|
||||
*(.bss .bss.*)
|
||||
*(.gnu.linkonce.b.*)
|
||||
*(COMMON)
|
||||
_ebss = ABSOLUTE(.);
|
||||
} > sram
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
|
||||
.stab 0 : { *(.stab) }
|
||||
.stabstr 0 : { *(.stabstr) }
|
||||
.stab.excl 0 : { *(.stab.excl) }
|
||||
.stab.exclstr 0 : { *(.stab.exclstr) }
|
||||
.stab.index 0 : { *(.stab.index) }
|
||||
.stab.indexstr 0 : { *(.stab.indexstr) }
|
||||
.comment 0 : { *(.comment) }
|
||||
.debug_abbrev 0 : { *(.debug_abbrev) }
|
||||
.debug_info 0 : { *(.debug_info) }
|
||||
.debug_line 0 : { *(.debug_line) }
|
||||
.debug_pubnames 0 : { *(.debug_pubnames) }
|
||||
.debug_aranges 0 : { *(.debug_aranges) }
|
||||
}
|
|
@ -1,46 +0,0 @@
|
|||
############################################################################
|
||||
# configs/cc3200-launchpad/src/Makefile
|
||||
#
|
||||
# Copyright (C) 2014 Gregory Nutt. All rights reserved.
|
||||
# Authors: Gregory Nutt <gnutt@nuttx.org>
|
||||
# Jim Ewing <jim@droidifi.com>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. 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.
|
||||
# 3. Neither the name NuttX 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.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
-include $(TOPDIR)/Make.defs
|
||||
|
||||
ASRCS =
|
||||
CSRCS = cc3200_boot.c cc3200_serial.c cc3200_utils.c cc3200_leds.c
|
||||
|
||||
ifeq ($(CONFIG_ARCH_LEDS),y)
|
||||
CSRCS += cc3200_autoleds.c
|
||||
endif
|
||||
|
||||
include $(TOPDIR)/configs/Board.mk
|
|
@ -1,183 +0,0 @@
|
|||
/****************************************************************************
|
||||
* configs/cc3200/src/cc3200_autoleds.c
|
||||
*
|
||||
* Copyright (C) 2013, 2015 Gregory Nutt. All rights reserved.
|
||||
* Authors: Gregory Nutt <gnutt@nuttx.org>
|
||||
* Jim Ewing <jim@droidifi.com>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. 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.
|
||||
* 3. Neither the name NuttX 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.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
#include <nuttx/board.h>
|
||||
|
||||
#include "cc3200_launchpad.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/* The CC3200 LaunchPad has three RGB LEDs.
|
||||
*
|
||||
* BOARD_LED_R -- Connected to PF1
|
||||
* BOARD_LED_G -- Connected to PF3
|
||||
* BOARD_LED_Y -- Connected to PF2
|
||||
*
|
||||
* If CONFIG_ARCH_LEDS is defined, then automated support for the LaunchPad LEDs
|
||||
* will be included in the build:
|
||||
*
|
||||
* OFF:
|
||||
* - OFF means that the OS is still initializing. Initialization is very fast so
|
||||
* if you see this at all, it probably means that the system is hanging up
|
||||
* somewhere in the initialization phases.
|
||||
*
|
||||
* GREEN
|
||||
* - This means that the OS completed initialization.
|
||||
*
|
||||
* YELLOW:
|
||||
* - Whenever and interrupt or signal handler is entered, the YELLOW LED is
|
||||
* illuminated and extinguished when the interrupt or signal handler exits.
|
||||
*
|
||||
* RED:
|
||||
* - If a recovered assertion occurs, the RED component will be illuminated
|
||||
* briefly while the assertion is handled. You will probably never see this.
|
||||
*
|
||||
* Flashing RED:
|
||||
* - In the event of a fatal crash, the YELLOW and GREEN components will be
|
||||
* extinguished and the RED component will FLASH at a 2Hz rate.
|
||||
*
|
||||
* RED YELLOW BLUE
|
||||
* LED_STARTED 0 OFF OFF OFF
|
||||
* LED_HEAPALLOCATE 0 OFF OFF OFF
|
||||
* LED_IRQSENABLED 0 OFF OFF OFF
|
||||
* LED_STACKCREATED 1 OFF ON OFF
|
||||
* LED_INIRQ 2 NC NC ON (momentary)
|
||||
* LED_SIGNAL 2 NC NC ON (momentary)
|
||||
* LED_ASSERTION 3 ON NC NC (momentary)
|
||||
* LED_PANIC 4 ON OFF OFF (flashing 2Hz)
|
||||
*/
|
||||
|
||||
/* Dump GPIO registers */
|
||||
|
||||
#ifdef CONFIG_DEBUG_LEDS_INFO
|
||||
# define led_dumpgpio(m) lm_dumpgpio(LED_GPIO, m)
|
||||
#else
|
||||
# define led_dumpgpio(m)
|
||||
#endif
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cc3200_led_initialize
|
||||
*
|
||||
* Description:
|
||||
* Called to initialize the on-board LEDs.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_ARCH_LEDS
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_ledon
|
||||
****************************************************************************/
|
||||
|
||||
void board_autoled_on(int led)
|
||||
{
|
||||
switch (led)
|
||||
{
|
||||
/* All components stay off until the file initialization step */
|
||||
|
||||
default:
|
||||
case 0:
|
||||
break;
|
||||
|
||||
/* The GREEN component is illuminated at the final initialization step */
|
||||
|
||||
case 1:
|
||||
cc3200_ledon(1);
|
||||
break;
|
||||
|
||||
/* These will illuminate the YELLOW component with on effect no RED and GREEN */
|
||||
|
||||
case 2:
|
||||
cc3200_ledon(2);
|
||||
break;
|
||||
|
||||
/* This will turn off YELLOW and GREEN and turn RED on */
|
||||
|
||||
case 4:
|
||||
cc3200_ledoff(1);
|
||||
cc3200_ledoff(2);
|
||||
|
||||
/* This will illuminate the RED component with no effect on YELLOW and GREEN */
|
||||
|
||||
case 3:
|
||||
cc3200_ledon(3);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_ledoff
|
||||
****************************************************************************/
|
||||
|
||||
void board_autoled_off(int led)
|
||||
{
|
||||
switch (led)
|
||||
{
|
||||
/* These should not happen and are ignored */
|
||||
|
||||
default:
|
||||
case 0:
|
||||
case 1:
|
||||
break;
|
||||
|
||||
/* These will extinguish the YELLOW component with no effect on RED and GREEN */
|
||||
|
||||
case 2:
|
||||
cc3200_ledoff(2);
|
||||
break;
|
||||
|
||||
/* These will extinguish the RED component with on effect on RED and GREEN */
|
||||
|
||||
case 3:
|
||||
case 4:
|
||||
cc3200_ledoff(3);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* CONFIG_ARCH_LEDS */
|
|
@ -1,136 +0,0 @@
|
|||
/****************************************************************************
|
||||
* configs/cc3200-launchpad/src/cc3200_boot.c
|
||||
*
|
||||
* Copyright (C) 2014 Droidifi LLC. All rights reserved.
|
||||
* Copyright (C) 2014, 2016 Gregory Nutt.
|
||||
* Author: Jim Ewing <jim@droidifi.com>
|
||||
* Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Adapted for the cc3200 from code:
|
||||
*
|
||||
* Copyright (C) 2014 Gregory Nutt.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. 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.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
#include <nuttx/kmalloc.h>
|
||||
|
||||
#include <debug.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <nuttx/board.h>
|
||||
#include <arch/board/board.h>
|
||||
#include <arch/board/cc3200_utils.h>
|
||||
|
||||
#include "cc3200_launchpad.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
#define CC3200_SRAM1_BASE 0x20000000
|
||||
#define CC3200_SRAM1_SIZE 0x4000
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: board_app_initialize
|
||||
*
|
||||
* Description:
|
||||
* Perform architecture specific initialization
|
||||
*
|
||||
* CONFIG_LIB_BOARDCTL=y :
|
||||
* Called from the NSH library
|
||||
*
|
||||
* CONFIG_BOARD_INITIALIZE=y, CONFIG_NSH_LIBRARY=y, &&
|
||||
* CONFIG_LIB_BOARDCTL=n :
|
||||
* Called from board_initialize().
|
||||
*
|
||||
* Input Parameters:
|
||||
* arg - The boardctl() argument is passed to the board_app_initialize()
|
||||
* implementation without modification. The argument has no
|
||||
* meaning to NuttX; the meaning of the argument is a contract
|
||||
* between the board-specific initalization logic and the
|
||||
* matching application logic. The value cold be such things as a
|
||||
* mode enumeration value, a set of DIP switch switch settings, a
|
||||
* pointer to configuration data read from a file or serial FLASH,
|
||||
* or whatever you would like to do with it. Every implementation
|
||||
* should accept zero/NULL as a default configuration.
|
||||
*
|
||||
* Returned Value:
|
||||
* Zero (OK) is returned on success; a negated errno value is returned on
|
||||
* any failure to indicate the nature of the failure.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
int board_app_initialize(uintptr_t arg)
|
||||
{
|
||||
return OK;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: tiva_boardinitialize
|
||||
*
|
||||
* Description:
|
||||
* All Tiva architectures must provide the following entry point. This entry
|
||||
* point is called early in the initialization -- after all memory has been
|
||||
* configured and mapped but before any devices have been initialized.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void tiva_boardinitialize(void)
|
||||
{
|
||||
cc3200_init();
|
||||
cc3200_uart_init();
|
||||
|
||||
cc3200_print("\r\nCC3200 init\r\n");
|
||||
|
||||
cc3200_led_initialize();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_addregion
|
||||
*
|
||||
* Description:
|
||||
* Memory may be added in non-contiguous chunks. Additional chunks are
|
||||
* added by calling this function.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#if CONFIG_MM_REGIONS > 1
|
||||
void up_addregion(void)
|
||||
{
|
||||
kumm_addregion((FAR void*)CC3200_SRAM1_BASE, CC3200_SRAM1_SIZE);
|
||||
}
|
||||
#endif
|
|
@ -1,92 +0,0 @@
|
|||
/****************************************************************************
|
||||
* configs/cc3200-launchpad/src/cc3200_launchpad.h
|
||||
*
|
||||
* Copyright (C) 2014, 2016 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. 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.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef __CONFIGS_CC3200_LAUNCHPAD_SRC_CC3200_LAUNCHPAD_H
|
||||
#define __CONFIGS_CC3200_LAUNCHPAD_SRC_CC3200_LAUNCHPAD_H 1
|
||||
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Public Data
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Public Function Prototypes
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cc3200_init
|
||||
****************************************************************************/
|
||||
|
||||
void cc3200_init(void);
|
||||
|
||||
/************************************************************************************
|
||||
* Name: cc3200_uart_init
|
||||
************************************************************************************/
|
||||
|
||||
void cc3200_uart_init(void);
|
||||
|
||||
/************************************************************************************
|
||||
* Name: cc3200_led_init
|
||||
************************************************************************************/
|
||||
|
||||
void cc3200_led_init(void);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cc3200_led_initialize
|
||||
****************************************************************************/
|
||||
|
||||
void cc3200_led_initialize(void);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cc3200_ledon
|
||||
****************************************************************************/
|
||||
|
||||
void cc3200_ledon(int led);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cc3200_ledoff
|
||||
****************************************************************************/
|
||||
|
||||
void cc3200_ledoff(int led);
|
||||
|
||||
#endif /* __CONFIGS_CC3200_LAUNCHPAD_SRC_CC3200_LAUNCHPAD_H */
|
|
@ -1,193 +0,0 @@
|
|||
/****************************************************************************
|
||||
* configs/cc3200-launchpad/src/cc3200_leds.c
|
||||
*
|
||||
* Copyright (C) 2014 Droidifi LLC. All rights reserved.
|
||||
* Copyright (C) 2016 Gregory Nutt.
|
||||
* Author: Jim Ewing <jim@droidifi.com>
|
||||
* Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. 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.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <debug.h>
|
||||
|
||||
#include <arch/board/board.h>
|
||||
#include <arch/board/cc3200_utils.h>
|
||||
#include <chip/cc3200_memorymap.h>
|
||||
|
||||
#include "up_arch.h"
|
||||
|
||||
#include "cc3200_launchpad.h"
|
||||
|
||||
#define LED1_GPIO 9
|
||||
#define LED2_GPIO 10
|
||||
#define LED3_GPIO 11
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cc3200_led_initialize
|
||||
****************************************************************************/
|
||||
|
||||
void cc3200_led_initialize(void)
|
||||
{
|
||||
uint32_t led1_port;
|
||||
uint8_t led1_pin;
|
||||
uint32_t led2_port;
|
||||
uint8_t led2_pin;
|
||||
uint32_t led3_port;
|
||||
uint8_t led3_pin;
|
||||
uint8_t x=16;
|
||||
|
||||
putreg32(getreg32(0x44025000 + 0x00000058) | 0x00000001, 0x44025000 + 0x00000058);
|
||||
while (--x)
|
||||
;
|
||||
|
||||
cc3200_pin_type_gpio(PIN_01, PIN_MODE_0, false);
|
||||
cc3200_set_gpio_dir(TIVA_GPIOB_BASE, 0x4, GPIO_DIR_MODE_OUT);
|
||||
|
||||
cc3200_pin_type_gpio(PIN_02, PIN_MODE_0, false);
|
||||
cc3200_set_gpio_dir(TIVA_GPIOB_BASE, 0x8, GPIO_DIR_MODE_OUT);
|
||||
|
||||
cc3200_pin_type_gpio(PIN_64, PIN_MODE_0, false);
|
||||
cc3200_set_gpio_dir(TIVA_GPIOB_BASE, 0x2, GPIO_DIR_MODE_OUT);
|
||||
|
||||
cc3200_get_gpio_port_pin(LED1_GPIO, &led1_port, &led1_pin);
|
||||
cc3200_get_gpio_port_pin(LED2_GPIO, &led2_port, &led2_pin);
|
||||
cc3200_get_gpio_port_pin(LED3_GPIO, &led3_port, &led3_pin);
|
||||
|
||||
cc3200_set_gpio(LED1_GPIO, led1_port, led1_pin, 0);
|
||||
cc3200_set_gpio(LED2_GPIO, led2_port, led2_pin, 0);
|
||||
cc3200_set_gpio(LED3_GPIO, led3_port, led3_pin, 0);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cc3200_ledon
|
||||
****************************************************************************/
|
||||
|
||||
void cc3200_ledon(int led)
|
||||
{
|
||||
unsigned int led1_port;
|
||||
unsigned char led1_pin;
|
||||
unsigned int led2_port;
|
||||
unsigned char led2_pin;
|
||||
unsigned int led3_port;
|
||||
unsigned char led3_pin;
|
||||
|
||||
cc3200_get_gpio_port_pin(LED1_GPIO, &led1_port, &led1_pin);
|
||||
cc3200_get_gpio_port_pin(LED2_GPIO, &led2_port, &led2_pin);
|
||||
cc3200_get_gpio_port_pin(LED3_GPIO, &led3_port, &led3_pin);
|
||||
|
||||
switch (led)
|
||||
{
|
||||
/* All */
|
||||
|
||||
default:
|
||||
case 0:
|
||||
cc3200_set_gpio(LED1_GPIO, led1_port, led1_pin, 1);
|
||||
cc3200_set_gpio(LED2_GPIO, led2_port, led2_pin, 1);
|
||||
cc3200_set_gpio(LED3_GPIO, led3_port, led3_pin, 1);
|
||||
break;
|
||||
|
||||
/* GREEN */
|
||||
|
||||
case 1:
|
||||
cc3200_set_gpio(LED3_GPIO, led3_port, led3_pin, 1);
|
||||
break;
|
||||
|
||||
/* YELLOW */
|
||||
|
||||
case 2:
|
||||
cc3200_set_gpio(LED2_GPIO, led2_port, led2_pin, 1);
|
||||
break;
|
||||
|
||||
/* RED */
|
||||
|
||||
case 3:
|
||||
cc3200_set_gpio(LED1_GPIO, led1_port, led1_pin, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: cc3200_ledoff
|
||||
****************************************************************************/
|
||||
|
||||
void cc3200_ledoff(int led)
|
||||
{
|
||||
unsigned int led1_port;
|
||||
unsigned char led1_pin;
|
||||
unsigned int led2_port;
|
||||
unsigned char led2_pin;
|
||||
unsigned int led3_port;
|
||||
unsigned char led3_pin;
|
||||
|
||||
cc3200_get_gpio_port_pin(LED1_GPIO, &led1_port, &led1_pin);
|
||||
cc3200_get_gpio_port_pin(LED2_GPIO, &led2_port, &led2_pin);
|
||||
cc3200_get_gpio_port_pin(LED3_GPIO, &led3_port, &led3_pin);
|
||||
|
||||
switch (led)
|
||||
{
|
||||
/* All */
|
||||
|
||||
default:
|
||||
case 0:
|
||||
cc3200_set_gpio(LED1_GPIO, led1_port, led1_pin, 0);
|
||||
cc3200_set_gpio(LED2_GPIO, led2_port, led2_pin, 0);
|
||||
cc3200_set_gpio(LED3_GPIO, led3_port, led3_pin, 0);
|
||||
break;
|
||||
|
||||
/* GREEN */
|
||||
|
||||
case 1:
|
||||
cc3200_set_gpio(LED3_GPIO, led3_port, led3_pin, 0);
|
||||
break;
|
||||
|
||||
/* YELLOW */
|
||||
|
||||
case 2:
|
||||
cc3200_set_gpio(LED2_GPIO, led2_port, led2_pin, 0);
|
||||
break;
|
||||
|
||||
/* RED */
|
||||
|
||||
case 3:
|
||||
cc3200_set_gpio(LED1_GPIO, led1_port, led1_pin, 0);
|
||||
break;
|
||||
}
|
||||
}
|
|
@ -1,142 +0,0 @@
|
|||
/************************************************************************************
|
||||
* configs/cc3200/src/cc3200_serial.c
|
||||
*
|
||||
* Copyright (C) 2013 Droidifi LLC. All rights reserved.
|
||||
* Author: Jim Ewing <jim@droidifi.com>
|
||||
*
|
||||
* Adapted for the cc3200 from code:
|
||||
*
|
||||
* Copyright (C) Gregory Nutt.
|
||||
* Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. 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.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Included Files
|
||||
************************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include <nuttx/arch.h>
|
||||
|
||||
#include <arch/board/cc3200_utils.h>
|
||||
|
||||
#include "chip/cc3200_memorymap.h"
|
||||
#include "tiva_start.h"
|
||||
#include "up_arch.h"
|
||||
#include "up_internal.h"
|
||||
|
||||
#include "cc3200_launchpad.h"
|
||||
|
||||
#if !defined(HAVE_SERIALCONSOLE)
|
||||
|
||||
/************************************************************************************
|
||||
* Pre-processor Definitions
|
||||
************************************************************************************/
|
||||
|
||||
#ifndef CONFIG_TIVA_BOARD_EARLYINIT
|
||||
# error CONFIG_TIVA_BOARD_EARLYINIT is required
|
||||
#endif
|
||||
|
||||
/************************************************************************************
|
||||
* Private Data
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Private Functions
|
||||
************************************************************************************/
|
||||
|
||||
static void cc3200_uart0_init(void)
|
||||
{
|
||||
putreg32(getreg32(0x44025080) | 0x01, 0x44025080);
|
||||
|
||||
cc3200_pin_type_uart(PIN_55, PIN_MODE_3);
|
||||
cc3200_pin_type_uart(PIN_57, PIN_MODE_3);
|
||||
|
||||
while(getreg32(0x4000C018) & 0x08)
|
||||
{
|
||||
}
|
||||
|
||||
putreg32(getreg32(0x4000C02C) & ~(0x00000010), 0x4000C02C);
|
||||
putreg32(getreg32(0x4000C030) & ~(0x01 | 0x100 | 0x200), 0x4000C030);
|
||||
putreg32(getreg32(0x4000C030) & ~(0x20), 0x4000C030);
|
||||
|
||||
putreg32(((((80000000 * 8) / 115200) + 1) / 2) / 64, 0x4000C024);
|
||||
putreg32(((((80000000 * 8) / 115200) + 1) / 2) % 64, 0x4000C028);
|
||||
|
||||
putreg32((0x60 | 0x82 | 0x10), 0x4000C02C);
|
||||
putreg32(getreg32(0x4000C030) | (0x01 | 0x100 | 0x200), 0x4000C030);
|
||||
}
|
||||
|
||||
/************************************************************************************
|
||||
* Public Functions
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Name: board_earlyinit
|
||||
*
|
||||
* Description:
|
||||
* Performs the low level UART initialization early in debug so that the serial
|
||||
* console will be available during bootup. This must be called before
|
||||
* up_consoleinit.
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
void board_earlyinit(void)
|
||||
{
|
||||
cc3200_init();
|
||||
cc3200_uart0_init();
|
||||
}
|
||||
|
||||
/************************************************************************************
|
||||
* Name: up_consoleinit
|
||||
*
|
||||
* Description:
|
||||
* Register serial console and serial ports. This assumes that
|
||||
* board_earlyinit was called previously.
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
#if USE_SERIALDRIVER
|
||||
void up_consoleinit(void)
|
||||
{
|
||||
/* There is probably a problem if we are here */
|
||||
|
||||
lowconsole_init();
|
||||
}
|
||||
#endif
|
||||
|
||||
/************************************************************************************
|
||||
* Name: cc3200_uart_init
|
||||
************************************************************************************/
|
||||
|
||||
void cc3200_uart_init(void)
|
||||
{
|
||||
cc3200_uart0_init();
|
||||
}
|
||||
|
||||
#endif /* !HAVE_SERIALCONSOLE && CONFIG_ARCH_LCD */
|
|
@ -1,227 +0,0 @@
|
|||
/************************************************************************************
|
||||
* configs/cc3200/src/cc3200_util.c
|
||||
*
|
||||
* Copyright (C) 2014 Droidifi LLC. All rights reserved.
|
||||
* Author: Jim Ewing <jim@droidifi.com>
|
||||
*
|
||||
* Adapted from code Copyright (C) 2014 Texas Instruments Incorporated
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. 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.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Included Files
|
||||
************************************************************************************/
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <arch/board/cc3200_utils.h>
|
||||
#include <chip/cc3200_memorymap.h>
|
||||
|
||||
#include "nuttx/arch.h"
|
||||
#include "up_arch.h"
|
||||
|
||||
/************************************************************************************
|
||||
* Private Data
|
||||
************************************************************************************/
|
||||
|
||||
static const unsigned long g_cc3200_pinmap[64] =
|
||||
{
|
||||
10, 11, 12, 13, 14, 15, 16, 17, 255, 255, 18,
|
||||
19, 20, 21, 22, 23, 24, 40, 28, 29, 25, 255,
|
||||
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||||
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||||
31, 255, 255, 255, 255, 0, 255, 32, 30, 255, 1,
|
||||
255, 2, 3, 4, 5, 6, 7, 8, 9
|
||||
};
|
||||
|
||||
static const unsigned long gpio_reg[]=
|
||||
{
|
||||
TIVA_GPIOA_BASE,
|
||||
TIVA_GPIOB_BASE,
|
||||
TIVA_GPIOC_BASE,
|
||||
TIVA_GPIOD_BASE
|
||||
};
|
||||
|
||||
/************************************************************************************
|
||||
* Public Functions
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Name: cc3200_get_gpio_port_pin
|
||||
************************************************************************************/
|
||||
|
||||
void cc3200_get_gpio_port_pin(uint8_t pin, uint32_t *gpio_port, uint8_t *gpio_pin)
|
||||
{
|
||||
*gpio_pin = 1 << (pin % 8);
|
||||
*gpio_port = (pin / 8);
|
||||
*gpio_port = gpio_reg[*gpio_port];
|
||||
}
|
||||
|
||||
/************************************************************************************
|
||||
* Name: cc3200_set_gpio
|
||||
************************************************************************************/
|
||||
|
||||
void cc3200_set_gpio(uint8_t pin, uint32_t gpio_port, uint8_t gpio_pin,
|
||||
uint8_t gpio_val)
|
||||
{
|
||||
gpio_val = gpio_val << (pin % 8);
|
||||
putreg32(gpio_val, gpio_port + (gpio_pin << 2));
|
||||
}
|
||||
|
||||
/************************************************************************************
|
||||
* Name: cc3200_set_gpio_dir
|
||||
************************************************************************************/
|
||||
|
||||
void cc3200_set_gpio_dir(uint32_t port, uint8_t pins, uint32_t pin_io)
|
||||
{
|
||||
putreg32(((pin_io & 1) ? (getreg32(port + GPIO_O_GPIO_DIR) | pins) :
|
||||
(getreg32(port + GPIO_O_GPIO_DIR) & ~(pins))), port + GPIO_O_GPIO_DIR);
|
||||
}
|
||||
|
||||
/************************************************************************************
|
||||
* Name: cc3200_print
|
||||
************************************************************************************/
|
||||
|
||||
void cc3200_print(char* str)
|
||||
{
|
||||
while (str && *str != '\0')
|
||||
{
|
||||
up_putc(*str++);
|
||||
}
|
||||
}
|
||||
|
||||
/************************************************************************************
|
||||
* Name: cc3200_pin_config_set
|
||||
************************************************************************************/
|
||||
|
||||
void cc3200_pin_config_set(uint32_t pin, uint32_t pin_strength, uint32_t pin_type)
|
||||
{
|
||||
uint32_t pad;
|
||||
|
||||
pad = g_cc3200_pinmap[pin & 0x3F];
|
||||
|
||||
switch (pin_type)
|
||||
{
|
||||
case PIN_TYPE_ANALOG:
|
||||
putreg32(getreg32(0x4402E144) | ((0x80 << pad) & (0x1E << 8)), 0x4402E144);
|
||||
pad = ((pad << 2) + PAD_CONFIG_BASE);
|
||||
putreg32(getreg32(pad) | 0xC00, pad);
|
||||
break;
|
||||
|
||||
default:
|
||||
putreg32(getreg32(0x4402E144) & ~((0x80 << pad) & (0x1E << 8)), 0x4402E144);
|
||||
pad = ((pad << 2) + PAD_CONFIG_BASE);
|
||||
putreg32(((getreg32(pad) & ~(PAD_STRENGTH_MASK | PAD_TYPE_MASK)) | (pin_strength | pin_type )), pad);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/************************************************************************************
|
||||
* Name: cc3200_pin_mode_set
|
||||
************************************************************************************/
|
||||
|
||||
void cc3200_pin_mode_set(uint32_t pin, uint32_t pin_mode)
|
||||
{
|
||||
uint32_t pad;
|
||||
|
||||
pad = g_cc3200_pinmap[pin & 0x3F];
|
||||
pad = ((pad << 2) + PAD_CONFIG_BASE);
|
||||
putreg32( (((getreg32(pad) & ~PAD_MODE_MASK) | pin_mode) & ~(3<<10)), pad);
|
||||
}
|
||||
|
||||
/************************************************************************************
|
||||
* Name: cc3200_pin_type_uart
|
||||
************************************************************************************/
|
||||
|
||||
void cc3200_pin_type_uart(uint32_t pin, uint32_t pin_mode)
|
||||
{
|
||||
cc3200_pin_mode_set(pin, pin_mode);
|
||||
cc3200_pin_config_set(pin, PIN_STRENGTH_2MA, PIN_TYPE_STD);
|
||||
}
|
||||
|
||||
/************************************************************************************
|
||||
* Name: cc3200_pin_type_gpio
|
||||
************************************************************************************/
|
||||
|
||||
void cc3200_pin_type_gpio(uint32_t pin, uint32_t pin_mode, uint32_t open_drain)
|
||||
{
|
||||
if(open_drain)
|
||||
{
|
||||
cc3200_pin_config_set(pin, PIN_STRENGTH_2MA, PIN_TYPE_OD);
|
||||
}
|
||||
else
|
||||
{
|
||||
cc3200_pin_config_set(pin, PIN_STRENGTH_2MA, PIN_TYPE_STD);
|
||||
}
|
||||
|
||||
cc3200_pin_mode_set(pin, pin_mode);
|
||||
}
|
||||
|
||||
/************************************************************************************
|
||||
* Name: cc3200_init
|
||||
************************************************************************************/
|
||||
|
||||
void cc3200_init(void)
|
||||
{
|
||||
uint8_t x=16;
|
||||
|
||||
putreg32(getreg32(0x4402F064) | 0x800000, 0x4402F064);
|
||||
putreg32(getreg32(0x4402F800 + 0x00000418) | (1<<4), 0x4402F800 + 0x00000418);
|
||||
putreg32(getreg32(0x4402E16C) | 0x3C, 0x4402E16C);
|
||||
putreg32(getreg32(0x44025000 + 0x00000048) | 0x00000001, 0x44025000 + 0x00000048);
|
||||
while(--x)
|
||||
;
|
||||
putreg32(getreg32(0x44025000 + 0x00000048) & ~0x00000001, 0x44025000 + 0x00000048);
|
||||
putreg32(0x0, 0x4402F804);
|
||||
putreg32(0x1, 0x4402F804);
|
||||
|
||||
if (((getreg32(0x4402F0C8) & 0xFF) == 0x2))
|
||||
{
|
||||
putreg32((getreg32(0x4402E110) & ~0xC0F) | 0x2, 0x4402E110);
|
||||
putreg32((getreg32(0x4402E114) & ~0xC0F) | 0x2, 0x4402E114);
|
||||
}
|
||||
|
||||
putreg32(getreg32(0x4402E184) | 0x2, 0x4402E184);
|
||||
|
||||
if ((getreg32(0x4402E0A4) & 0xF) == 0x1)
|
||||
{
|
||||
putreg32(getreg32(0x4402E0A4) & ~0xF, 0x4402E0A4);
|
||||
}
|
||||
|
||||
if ((getreg32(0x4402E0A8) & 0xF) == 0x1)
|
||||
{
|
||||
putreg32(getreg32(0x4402E0A8) & ~0xF, 0x4402E0A8);
|
||||
}
|
||||
|
||||
if (((getreg32(0x4402DC78) >> 22) & 0xF) == 0xE)
|
||||
{
|
||||
putreg32((getreg32(0x4402F0B0) & ~(0x00FC0000)) | (0x32 << 18), 0x4402F0B0);
|
||||
}
|
||||
else
|
||||
{
|
||||
putreg32((getreg32(0x4402F0B0) & ~(0x00FC0000)) | (0x29 << 18), 0x4402F0B0);
|
||||
}
|
||||
}
|
|
@ -1,85 +0,0 @@
|
|||
#******************************************************************************************
|
||||
#
|
||||
# CC3200 OpenOCD configuration file
|
||||
#
|
||||
# Copyright (C) 2014 Droidifi LLC. All rights reserved.
|
||||
# Author: Jim Ewing <jim@droidifi.com>
|
||||
#
|
||||
# Redistributions must retain the above copyright notice and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 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_device_desc "USB <-> JTAG/SWD"
|
||||
ftdi_vid_pid 0x0451 0xc32a
|
||||
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 $_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 {
|
||||
# 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
|
||||
}
|
||||
|
||||
|
Loading…
Reference in a new issue