Skip to content

Commit 8785645

Browse files
danicamporadpgeorge
authored andcommitted
cc3200: Add cc3200 port of MicroPython.
The port currently implements support for GPIO, RTC, ExtInt and the WiFi subsystem. A small file system is available in the serial flash. A bootloader which makes OTA updates possible, is also part of this initial implementation.
1 parent 97f1460 commit 8785645

216 files changed

Lines changed: 108939 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ script:
2121
- make -C stmhal -B MICROPY_PY_WIZNET5K=1 MICROPY_PY_CC3K=1
2222
- make -C stmhal BOARD=STM32F4DISC
2323
- make -C teensy
24+
- make -C cc3200 BTARGET=application BTYPE=release
25+
- make -C cc3200 BTARGET=bootloader BTYPE=release
2426
- make -C windows CROSS_COMPILE=i586-mingw32msvc-
2527

2628
- (cd tests && MICROPY_CPYTHON3=python3.3 ./run-tests)

cc3200/CC3200.ccxml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<configurations XML_version="1.2" id="configurations_0">
3+
<configuration XML_version="1.2" id="Stellaris In-Circuit Debug Interface_0">
4+
<instance XML_version="1.2" desc="Stellaris In-Circuit Debug Interface_0" href="connections/Stellaris_ICDI_Connection.xml" id="Stellaris In-Circuit Debug Interface_0" xml="Stellaris_ICDI_Connection.xml" xmlpath="connections"/>
5+
<connection XML_version="1.2" id="Stellaris In-Circuit Debug Interface_0">
6+
<instance XML_version="1.2" href="drivers/stellaris_cs_icepick.xml" id="drivers" xml="stellaris_cs_icepick.xml" xmlpath="drivers"/>
7+
<instance XML_version="1.2" href="drivers/stellaris_cs_dap.xml" id="drivers" xml="stellaris_cs_dap.xml" xmlpath="drivers"/>
8+
<instance XML_version="1.2" href="drivers/stellaris_cortex_m4.xml" id="drivers" xml="stellaris_cortex_m4.xml" xmlpath="drivers"/>
9+
<platform XML_version="1.2" id="platform_0">
10+
<instance XML_version="1.2" desc="CC3200_0" href="devices/CC3200.xml" id="CC3200_0" xml="CC3200.xml" xmlpath="devices"/>
11+
</platform>
12+
</connection>
13+
</configuration>
14+
</configurations>

cc3200/FreeRTOS/FreeRTOSConfig.h

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
/*
2+
FreeRTOS V8.1.2 - Copyright (C) 2014 Real Time Engineers Ltd.
3+
All rights reserved
4+
5+
VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6+
7+
***************************************************************************
8+
* *
9+
* FreeRTOS provides completely free yet professionally developed, *
10+
* robust, strictly quality controlled, supported, and cross *
11+
* platform software that has become a de facto standard. *
12+
* *
13+
* Help yourself get started quickly and support the FreeRTOS *
14+
* project by purchasing a FreeRTOS tutorial book, reference *
15+
* manual, or both from: http://www.FreeRTOS.org/Documentation *
16+
* *
17+
* Thank you! *
18+
* *
19+
***************************************************************************
20+
21+
This file is part of the FreeRTOS distribution.
22+
23+
FreeRTOS is free software; you can redistribute it and/or modify it under
24+
the terms of the GNU General Public License (version 2) as published by the
25+
Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
26+
27+
>>! NOTE: The modification to the GPL is included to allow you to !<<
28+
>>! distribute a combined work that includes FreeRTOS without being !<<
29+
>>! obliged to provide the source code for proprietary components !<<
30+
>>! outside of the FreeRTOS kernel. !<<
31+
32+
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
33+
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
34+
FOR A PARTICULAR PURPOSE. Full license text is available from the following
35+
link: http://www.freertos.org/a00114.html
36+
37+
1 tab == 4 spaces!
38+
39+
***************************************************************************
40+
* *
41+
* Having a problem? Start by reading the FAQ "My application does *
42+
* not run, what could be wrong?" *
43+
* *
44+
* http://www.FreeRTOS.org/FAQHelp.html *
45+
* *
46+
***************************************************************************
47+
48+
http://www.FreeRTOS.org - Documentation, books, training, latest versions,
49+
license and Real Time Engineers Ltd. contact details.
50+
51+
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
52+
including FreeRTOS+Trace - an indispensable productivity tool, a DOS
53+
compatible FAT file system, and our tiny thread aware UDP/IP stack.
54+
55+
http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
56+
Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS
57+
licenses offer ticketed support, indemnification and middleware.
58+
59+
http://www.SafeRTOS.com - High Integrity Systems also provide a safety
60+
engineered and independently SIL3 certified version for use in safety and
61+
mission critical applications that require provable dependability.
62+
63+
1 tab == 4 spaces!
64+
*/
65+
66+
#ifndef FREERTOS_CONFIG_H
67+
#define FREERTOS_CONFIG_H
68+
69+
/*-----------------------------------------------------------
70+
* Application specific definitions.
71+
*
72+
* These definitions should be adjusted for your particular hardware and
73+
* application requirements.
74+
*
75+
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
76+
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
77+
*
78+
* See http://www.freertos.org/a00110.html.
79+
*----------------------------------------------------------*/
80+
81+
#define configUSE_PREEMPTION 1
82+
#define configUSE_IDLE_HOOK 1
83+
#define configUSE_TICK_HOOK 1
84+
#define configCPU_CLOCK_HZ ( ( unsigned long ) 80000000 )
85+
#define configTICK_RATE_HZ ( ( TickType_t ) 1000 )
86+
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 64 )
87+
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 16384 ) )
88+
#define configMAX_TASK_NAME_LEN ( 12 )
89+
#define configUSE_TRACE_FACILITY 0
90+
#define configUSE_16_BIT_TICKS 0
91+
#define configIDLE_SHOULD_YIELD 1
92+
#define configUSE_CO_ROUTINES 0
93+
#define configUSE_MUTEXES 1
94+
#define configUSE_RECURSIVE_MUTEXES 0
95+
#ifdef DEBUG
96+
#define configCHECK_FOR_STACK_OVERFLOW 1
97+
#else
98+
#define configCHECK_FOR_STACK_OVERFLOW 0
99+
#endif
100+
#define configUSE_QUEUE_SETS 0
101+
#define configUSE_COUNTING_SEMAPHORES 0
102+
#define configUSE_ALTERNATIVE_API 0
103+
104+
#define configMAX_PRIORITIES ( 4UL )
105+
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
106+
#define configQUEUE_REGISTRY_SIZE 0
107+
108+
/* Timer related defines. */
109+
#define configUSE_TIMERS 0
110+
#define configTIMER_TASK_PRIORITY 2
111+
#define configTIMER_QUEUE_LENGTH 20
112+
#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE * 2 )
113+
#ifdef DEBUG
114+
#define configUSE_MALLOC_FAILED_HOOK 1
115+
#else
116+
#define configUSE_MALLOC_FAILED_HOOK 0
117+
#endif
118+
#define configENABLE_BACKWARD_COMPATIBILITY 0
119+
/* Set the following definitions to 1 to include the API function, or zero
120+
to exclude the API function. */
121+
122+
#define INCLUDE_vTaskPrioritySet 0
123+
#define INCLUDE_uxTaskPriorityGet 0
124+
#define INCLUDE_vTaskDelete 0
125+
#define INCLUDE_vTaskCleanUpResources 0
126+
#define INCLUDE_vTaskSuspend 0
127+
#define INCLUDE_vTaskDelayUntil 0
128+
#define INCLUDE_vTaskDelay 1
129+
#ifdef DEBUG
130+
#define INCLUDE_uxTaskGetStackHighWaterMark 1
131+
#else
132+
#define INCLUDE_uxTaskGetStackHighWaterMark 0
133+
#endif
134+
#define INCLUDE_xTaskGetSchedulerState 0
135+
#define INCLUDE_xTimerGetTimerDaemonTaskHandle 0
136+
#ifdef DEBUG
137+
#define INCLUDE_xTaskGetIdleTaskHandle 1
138+
#else
139+
#define INCLUDE_xTaskGetIdleTaskHandle 0
140+
#endif
141+
#define INCLUDE_pcTaskGetTaskName 0
142+
#define INCLUDE_eTaskGetState 0
143+
#define INCLUDE_xSemaphoreGetMutexHolder 0
144+
145+
#define configKERNEL_INTERRUPT_PRIORITY ( 7 << 5 ) /* Priority 7, or 255 as only the top three bits are implemented. This is the lowest priority. */
146+
/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!!
147+
See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */
148+
#define configMAX_SYSCALL_INTERRUPT_PRIORITY ( 1 << 5 ) /* Priority 5, or 160 as only the top three bits are implemented. */
149+
150+
/* Use the Cortex-M3 optimised task selection rather than the generic C code
151+
version. */
152+
#define configUSE_PORT_OPTIMISED_TASK_SELECTION 1
153+
154+
#ifdef DEBUG
155+
#include "debug.h"
156+
#define configASSERT( x ) ASSERT( x )
157+
#endif
158+
159+
#endif /* FREERTOS_CONFIG_H */

0 commit comments

Comments
 (0)