Skip to content

Commit 2b55078

Browse files
author
Jenny Plunkett
authored
Merge pull request ARMmbed#31 from yennster/uart-debug
UART IRQ Handler Implementation
2 parents 395b41d + a65fa1a commit 2b55078

File tree

7 files changed

+195
-141
lines changed

7 files changed

+195
-141
lines changed

targets/TARGET_TI/TARGET_CC32XX/TARGET_CC3220SF/device/CC3220SF.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,10 @@ typedef struct
158158
union {
159159
__I uint32_t RSR; /*!< Receive Status, Address offset : 0x04 */
160160
__O uint32_t ECR; /*!< Error Clear, Address offset : 0x04 */
161-
} STATUS;
161+
};
162162
uint32_t RESERVED0[4];
163163
__IO uint32_t FR; /*!< Flags, Address offset : 0x18 */
164+
uint32_t RESERVED1[1];
164165
__IO uint32_t ILPR; /*!< IrDA Low-power Counter, Address offset : 0x20 */
165166
__IO uint32_t IBRD; /*!< Integer Baud Rate, Address offset : 0x24 */
166167
__IO uint32_t FBRD; /*!< Fractional Baud Rate, Address offset : 0x28 */

targets/TARGET_TI/TARGET_CC32XX/TARGET_CC3220SF/device/CC3220SF_LAUNCHXL.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
#include <ti/devices/cc32xx/driverlib/timer.h>
5656
#include <ti/devices/cc32xx/driverlib/uart.h>
5757
#include <ti/devices/cc32xx/driverlib/udma.h>
58+
#include <ti/devices/cc32xx/driverlib/interrupt.h>
5859
#include <ti/devices/cc32xx/driverlib/wdt.h>
5960

6061
#include "CC3220SF_LAUNCHXL.h"
@@ -67,6 +68,8 @@
6768
*/
6869
void CC3220SF_LAUNCHXL_initGeneral(void)
6970
{
71+
MAP_IntMasterEnable();
72+
//MAP_IntEnable(FAULT_SYSTICK);
7073
PRCMCC3200MCUInit();
7174
}
7275

targets/TARGET_TI/TARGET_CC32XX/TARGET_CC3220SF/gpio_api.c

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
#include <ti/devices/cc32xx/inc/hw_ints.h>
2323
#include <ti/devices/cc32xx/driverlib/prcm.h>
2424

25-
26-
2725
static const unsigned long g_ulPinToGPIOPinBit[64] =
2826
{
2927
GPIO_PIN_2,GPIO_PIN_3,GPIO_PIN_4,GPIO_PIN_5,GPIO_PIN_6,GPIO_PIN_7,GPIO_PIN_0,GPIO_PIN_1,255,255,GPIO_PIN_2,
@@ -45,7 +43,6 @@ const uint16_t PinTypes [] = {
4543
PIN_TYPE_ANALOG
4644
};
4745

48-
4946
static const PinMap PinMap_GPIO[] = {
5047
{PIN_50, CC3220SF_GPIOA0_BASE, 0}, //GPIO_00 (PM/Dig Mux)
5148
{PIN_55, CC3220SF_GPIOA0_BASE, 0}, //GPIO_01
@@ -76,7 +73,7 @@ static const PinMap PinMap_GPIO[] = {
7673

7774
{PIN_17, CC3220SF_GPIOA3_BASE, 0}, //GPIO_24
7875
{PIN_21, CC3220SF_GPIOA3_BASE, 0}, //GPIO_25
79-
//{PIN_RESERVED, CC3220SF_GPIOA3_BASE, 0}, //GPIO_26 (Restricted Use; Antenna Selection 1 Only) No package pin associate with this GPIO
76+
//{PIN_RESERVED, CC3220SF_GPIOA3_BASE, 0}, //GPIO_26 (Restricted Use; Antenna Selection 1 Only) No package pin associate with this GPIO
8077
//{PIN_RESERVED, CC3220SF_GPIOA3_BASE, 0}, //GPIO_27 (Restricted Use; Antenna Selection 1 Only) No package pin associate with this GPIO
8178
{PIN_18, CC3220SF_GPIOA3_BASE, 0}, //GPIO_28
8279
{PIN_20, CC3220SF_GPIOA3_BASE, 0}, //GPIO_29
@@ -101,45 +98,38 @@ void gpio_init(gpio_t *obj, PinName pin)
10198
obj->gpio_port_base_addr = gpio_base;
10299
obj->pin = pin;
103100

104-
105-
//figuring out PRCM GPIO CLOCK Index
106-
101+
// determine PRCM GPIO CLOCK index
107102
unsigned short prcm_peripheral;
108103
switch (gpio_base)
109104
{
110105
case CC3220SF_GPIOA0_BASE:
111106
prcm_peripheral = PRCM_GPIOA0;
112107
break;
113-
114108
case CC3220SF_GPIOA1_BASE:
115109
prcm_peripheral = PRCM_GPIOA1;
116110
break;
117-
118111
case CC3220SF_GPIOA2_BASE:
119112
prcm_peripheral = PRCM_GPIOA2;
120113
break;
121-
122114
case CC3220SF_GPIOA3_BASE:
123115
prcm_peripheral = PRCM_GPIOA3;
124-
break;
116+
break;
125117
default:
126118
break;
127119
}
128120

129-
//initialize GPIO PORT clock
121+
// initialize GPIO PORT clock
130122
PRCMPeripheralClkEnable(prcm_peripheral, PRCM_RUN_MODE_CLK || PRCM_SLP_MODE_CLK);
131123

132-
//wait until gpio clock settle
133-
while(!PRCMPeripheralStatusGet(prcm_peripheral)){}
134-
124+
// wait for gpio clock to settle
125+
while(!PRCMPeripheralStatusGet(prcm_peripheral));
135126
}
136127

137128
void gpio_mode(gpio_t *obj, PinMode mode)
138129
{
139130
obj->mode = mode;
140-
141131
PinModeSet(obj->pin, PinTypes[mode]);
142-
pin_mode(obj->pin, mode);
132+
pin_mode(obj->pin, mode);
143133
}
144134

145135
void gpio_dir(gpio_t *obj, PinDirection direction)

targets/TARGET_TI/TARGET_CC32XX/TARGET_CC3220SF/pinmap.c

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,13 @@ void pin_mode(PinName pin, PinMode mode)
3737
{
3838
MBED_ASSERT(pin != (PinName)NC);
3939
switch(mode) {
40-
case PullNone: PinConfigSet(pin, PIN_STRENGTH_2MA|PIN_STRENGTH_4MA, PIN_TYPE_STD); break;
41-
case PullUp: PinConfigSet(pin, PIN_STRENGTH_2MA|PIN_STRENGTH_4MA, PIN_TYPE_STD_PU); break;
42-
case PullDown: PinConfigSet(pin, PIN_STRENGTH_2MA|PIN_STRENGTH_4MA, PIN_TYPE_STD_PD); break;
43-
case OpenDrain: PinConfigSet(pin, PIN_STRENGTH_2MA|PIN_STRENGTH_4MA, PIN_TYPE_OD); break;
44-
case OpenDrainPullUp: PinConfigSet(pin, PIN_STRENGTH_2MA|PIN_STRENGTH_4MA, PIN_TYPE_OD_PU); break;
45-
case OpenDrainPullDown: PinConfigSet(pin, PIN_STRENGTH_2MA|PIN_STRENGTH_4MA, PIN_TYPE_OD_PD); break;
46-
case Analog: PinConfigSet(pin, PIN_STRENGTH_2MA|PIN_STRENGTH_4MA, PIN_TYPE_ANALOG); break;
47-
default: PinConfigSet(pin, PIN_STRENGTH_2MA|PIN_STRENGTH_4MA, PIN_TYPE_STD); break;
40+
case PullNone: PinConfigSet(pin, PIN_STRENGTH_2MA, PIN_TYPE_STD); break;
41+
case PullUp: PinConfigSet(pin, PIN_STRENGTH_2MA, PIN_TYPE_STD_PU); break;
42+
case PullDown: PinConfigSet(pin, PIN_STRENGTH_2MA, PIN_TYPE_STD_PD); break;
43+
case OpenDrain: PinConfigSet(pin, PIN_STRENGTH_2MA, PIN_TYPE_OD); break;
44+
case OpenDrainPullUp: PinConfigSet(pin, PIN_STRENGTH_2MA, PIN_TYPE_OD_PU); break;
45+
case OpenDrainPullDown: PinConfigSet(pin, PIN_STRENGTH_2MA, PIN_TYPE_OD_PD); break;
46+
case Analog: PinConfigSet(pin, PIN_STRENGTH_2MA, PIN_TYPE_ANALOG); break;
47+
default: PinConfigSet(pin, PIN_STRENGTH_2MA, PIN_TYPE_STD); break;
4848
}
49-
5049
}

0 commit comments

Comments
 (0)