Other Parts Discussed in Thread: SYSCONFIG
Tool/software: Code Composer Studio
I am using syscfg to generate the ti_driver_config files. I have added 2 Displays. But when I generate the .c and .h files after building the files are not generated properly.
Of the 2 displays one uses the XDS UART0 and other uses UART1 connected to pin 58 and 59. But the Display_config structure uses UART1 to setup both the displays. I cannot edit the file manually as it is re-written after every build.
I am using the index numbers from the Display_config structure to open the displays as both are of the same type. You can see my empty.c file to look into the same. Because of the above mentioned issue the UART1 display is unable to be opened
I have attached the corresponding files so that you can emulate the issue faced.
/* * ======== ti_drivers_config.c ======== * Configured TI-Drivers module definitions * * DO NOT EDIT - This file is generated for the CC3220SF_LAUNCHXL * by the SysConfig tool. */ #include <stddef.h> #include <stdint.h> #ifndef DeviceFamily_CC3220 #define DeviceFamily_CC3220 #endif #include <ti/devices/DeviceFamily.h> #include "ti_drivers_config.h" /* * ============================= Display ============================= */ #include <ti/display/Display.h> #include <ti/display/DisplayUart.h> #define CONFIG_Display_COUNT 2 #define Display_UARTBUFFERSIZE 1024 static char displayUARTBuffer[Display_UARTBUFFERSIZE]; DisplayUart_Object displayUartObject; const DisplayUart_HWAttrs displayUartHWAttrs = { .uartIdx = CONFIG_UART_1, .baudRate = 115200, .mutexTimeout = (unsigned int)(-1), .strBuf = displayUARTBuffer, .strBufLen = Display_UARTBUFFERSIZE }; const Display_Config Display_config[CONFIG_Display_COUNT] = { /* CONFIG_Display_0 */ /* XDS110 UART */ { .fxnTablePtr = &DisplayUartMin_fxnTable, .object = &displayUartObject, .hwAttrs = &displayUartHWAttrs }, /* CONFIG_Display_1 */ { .fxnTablePtr = &DisplayUartMin_fxnTable, .object = &displayUartObject, .hwAttrs = &displayUartHWAttrs }, }; const uint_least8_t Display_count = CONFIG_Display_COUNT; /* * =============================== GPIO =============================== */ #include <ti/drivers/GPIO.h> #include <ti/drivers/gpio/GPIOCC32XX.h> #define CONFIG_GPIO_COUNT 1 /* * ======== gpioPinConfigs ======== * Array of Pin configurations */ GPIO_PinConfig gpioPinConfigs[] = { /* CONFIG_GPIO_LED_0 : LaunchPad LED D10 (Red) */ GPIOCC32XX_GPIO_09 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_MED | GPIO_CFG_OUT_LOW, }; /* * ======== gpioCallbackFunctions ======== * Array of callback function pointers * * NOTE: Unused callback entries can be omitted from the callbacks array to * reduce memory usage by enabling callback table optimization * (GPIO.optimizeCallbackTableSize = true) */ GPIO_CallbackFxn gpioCallbackFunctions[] = { /* CONFIG_GPIO_LED_0 : LaunchPad LED D10 (Red) */ NULL, }; const uint_least8_t CONFIG_GPIO_LED_0_CONST = CONFIG_GPIO_LED_0; /* * ======== GPIOCC32XX_config ======== */ const GPIOCC32XX_Config GPIOCC32XX_config = { .pinConfigs = (GPIO_PinConfig *)gpioPinConfigs, .callbacks = (GPIO_CallbackFxn *)gpioCallbackFunctions, .numberOfPinConfigs = 1, .numberOfCallbacks = 1, .intPriority = (~0) }; /* * =============================== Power =============================== */ #include <ti/drivers/Power.h> #include <ti/drivers/power/PowerCC32XX.h> #include <ti/devices/cc32xx/driverlib/prcm.h> extern void PowerCC32XX_initPolicy(void); extern void PowerCC32XX_sleepPolicy(void); PowerCC32XX_ParkInfo parkInfo[]; /* * This structure defines the configuration for the Power Manager. */ const PowerCC32XX_ConfigV1 PowerCC32XX_config = { .policyInitFxn = PowerCC32XX_initPolicy, .policyFxn = PowerCC32XX_sleepPolicy, .enterLPDSHookFxn = NULL, .resumeLPDSHookFxn = NULL, .enablePolicy = false, .enableGPIOWakeupLPDS = true, .enableGPIOWakeupShutdown = true, .enableNetworkWakeupLPDS = true, .wakeupGPIOSourceLPDS = PRCM_LPDS_GPIO13, .wakeupGPIOTypeLPDS = PRCM_LPDS_FALL_EDGE, .wakeupGPIOFxnLPDS = NULL, .wakeupGPIOFxnLPDSArg = 0, .wakeupGPIOSourceShutdown = PRCM_HIB_GPIO13, .wakeupGPIOTypeShutdown = PRCM_HIB_RISE_EDGE, .ramRetentionMaskLPDS = PRCM_SRAM_COL_1|PRCM_SRAM_COL_2|PRCM_SRAM_COL_3|PRCM_SRAM_COL_4, .keepDebugActiveDuringLPDS = false, .ioRetentionShutdown = PRCM_IO_RET_GRP_0|PRCM_IO_RET_GRP_1|PRCM_IO_RET_GRP_2|PRCM_IO_RET_GRP_3, .pinParkDefs = parkInfo, .numPins = 31 }; /* * =============================== UART =============================== */ #include <ti/drivers/UART.h> #include <ti/devices/cc32xx/inc/hw_ints.h> #include <ti/devices/cc32xx/inc/hw_memmap.h> #include <ti/drivers/uart/UARTCC32XX.h> #define CONFIG_UART_COUNT 2 #define UART0_BASE UARTA0_BASE #define UART1_BASE UARTA1_BASE #define INT_UART0 INT_UARTA0 #define INT_UART1 INT_UARTA1 static unsigned char uartCC32XXRingBuffer0[32]; UARTCC32XX_Object uartCC32XXObjects0; static const UARTCC32XX_HWAttrsV1 uartCC32XXHWAttrs0 = { .baseAddr = UART1_BASE, .intNum = INT_UART1, .intPriority = (~0), .flowControl = UARTCC32XX_FLOWCTRL_NONE, .ringBufPtr = uartCC32XXRingBuffer0, .ringBufSize = sizeof(uartCC32XXRingBuffer0), .rxPin = UARTCC32XX_PIN_59_UART1_RX, .txPin = UARTCC32XX_PIN_58_UART1_TX, .ctsPin = UARTCC32XX_PIN_UNASSIGNED, .rtsPin = UARTCC32XX_PIN_UNASSIGNED, .errorFxn = NULL }; static unsigned char uartCC32XXRingBuffer1[32]; UARTCC32XX_Object uartCC32XXObjects1; static const UARTCC32XX_HWAttrsV1 uartCC32XXHWAttrs1 = { .baseAddr = UART0_BASE, .intNum = INT_UART0, .intPriority = (~0), .flowControl = UARTCC32XX_FLOWCTRL_NONE, .ringBufPtr = uartCC32XXRingBuffer1, .ringBufSize = sizeof(uartCC32XXRingBuffer1), .rxPin = UARTCC32XX_PIN_57_UART0_RX, .txPin = UARTCC32XX_PIN_55_UART0_TX, .ctsPin = UARTCC32XX_PIN_UNASSIGNED, .rtsPin = UARTCC32XX_PIN_UNASSIGNED, .errorFxn = NULL }; const UART_Config UART_config[CONFIG_UART_COUNT] = { { /* CONFIG_UART_1 */ .fxnTablePtr = &UARTCC32XX_fxnTable, .object = &uartCC32XXObjects0, .hwAttrs = &uartCC32XXHWAttrs0 }, { /* CONFIG_UART_0 */ .fxnTablePtr = &UARTCC32XX_fxnTable, .object = &uartCC32XXObjects1, .hwAttrs = &uartCC32XXHWAttrs1 }, }; const uint_least8_t CONFIG_UART_1_CONST = CONFIG_UART_1; const uint_least8_t CONFIG_UART_0_CONST = CONFIG_UART_0; const uint_least8_t UART_count = CONFIG_UART_COUNT; #include <ti/drivers/power/PowerCC32XX.h> /* * This table defines the parking state to be set for each parkable pin * during LPDS. (Device resources must be parked during LPDS to achieve maximum * power savings.) If the pin should be left unparked, specify the state * PowerCC32XX_DONT_PARK. For example, for a UART TX pin, the device * will automatically park the pin in a high state during transition to LPDS, * so the Power Manager does not need to explictly park the pin. So the * corresponding entries in this table should indicate PowerCC32XX_DONT_PARK. */ PowerCC32XX_ParkInfo parkInfo[] = { /* PIN PARK STATE Pin Alias ----------------- ------------------------------ ---------------*/ {PowerCC32XX_PIN01, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP10 */ {PowerCC32XX_PIN02, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP11 */ {PowerCC32XX_PIN03, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP12 */ {PowerCC32XX_PIN04, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP13 */ {PowerCC32XX_PIN05, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP14 */ {PowerCC32XX_PIN06, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP15 */ {PowerCC32XX_PIN07, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP16 */ {PowerCC32XX_PIN08, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP17 */ {PowerCC32XX_PIN13, PowerCC32XX_WEAK_PULL_DOWN_STD}, {PowerCC32XX_PIN15, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP22 */ {PowerCC32XX_PIN16, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* TDI */ {PowerCC32XX_PIN17, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* TDO */ {PowerCC32XX_PIN18, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP28 */ {PowerCC32XX_PIN19, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* TCK */ {PowerCC32XX_PIN20, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* TMS */ {PowerCC32XX_PIN21, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* SOP2 */ {PowerCC32XX_PIN29, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP26 */ {PowerCC32XX_PIN30, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP27 */ {PowerCC32XX_PIN45, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP31 */ {PowerCC32XX_PIN50, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP00 */ {PowerCC32XX_PIN52, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP32 */ {PowerCC32XX_PIN53, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP30 */ {PowerCC32XX_PIN55, PowerCC32XX_WEAK_PULL_UP_STD}, /* GP01 */ {PowerCC32XX_PIN57, PowerCC32XX_WEAK_PULL_UP_STD}, /* GP02 */ {PowerCC32XX_PIN58, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP03 */ {PowerCC32XX_PIN59, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP04 */ {PowerCC32XX_PIN60, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP05 */ {PowerCC32XX_PIN61, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP06 */ {PowerCC32XX_PIN62, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP07 */ {PowerCC32XX_PIN63, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP08 */ {PowerCC32XX_PIN64, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP09 */ }; #include <ti/drivers/Board.h> /* * ======== Board_initHook ======== * Perform any board-specific initialization needed at startup. This * function is declared weak to allow applications to override it if needed. */ void __attribute__((weak)) Board_initHook(void) { } /* * ======== Board_init ======== * Perform any initialization needed before using any board APIs */ void Board_init(void) { /* ==== /ti/drivers/Power initialization ==== */ PRCMCC3200MCUInit(); Power_init(); Board_initHook(); } /* * ======== Board_debugHeader ======== * This structure prevents the CC32XXSF bootloader from overwriting the * internal FLASH; this allows us to flash a program that will not be * overwritten by the bootloader with the encrypted program saved in * "secure/serial flash". * * This structure must be placed at the beginning of internal FLASH (so * the bootloader is able to recognize that it should not overwrite * internal FLASH). */ #if defined (__SF_DEBUG__) || defined(__SF_NODEBUG__) #if defined(__TI_COMPILER_VERSION__) #pragma DATA_SECTION(Board_debugHeader, ".dbghdr") #pragma RETAIN(Board_debugHeader) #elif defined(__IAR_SYSTEMS_ICC__) #pragma location=".dbghdr" #elif defined(__GNUC__) __attribute__ ((section (".dbghdr"))) #endif #if defined(__SF_DEBUG__) const uint32_t Board_debugHeader[] = { 0x5AA5A55A, 0x000FF800, 0xEFA3247D }; #elif defined (__SF_NODEBUG__) const uint32_t Board_debugHeader[] = { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }; #endif #endif
/* * ======== ti_drivers_config.c ======== * Configured TI-Drivers module definitions * * DO NOT EDIT - This file is generated for the CC3220SF_LAUNCHXL * by the SysConfig tool. */ #include <stddef.h> #include <stdint.h> #ifndef DeviceFamily_CC3220 #define DeviceFamily_CC3220 #endif #include <ti/devices/DeviceFamily.h> #include "ti_drivers_config.h" /* * ============================= Display ============================= */ #include <ti/display/Display.h> #include <ti/display/DisplayUart.h> #define CONFIG_Display_COUNT 2 #define Display_UARTBUFFERSIZE 1024 static char displayUARTBuffer[Display_UARTBUFFERSIZE]; DisplayUart_Object displayUartObject; const DisplayUart_HWAttrs displayUartHWAttrs = { .uartIdx = CONFIG_UART_1, .baudRate = 115200, .mutexTimeout = (unsigned int)(-1), .strBuf = displayUARTBuffer, .strBufLen = Display_UARTBUFFERSIZE }; const Display_Config Display_config[CONFIG_Display_COUNT] = { /* CONFIG_Display_0 */ /* XDS110 UART */ { .fxnTablePtr = &DisplayUartMin_fxnTable, .object = &displayUartObject, .hwAttrs = &displayUartHWAttrs }, /* CONFIG_Display_1 */ { .fxnTablePtr = &DisplayUartMin_fxnTable, .object = &displayUartObject, .hwAttrs = &displayUartHWAttrs }, }; const uint_least8_t Display_count = CONFIG_Display_COUNT; /* * =============================== GPIO =============================== */ #include <ti/drivers/GPIO.h> #include <ti/drivers/gpio/GPIOCC32XX.h> #define CONFIG_GPIO_COUNT 1 /* * ======== gpioPinConfigs ======== * Array of Pin configurations */ GPIO_PinConfig gpioPinConfigs[] = { /* CONFIG_GPIO_LED_0 : LaunchPad LED D10 (Red) */ GPIOCC32XX_GPIO_09 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_MED | GPIO_CFG_OUT_LOW, }; /* * ======== gpioCallbackFunctions ======== * Array of callback function pointers * * NOTE: Unused callback entries can be omitted from the callbacks array to * reduce memory usage by enabling callback table optimization * (GPIO.optimizeCallbackTableSize = true) */ GPIO_CallbackFxn gpioCallbackFunctions[] = { /* CONFIG_GPIO_LED_0 : LaunchPad LED D10 (Red) */ NULL, }; const uint_least8_t CONFIG_GPIO_LED_0_CONST = CONFIG_GPIO_LED_0; /* * ======== GPIOCC32XX_config ======== */ const GPIOCC32XX_Config GPIOCC32XX_config = { .pinConfigs = (GPIO_PinConfig *)gpioPinConfigs, .callbacks = (GPIO_CallbackFxn *)gpioCallbackFunctions, .numberOfPinConfigs = 1, .numberOfCallbacks = 1, .intPriority = (~0) }; /* * =============================== Power =============================== */ #include <ti/drivers/Power.h> #include <ti/drivers/power/PowerCC32XX.h> #include <ti/devices/cc32xx/driverlib/prcm.h> extern void PowerCC32XX_initPolicy(void); extern void PowerCC32XX_sleepPolicy(void); PowerCC32XX_ParkInfo parkInfo[]; /* * This structure defines the configuration for the Power Manager. */ const PowerCC32XX_ConfigV1 PowerCC32XX_config = { .policyInitFxn = PowerCC32XX_initPolicy, .policyFxn = PowerCC32XX_sleepPolicy, .enterLPDSHookFxn = NULL, .resumeLPDSHookFxn = NULL, .enablePolicy = false, .enableGPIOWakeupLPDS = true, .enableGPIOWakeupShutdown = true, .enableNetworkWakeupLPDS = true, .wakeupGPIOSourceLPDS = PRCM_LPDS_GPIO13, .wakeupGPIOTypeLPDS = PRCM_LPDS_FALL_EDGE, .wakeupGPIOFxnLPDS = NULL, .wakeupGPIOFxnLPDSArg = 0, .wakeupGPIOSourceShutdown = PRCM_HIB_GPIO13, .wakeupGPIOTypeShutdown = PRCM_HIB_RISE_EDGE, .ramRetentionMaskLPDS = PRCM_SRAM_COL_1|PRCM_SRAM_COL_2|PRCM_SRAM_COL_3|PRCM_SRAM_COL_4, .keepDebugActiveDuringLPDS = false, .ioRetentionShutdown = PRCM_IO_RET_GRP_0|PRCM_IO_RET_GRP_1|PRCM_IO_RET_GRP_2|PRCM_IO_RET_GRP_3, .pinParkDefs = parkInfo, .numPins = 31 }; /* * =============================== UART =============================== */ #include <ti/drivers/UART.h> #include <ti/devices/cc32xx/inc/hw_ints.h> #include <ti/devices/cc32xx/inc/hw_memmap.h> #include <ti/drivers/uart/UARTCC32XX.h> #define CONFIG_UART_COUNT 2 #define UART0_BASE UARTA0_BASE #define UART1_BASE UARTA1_BASE #define INT_UART0 INT_UARTA0 #define INT_UART1 INT_UARTA1 static unsigned char uartCC32XXRingBuffer0[32]; UARTCC32XX_Object uartCC32XXObjects0; static const UARTCC32XX_HWAttrsV1 uartCC32XXHWAttrs0 = { .baseAddr = UART1_BASE, .intNum = INT_UART1, .intPriority = (~0), .flowControl = UARTCC32XX_FLOWCTRL_NONE, .ringBufPtr = uartCC32XXRingBuffer0, .ringBufSize = sizeof(uartCC32XXRingBuffer0), .rxPin = UARTCC32XX_PIN_59_UART1_RX, .txPin = UARTCC32XX_PIN_58_UART1_TX, .ctsPin = UARTCC32XX_PIN_UNASSIGNED, .rtsPin = UARTCC32XX_PIN_UNASSIGNED, .errorFxn = NULL }; static unsigned char uartCC32XXRingBuffer1[32]; UARTCC32XX_Object uartCC32XXObjects1; static const UARTCC32XX_HWAttrsV1 uartCC32XXHWAttrs1 = { .baseAddr = UART0_BASE, .intNum = INT_UART0, .intPriority = (~0), .flowControl = UARTCC32XX_FLOWCTRL_NONE, .ringBufPtr = uartCC32XXRingBuffer1, .ringBufSize = sizeof(uartCC32XXRingBuffer1), .rxPin = UARTCC32XX_PIN_57_UART0_RX, .txPin = UARTCC32XX_PIN_55_UART0_TX, .ctsPin = UARTCC32XX_PIN_UNASSIGNED, .rtsPin = UARTCC32XX_PIN_UNASSIGNED, .errorFxn = NULL }; const UART_Config UART_config[CONFIG_UART_COUNT] = { { /* CONFIG_UART_1 */ .fxnTablePtr = &UARTCC32XX_fxnTable, .object = &uartCC32XXObjects0, .hwAttrs = &uartCC32XXHWAttrs0 }, { /* CONFIG_UART_0 */ .fxnTablePtr = &UARTCC32XX_fxnTable, .object = &uartCC32XXObjects1, .hwAttrs = &uartCC32XXHWAttrs1 }, }; const uint_least8_t CONFIG_UART_1_CONST = CONFIG_UART_1; const uint_least8_t CONFIG_UART_0_CONST = CONFIG_UART_0; const uint_least8_t UART_count = CONFIG_UART_COUNT; #include <ti/drivers/power/PowerCC32XX.h> /* * This table defines the parking state to be set for each parkable pin * during LPDS. (Device resources must be parked during LPDS to achieve maximum * power savings.) If the pin should be left unparked, specify the state * PowerCC32XX_DONT_PARK. For example, for a UART TX pin, the device * will automatically park the pin in a high state during transition to LPDS, * so the Power Manager does not need to explictly park the pin. So the * corresponding entries in this table should indicate PowerCC32XX_DONT_PARK. */ PowerCC32XX_ParkInfo parkInfo[] = { /* PIN PARK STATE Pin Alias ----------------- ------------------------------ ---------------*/ {PowerCC32XX_PIN01, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP10 */ {PowerCC32XX_PIN02, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP11 */ {PowerCC32XX_PIN03, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP12 */ {PowerCC32XX_PIN04, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP13 */ {PowerCC32XX_PIN05, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP14 */ {PowerCC32XX_PIN06, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP15 */ {PowerCC32XX_PIN07, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP16 */ {PowerCC32XX_PIN08, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP17 */ {PowerCC32XX_PIN13, PowerCC32XX_WEAK_PULL_DOWN_STD}, {PowerCC32XX_PIN15, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP22 */ {PowerCC32XX_PIN16, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* TDI */ {PowerCC32XX_PIN17, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* TDO */ {PowerCC32XX_PIN18, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP28 */ {PowerCC32XX_PIN19, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* TCK */ {PowerCC32XX_PIN20, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* TMS */ {PowerCC32XX_PIN21, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* SOP2 */ {PowerCC32XX_PIN29, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP26 */ {PowerCC32XX_PIN30, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP27 */ {PowerCC32XX_PIN45, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP31 */ {PowerCC32XX_PIN50, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP00 */ {PowerCC32XX_PIN52, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP32 */ {PowerCC32XX_PIN53, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP30 */ {PowerCC32XX_PIN55, PowerCC32XX_WEAK_PULL_UP_STD}, /* GP01 */ {PowerCC32XX_PIN57, PowerCC32XX_WEAK_PULL_UP_STD}, /* GP02 */ {PowerCC32XX_PIN58, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP03 */ {PowerCC32XX_PIN59, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP04 */ {PowerCC32XX_PIN60, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP05 */ {PowerCC32XX_PIN61, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP06 */ {PowerCC32XX_PIN62, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP07 */ {PowerCC32XX_PIN63, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP08 */ {PowerCC32XX_PIN64, PowerCC32XX_WEAK_PULL_DOWN_STD}, /* GP09 */ }; #include <ti/drivers/Board.h> /* * ======== Board_initHook ======== * Perform any board-specific initialization needed at startup. This * function is declared weak to allow applications to override it if needed. */ void __attribute__((weak)) Board_initHook(void) { } /* * ======== Board_init ======== * Perform any initialization needed before using any board APIs */ void Board_init(void) { /* ==== /ti/drivers/Power initialization ==== */ PRCMCC3200MCUInit(); Power_init(); Board_initHook(); } /* * ======== Board_debugHeader ======== * This structure prevents the CC32XXSF bootloader from overwriting the * internal FLASH; this allows us to flash a program that will not be * overwritten by the bootloader with the encrypted program saved in * "secure/serial flash". * * This structure must be placed at the beginning of internal FLASH (so * the bootloader is able to recognize that it should not overwrite * internal FLASH). */ #if defined (__SF_DEBUG__) || defined(__SF_NODEBUG__) #if defined(__TI_COMPILER_VERSION__) #pragma DATA_SECTION(Board_debugHeader, ".dbghdr") #pragma RETAIN(Board_debugHeader) #elif defined(__IAR_SYSTEMS_ICC__) #pragma location=".dbghdr" #elif defined(__GNUC__) __attribute__ ((section (".dbghdr"))) #endif #if defined(__SF_DEBUG__) const uint32_t Board_debugHeader[] = { 0x5AA5A55A, 0x000FF800, 0xEFA3247D }; #elif defined (__SF_NODEBUG__) const uint32_t Board_debugHeader[] = { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }; #endif #endif
#include <unistd.h> #include <stdint.h> #include <stddef.h> /* Driver Header files */ #include <ti/drivers/GPIO.h> #include <ti/display/Display.h> #include <ti/display/DisplayUart.h> #include <ti/display/DisplayExt.h> #include <ti/display/AnsiColor.h> // #include <ti/drivers/I2C.h> // #include <ti/drivers/SPI.h> // #include <ti/drivers/UART.h> // #include <ti/drivers/Watchdog.h> /* Driver configuration */ #include "ti_drivers_config.h" Display_Handle display,display1; void *mainThread(void *arg0) { /* Call driver init functions */ GPIO_init(); Display_init(); display = Display_open(Display_Type_UART, NULL); if (display == NULL) { while (1);/* Failed to open display driver */ } display1 = Display_open(Display_Type_UART, NULL); if (display1 == NULL) { while (1);/* Failed to open display driver */ } Display_printf(display, 0, 0,"display - XDS UART 1"); Display_printf(display1, 0, 0,"display1 - UART 2"); /* Configure the LED pin */ GPIO_setConfig(CONFIG_GPIO_LED_0, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW); while (1) { sleep(1); Display_printf(display, 0, 0,"display"); Display_printf(display1, 0, 0,"display1"); GPIO_toggle(CONFIG_GPIO_LED_0); } }
Also the numbering for the displays and the corresponding UART is messed up.