This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/TM4C1294NCPDT: Not able to resolve the usb_dev_bulk example code errors when I am building the project

Part Number: TM4C1294NCPDT

Tool/software: Code Composer Studio

Hi,

I created one project likeUSB and I copied entire code from example usb_dev_bulk and copied into the USB project. When I am running this program it is giving so many errors.. Is their any new things to add in below code....

#include <stdbool.h>

#include <stdint.h>

#include "inc/hw_memmap.h"

#include "inc/hw_types.h"

#include "inc/hw_ints.h"

#include "driverlib/interrupt.h"

#include "driverlib/sysctl.h"

#include "driverlib/systick.h"

#include "driverlib/rom.h"

#include "driverlib/rom_map.h"

#include "usblib/usblib.h"

#include "usblib/usb-ids.h"

#include "usblib/device/usbdevice.h"

#include "usblib/device/usbdbulk.h"

#include "utils/uartstdio.h"

#include "utils/uartstdio.c"

#include "utils/ustdlib.h"

#include "drivers/pinout.h"

#include "usb_bulk_structs.h"

#define SYSTICKS_PER_SECOND 100

#define SYSTICK_PERIOD_MS (1000 / SYSTICKS_PER_SECOND)

volatile uint32_t g_ui32SysTickCount = 0;

volatile uint32_t g_ui32TxCount = 0;

volatile uint32_t g_ui32RxCount = 0;

#define COMMAND_PACKET_RECEIVED 0x00000001

#define COMMAND_STATUS_UPDATE 0x00000002

volatile uint32_t g_ui32Flags = 0;

uint8_t g_pui8USBRxBuffer[],g_pui8USBTxBuffer[];

static volatile bool g_bUSBConfigured = false;

#ifdef DEBUG

void

__error__(char *pcFilename, uint32_t ui32Line)

{

}

#endif

void SysTickIntHandler(void)

{

g_ui32SysTickCount++;

}

static uint32_t EchoNewDataToHost(tUSBDBulkDevice *psDevice, uint8_t *pi8Data,uint_fast32_t ui32NumBytes)

{

uint_fast32_t ui32Loop, ui32Space, ui32Count;

uint_fast32_t ui32ReadIndex;

uint_fast32_t ui32WriteIndex;

tUSBRingBufObject sTxRing;

USBBufferInfoGet(&g_sTxBuffer, &sTxRing);

ui32Space = USBBufferSpaceAvailable(&g_sTxBuffer);

ui32Loop = (ui32Space < ui32NumBytes) ? ui32Space : ui32NumBytes;

ui32Count = ui32Loop;

g_ui32RxCount += ui32NumBytes;

ui32ReadIndex = (uint32_t)(pi8Data - g_pui8USBRxBuffer);

ui32WriteIndex = sTxRing.ui32WriteIndex;

while(ui32Loop)

{

if((g_pui8USBRxBuffer[ui32ReadIndex] >= 'a') && (g_pui8USBRxBuffer[ui32ReadIndex] <= 'z'))

{

g_pui8USBTxBuffer[ui32WriteIndex] = (g_pui8USBRxBuffer[ui32ReadIndex] - 'a') + 'A';

}

else

{

if((g_pui8USBRxBuffer[ui32ReadIndex] >= 'A') && (g_pui8USBRxBuffer[ui32ReadIndex] <= 'Z'))

{

g_pui8USBTxBuffer[ui32WriteIndex] = (g_pui8USBRxBuffer[ui32ReadIndex] - 'Z') + 'z';

}

else

{

g_pui8USBTxBuffer[ui32WriteIndex]=g_pui8USBRxBuffer[ui32ReadIndex];

}

}

ui32WriteIndex++;

ui32WriteIndex =((ui32WriteIndex == BULK_BUFFER_SIZE) ? 0 : ui32WriteIndex);

ui32ReadIndex++;

ui32ReadIndex = ((ui32ReadIndex == BULK_BUFFER_SIZE) ?0 : ui32ReadIndex);

ui32Loop--;

}

USBBufferDataWritten(&g_sTxBuffer, ui32Count);

return(ui32Count);

}

uint32_t TxHandler(void *pvCBData, uint32_t ui32Event, uint32_t ui32MsgValue,void *pvMsgData)

{

if(ui32Event == USB_EVENT_TX_COMPLETE)

{

g_ui32TxCount += ui32MsgValue;

}

return(0);

}

uint32_t RxHandler(void *pvCBData, uint32_t ui32Event, uint32_t ui32MsgValue,void *pvMsgData)

{

switch(ui32Event)

{

case USB_EVENT_CONNECTED:

{

g_bUSBConfigured = true;

g_ui32Flags |= COMMAND_STATUS_UPDATE;

USBBufferFlush(&g_sTxBuffer);

USBBufferFlush(&g_sRxBuffer);

break;

}

case USB_EVENT_DISCONNECTED:

{

g_bUSBConfigured = false;

g_ui32Flags |= COMMAND_STATUS_UPDATE;

break;

}

case USB_EVENT_RX_AVAILABLE:

{

tUSBDBulkDevice *psDevice;

psDevice = (tUSBDBulkDevice *)pvCBData;

return(EchoNewDataToHost(psDevice, pvMsgData, ui32MsgValue));

}

case USB_EVENT_SUSPEND:

case USB_EVENT_RESUME:

break;

default:

break;

}

return(0);

}

int main(void)

{

uint_fast32_t ui32TxCount;

uint_fast32_t ui32RxCount;

uint32_t ui32SysClock;

uint32_t ui32PLLRate;

ui32SysClock = SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ |SYSCTL_OSC_MAIN |SYSCTL_USE_PLL |SYSCTL_CFG_VCO_480), 120000000);

SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);

UARTStdioConfig(0, 115200, ui32SysClock);

g_bUSBConfigured = false;

SysTickPeriodSet(ui32SysClock / SYSTICKS_PER_SECOND);

SysTickIntEnable();

SysTickEnable();

UARTprintf("\033[2J\nTiva C Series USB bulk device example\n");

UARTprintf("---------------------------------\n\n");

UARTprintf("Configuring USB... \n");

USBBufferInit(&g_sTxBuffer);

USBBufferInit(&g_sRxBuffer);

SysCtlVCOGet(SYSCTL_XTAL_25MHZ, &ui32PLLRate);

USBDCDFeatureSet(0, USBLIB_FEATURE_CPUCLK, &ui32SysClock);

USBDCDFeatureSet(0, USBLIB_FEATURE_USBPLL, &ui32PLLRate);

USBStackModeSet(0, eUSBModeDevice, 0);

USBDBulkInit(0, &g_sBulkDevice);

UARTprintf("Waiting for host...\r");

ui32RxCount = 0;

ui32TxCount = 0;

while(1)

{

if(g_ui32Flags & COMMAND_STATUS_UPDATE)

{

g_ui32Flags &= ~COMMAND_STATUS_UPDATE;

if(g_bUSBConfigured)

{

UARTprintf("Host Connected. \n\n");

UARTprintf("Data transferred:\n");

UARTprintf("TX: %d RX: %d \r",g_ui32TxCount,g_ui32RxCount);

}

else

{

UARTprintf("\n\nHost Disconnected.\n\n");

}

}

if(ui32TxCount != g_ui32TxCount)

{

ui32TxCount = g_ui32TxCount;

UARTprintf("TX: %d RX: %d \r",g_ui32TxCount,g_ui32RxCount);

}

if(ui32RxCount != g_ui32RxCount)

{

ui32RxCount = g_ui32RxCount;

UARTprintf("TX: %d RX: %d \r",g_ui32TxCount,g_ui32RxCount);

}

}

}

But I am getting below mentioned errors..

 

I need help...

 

Thanks & regards,

Anamika