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.

CC2564B: OpenStack() doesn't return

Part Number: CC2564B

Hello TI. I currently trying to launch A3DP_SINK demo on EK-TM4C123GXL + CC2563B. Second in BOOST-CC2564MODA version (SWRU444 user's guide). I use latest Code Composer Studio on Windows 10. I have already ported A3DPDemo_SNK example from DK-TM4C123G to EK-TM4C123GXL: all code successfully compiling and flashing. But when I start the system debug console only outputs

OpenStack().

It seems that program stuck somewhere in

Result = BSC_Initialize(HCI_DriverInformation, 0);

because if I put

Display(("Result: %d.\r\n", Result));

right after this command it never prints. But if I activate breakpoint and go step-by-step debug interface show me that Result value is -4. Actually, I can't find an implementation of BSC_Initialize() function even by searching in whole Bluetopia stack folder... Also, debugger reveals that HCITR_COMOpen() function returns -1 so I think host cannot establish HCI UART. But why there is no indication of error on console is a bit strange behavior. So what is a proper connection? I already had tested this module with STM32F401RE + BTstack with 4 wires of UART and 1 nSHUTD so board is definitely isn't broken. I currently decided to connect module to Tiva in the same way: with external wires and not with BoosterPack's J1-4 (though pinouts look fully compatible). My current pinout is (Tiva -> BoosterPack):

  • HCI UART: UART1 -> UART_1,
  • RX: PB0 -> TX: UART_TX_1,
  • TX: PB1 -> RX: UART_RX_1,
  • RTS: PF0 -> CTS: UART_CTS_1,
  • CTS: PF1 -> RTS: UART_RTS_1,
  • HCI_RESET: PB2 -> BT_nSHUTD_1 (what reset? nSHUTD1/2 or RST?),
  • LED_0: PF3 (red),
  • BUTTON: PF4 (SW1) (what is a purpose of this button? why its definition haven't been taken out to header?).

I also tried to connect RST pins on both boards (no difference). Power goes from Tiva to BoosterPack 3V3 pin. When system powers up, the green LED on BoosterPack lights up (successful reset routine) but after 1-2 seconds it turns off and red LED on Tiva (LED_0 of stack) lights up.

Another question is about patch. After some searching, I found that CC256XB_PATCH in Bluetopia stack is likely obsolete. So then I started to manage this problem:

  • download Bluetooth Service Pack for CC256xB,
  • install Wireless Tools (a bunch of icons on the desktop now),
  • comment out first two lines that specify baudrate as it was suggested here,
  • unsuccessfully trying to generate .h-file by HCITester -> BTS Transform (looks absolutely different in comparison with .h from Bluetopia folder),
  • trying to find patches on Internet,
  • unsuccessfully trying to install Bluetooth Hardware Evaluation Tool,
  • setup Windows XP on VM and finally generate header file,

so finally some sort of solution. But .h from Bluetopia folder also contains #ifdef directives, 2 types of patches (BasePatch, LowEnergyPatch), DATA_SECTION #pragma and so on. I think TI should supply these patches also as a complete .h-files which developers can easily integrate inside toolchains.

Maybe my post is messed up a bit (or a lot) but when sample demo app just does not work it's frustrating and annoying. Any help would be appreciated.

  • What steps did you take to try to convert the file using BTS Transform?

    Additionally, in your compiler (in CCS), what symbols do you have pre-defined?
    1. HCI Tester -> Command Library pane -> Change HCI Libraries -> Add "TIInit_6.7.16.xml" -> Open "initscripts-TIInit_6.7.16_bt_spec_4.1.bts" -> Click BTS Transform -> Change all options trying to achieve similar to Bluetopia' CC256XB.h file form. Nevermind, I can now start WinXP in VM to convert BTS into .h (also disabling Sleep mode as it was said in CC256X Wiki (BHET -> Modify SP -> Sleep Mode)) and BHET' output is in the most similar to desired form anyway (though it doesn't contain pragmas, ifdefs ...). I've opened one of the three BTS scripts at a time and save them as a .h and then combine them into single CC256XB.h as it was done in the original one.

    2. Predefined symbols of the project:

  • OK, I changed a pinout slightly so now on TIVA UART RTS & CTS are PC4 & PC5 respectively because I suggested that switches SW1 & SW2 and their pull-up resistors can somehow affect the connection. Now green LED on the BoosterPack turns on after power up and remains in this state and red LED of Bluetopia stack doesn't turn on. HCITR_COMOpen() now returns 1 that I think is also a good sign. Though demo still doesn't work and I can't trace exact call stack because there are no sources of some functions such as BSC_Initialize() as I mentioned before. Even if I debugging and view call stack there is no clear sequence of what function calling what, so I can't figure out what step is going to be next:

    I sniff UART traffic between MCUs and found that both sides receiving and transmitting a few bytes at 115200:

    • TIVA RX: 04 0E 04 01 03 0C 00 04 0E 04 01 03 0C 00 FC 04 0E 04 01 03 0C 00 (after 3 resets)
    • TIVA TX: 01 03 0C 00 01 03 0C 00 01 03 0C 00 (also after 3 resets)

    Maybe that information would be helpful.

  • What changes did you make in porting? I just want to make sure all the correct steps were taken before examining the stack, as the demo should be working out of box.

  • So I took A3DPDemo_SNK CCS project as a reference and firstly compiled it to make sure that I actually can use tools. It seemed that some paths expected to be at C:\ so I copied "Bluetopia" and "Hardware" folders to C:\. All following changes I populate on both paths (C:\ and C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4). Then I copied this project and started to modify it. In the CCS I created new configuration: Debug - EK-TM4C123GXL and one by one carefully checked all properties to match current system state. I edited

    C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScriptsSetTivaWarePath.bat

    to add one more build script and created

    C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScriptsTivaWarePath_EK_TM4C123GXL_CCS.txt

    file. Of course I've modified pinout in HALCFG.h and HALCFG.c. Final view of ported project is:

    Memory allocation:

    You can find build logs of both projects, BuildScriptsSetTivaWarePath.bat, BuildScriptsTivaWarePath_EK_TM4C123GXL_CCS.txt and new project in the attached files. Unfortunately, HALCFG.h, HALCFG.c, CC256XB.h and other related files don't exporting by CCS so I've insert them separately.

    8304.A3DPDemo_SNK_EK-TM4C.zip

    0602.HALCFG.h

    3326.HALCFG.c
    /*****< halcfg.c >*************************************************************/
    /*      Copyright 2013 - 2014 Stonestreet One.                                */
    /*      All Rights Reserved.                                                  */
    /*                                                                            */
    /*  HAL - Hardware Abstraction function for Tiva DK-TM4C123G board.           */
    /*                                                                            */
    /*  Author:  Tim Cook                                                         */
    /*                                                                            */
    /*** MODIFICATION HISTORY *****************************************************/
    /*                                                                            */
    /*   mm/dd/yy  F. Lastname    Description of Modification                     */
    /*   --------  -----------    ------------------------------------------------*/
    /*   12/04/13  Tim Cook       Initial creation.                               */
    /******************************************************************************/
    
    #include "BTPSKRNL.h"
    
    #include "HAL.h"
    #include "HALCFG.h"
    
    #include "inc/hw_types.h"
    #include "inc/hw_memmap.h"
    #include "inc/hw_ints.h"
    #include "inc/hw_uart.h"
    #include "inc/hw_gpio.h"
    #include "inc/hw_ints.h"
    
    #include "driverlib/gpio.h"
    #include "driverlib/uart.h"
    #include "driverlib/sysctl.h"
    #include "driverlib/timer.h"
    #include "driverlib/interrupt.h"
    #include "driverlib/flash.h"
    
    #include "driverlib/rom.h"
    #include "driverlib/rom_map.h"
    #include "driverlib/pin_map.h"
    
    #ifdef __USE_TI_RTOS__
    
    #include <xdc/std.h>              /* Sys/Bios Standard Header.                */
    #include <xdc/runtime/Error.h>    /* Sys/Bios Error Header.                   */
    
    #include <ti/sysbios/hal/Hwi.h>
    
    #endif
    
    #include "utils/ustdlib.h"
    
       /* This section of the file constains MACRO's that configure the     */
       /* Ports and GPIO's that are used for the LED's.                     */
       /*                                                                   */
       /* Function     Port/Pin                                             */
       /* --------     --------                                             */
       /*   LED0         PG2                                                */
       /*                                                                   */
    
       /* The following defines that port address and Mask Values that are  */
       /* used to access the User LED.                                      */
    #define LED_PORT_0_BASE                                  (GPIO_PORTF_BASE)
    #define LED_PORT_0_PIN                                        (GPIO_PIN_3)
    
       /* The follwing defines a structure that is used to produce a        */
       /* circular buffer used to manage data to/from the UART.             */
    typedef struct _tagUART_Buffer_t
    {
       unsigned int   InIndex;
       unsigned int   OutIndex;
       unsigned int   BufferSize;
       unsigned int   BytesFree;
       unsigned char *Buffer;
    } UART_Buffer_t;
    
    #define UART_BUFFER_DATA_SIZE                        (sizeof(UART_Buffer_t))
    
       /* Internal state variables.                                         */
    static UART_Buffer_t InBuf;
    static UART_Buffer_t OutBuf;
    static unsigned char InBuffer[UART_IN_BUFFER_LEN];
    static unsigned char OutBuffer[UART_OUT_BUFFER_LEN];
    
    static unsigned long TickCount;
    
       /* Internal function prototypes.                                     */
    static int ReadFlash(unsigned int Length, unsigned char *Dest);
    static int WriteFlash(unsigned int Length, unsigned char *Src);
    
    static void HAL_RxInterrupt(void);
    static void HAL_TxInterrupt(void);
    
       /* The following function is used to read chunck of data from the    */
       /* serial flash.  The function will transfer the data from address   */
       /* Zero of the flash for as many bytes as defined by the Length      */
       /* Parameter.  The second parameter specified a buffer to where the  */
       /* data will be transferred.                                         */
    static int ReadFlash(unsigned int Length, unsigned char *Dest)
    {
       return(0);
    }
    
       /* The following function is used to transfer a chunck of data to the*/
       /* serail flash, starting at flash address Zero.  The first parameter*/
       /* defines the number of bytes to be transferred.  The second        */
       /* parameter pointer to a buffer that holds the data that is to be   */
       /* transferred.                                                      */
    static int WriteFlash(unsigned int Length, unsigned char *Src)
    {
       return(0);
    }
    
       /* The following function is the function that the Console UART      */
       /* interrupt handler calls to process an incoming UART Receive       */
       /* Interrupt.                                                        */
    static void HAL_RxInterrupt(void)
    {
       unsigned char ch;
    
       while(!(HWREG(UART0_BASE + UART_O_FR) & UART_FR_RXFE))
       {
          /* Read the character from the UART port.                      */
          ch = (unsigned char)HWREG(UART0_BASE + UART_O_DR);
    
          /* If there is free space in the buffer, then store the        */
          /* character.                                                  */
          if(InBuf.BytesFree)
          {
             InBuf.Buffer[InBuf.InIndex++] = ch;
    
             /* Adjust the character counts and check to see if the index*/
             /* needs to be wrapped.                                     */
             InBuf.BytesFree--;
             if(InBuf.InIndex == InBuf.BufferSize)
                InBuf.InIndex = 0;
          }
       }
    }
    
       /* The following function is the function that the Console UART      */
       /* interrupt handler calls to process an outgoing UART Transmit      */
       /* Interrupt.                                                        */
    static void HAL_TxInterrupt(void)
    {
       /* Verify that there is room for another character in the Tx FIFO.*/
       while((HWREG(UART0_BASE + UART_O_FR) & UART_FR_TXFF) == 0)
       {
          /* Check to see if there is a character to send.               */
          if(OutBuf.BytesFree != OutBuf.BufferSize)
          {
             /* Place the next character into the output buffer.         */
             HWREG(UART0_BASE + UART_O_DR) = OutBuf.Buffer[OutBuf.OutIndex++];
    
             /* Adjust the character counts and check to see if the index*/
             /* needs to be wrapped.                                     */
             OutBuf.BytesFree++;
             if(OutBuf.OutIndex == OutBuf.BufferSize)
                OutBuf.OutIndex = 0;
          }
          else
          {
             /* There are no more characters to send so disable the      */
             /* transmit interrupt.                                      */
             UARTIntDisable(UART0_BASE, UART_INT_TX);
             break;
          }
       }
    }
    
       /* Error Handler for Tiva Ware driver library functions.        */
    #ifdef DEBUG
    
    void __error__(char *pcFilename, unsigned long ulLine)
    {
    }
    
    #endif
    
       /* The following function handles the UART interrupts for the        */
       /* console.                                                          */
    #ifdef __USE_TI_RTOS__
    
    void ConsoleIntHandler(UArg arg0)
    
    #else
    
    void ConsoleIntHandler(void)
    
    #endif
    {
       unsigned long Status;
    
       /* Get a pointer to the Uart Context and read the current value of   */
       /* Get the Interrupt Status register Mask to determine what caused   */
       /* the intterupt.                                                    */
       Status = UARTIntStatus(UART0_BASE, 1);
       UARTIntClear(UART0_BASE, Status);
    
       /* Check to see if a character has been received.                    */
       if(Status & (UART_INT_RX | UART_INT_RT))
       {
          HAL_RxInterrupt();
       }
    
       /* Check to see if we can send another character.                    */
       if(Status & UART_INT_TX)
       {
          HAL_TxInterrupt();
       }
    }
    
       /* The following function handles updating the Timer Tick.           */
    #ifdef __USE_TI_RTOS__
    
    void TimerIntHandler(UArg arg0)
    
    #else
    
    void TimerIntHandler(void)
    
    #endif
    {
       /* Clear the interrupt and update the tick count.                    */
       TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT);
    
       TickCount++;
    }
    
       /* The following function is used to place the hardware into a known */
       /* state.  This function accepts a single parameter which specifies  */
       /* whether or not the hardware timer (for non-multithreaded Tick     */
       /* Counts - TIMER0) should be enabled.  This parameter should be     */
       /* passed as zero (FALSE) if using an RTOS (e.g. SafeRTOS or         */
       /* FreeRTOS).                                                        */
    void HAL_ConfigureHardware(int ConfigureTimerTick)
    {
    
    #ifdef __USE_TI_RTOS__
    
       Error_Block eb;
    
    #endif
    
       /* Setup the CPU to run at 50MHz.                                    */
       SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ);
    
       /* Enable the necessary peripherals.                                 */
       SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
       SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
       SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
       SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
       SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);
       SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
       // SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);
       // SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOH);
       // SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOJ);
    
       /* Define User LED.                                                  */
       GPIOPinTypeGPIOOutput(LED_PORT_0_BASE, LED_PORT_0_PIN);
       GPIOPinWrite(LED_PORT_0_BASE, LED_PORT_0_PIN, 0);
    
       /* Configure the Shutdown Pin.                                       */
       GPIOPinTypeGPIOOutput(HCI_RESET_BASE, HCI_RESET_PIN);
       GPIOPinWrite(HCI_RESET_BASE, HCI_RESET_PIN, 0);
    
       /* Configure UART 0 to be used as the debug port.  This port will be */
       /* polled, so we will not enabled interrupts.                        */
       SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
    
       GPIOPinConfigure(GPIO_PA0_U0RX);
       GPIOPinConfigure(GPIO_PA1_U0TX);
    
       GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);
    
       UARTConfigSetExpClk(UART0_BASE, SYSTEM_CLOCK_RATE_HZ, 115200, (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE));
    
       /* Initialize the UART Input Buffer structures.                      */
       BTPS_MemInitialize(&InBuf, 0, UART_BUFFER_DATA_SIZE);
       InBuf.BufferSize = UART_IN_BUFFER_LEN;
       InBuf.BytesFree  = UART_IN_BUFFER_LEN;
       InBuf.Buffer     = InBuffer;
    
       /* Initialize the UART Output Buffer structures.                     */
       BTPS_MemInitialize(&OutBuf, 0, UART_BUFFER_DATA_SIZE);
       OutBuf.BufferSize = UART_OUT_BUFFER_LEN;
       OutBuf.BytesFree  = UART_OUT_BUFFER_LEN;
       OutBuf.Buffer     = OutBuffer;
    
    #ifdef __USE_TI_RTOS__
    
       Error_init(&eb);
       Hwi_create(INT_UART0, ConsoleIntHandler, NULL, &eb);
    
       if(Error_check(&eb))
       {
          //xxx No ability to blink an LED at this point
          while(1)
             ;
       }
    
       /* FreeRTOS requires RTOS-aware int handlers to be priority value 5  */
       /* or greater                                                        */
       IntPrioritySet(INT_UART0, 6 << 5);
    #endif
    
       /* Enable Interrupts for the Uart Port.                              */
       IntEnable(INT_UART0);
       UARTIntEnable(UART0_BASE, UART_INT_RX | UART_INT_RT);
    
       /* Initialize the Timer.                                             */
       TickCount = 0;
    
       if(ConfigureTimerTick)
       {
          SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);
          TimerDisable(TIMER0_BASE, TIMER_A);
          TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC);
          TimerPrescaleSet(TIMER0_BASE, TIMER_A, 0);
    
          /* Configure 1 ms tick.                                           */
          TimerLoadSet(TIMER0_BASE, TIMER_A, (SYSTEM_CLOCK_RATE_HZ / 1000));
    
          /* Enable timer interrupts for the 1ms timer.                     */
          IntEnable(INT_TIMER0A);
    
          TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT);
          TimerEnable(TIMER0_BASE, TIMER_A);
       }
    
       IntMasterEnable();
    }
    
       /* The following function is used to illuminate an LED.  The number  */
       /* of LEDs on a board is board specific.  If the LED_ID provided does*/
       /* not exist on the hardware platform then nothing is done.          */
    void HAL_LedOn(int LED_ID)
    {
       if(LED_ID == 0)
          GPIOPinWrite(LED_PORT_0_BASE, LED_PORT_0_PIN, LED_PORT_0_PIN);
    }
    
       /* The following function is used to extinguish an LED.  The number  */
       /* of LEDs on a board is board specific.  If the LED_ID provided does*/
       /* not exist on the hardware platform then nothing is done.          */
    void HAL_LedOff(int LED_ID)
    {
       if(LED_ID == 0)
          GPIOPinWrite(LED_PORT_0_BASE, LED_PORT_0_PIN, 0);
    }
    
       /* The following function is used to toggle the state of an LED.  The*/
       /* number of LEDs on a board is board specific.  If the LED_ID       */
       /* provided does not exist on the hardware platform then nothing is  */
       /* done.                                                             */
    void HAL_LedToggle(int LED_ID)
    {
       if(LED_ID == 0)
          GPIOPinWrite(LED_PORT_0_BASE, LED_PORT_0_PIN, GPIOPinRead(LED_PORT_0_BASE, LED_PORT_0_PIN)?0:LED_PORT_0_PIN);
    }
    
       /* The following function is used to read the stateof a Button.  The */
       /* number of Buttons on a board is board specific.  If the button is */
       /* pressed, the return value will be non-zero.  If the BUTTON_ID     */
       /* provided does not exist on the hardware platform or the button is */
       /* not being depressed then the return value is Zero.                */
    int HAL_ButtonPressed(int BUTTON_ID)
    {
       int ret_val;
    
       if(!BUTTON_ID)
          ret_val = !(GPIOPinRead(GPIO_PORTF_BASE, GPIO_PIN_4));
       else
          ret_val = 0;
    
       return(ret_val);
    }
    
       /* The following function is used to retreive data from the UART     */
       /* input queue.  the function receives a pointer to a buffer that    */
       /* will receive the UART characters a the length of the buffer.  The */
       /* function will return the number of characters that were returned  */
       /* in Buffer.                                                        */
    int HAL_ConsoleRead(int Length, char *Buffer)
    {
       int ret_val;
    
       /* Verify that the parameters passed in appear valid.                */
       if((Length) && (Buffer))
       {
          /* Check to see if there are any characters in the input buffer.  */
          ret_val = (InBuf.BufferSize - InBuf.BytesFree);
          if(ret_val)
          {
             /* Adjust the number of avaialble bytes if the Buffer passed in*/
             /* can not hold all of the data that is available.             */
             if(ret_val > Length)
                ret_val = Length;
    
             /* Check to see to we need to copy the data in two parts.      */
             if(ret_val > (InBuf.BufferSize - InBuf.OutIndex))
             {
                /* Copy as much data as we can on the first pass.           */
                Length = (InBuf.BufferSize - InBuf.OutIndex);
                BTPS_MemCopy(Buffer, &InBuf.Buffer[InBuf.OutIndex], Length);
    
                /* Copy the remaining data from the beginning of the buffer.*/
                BTPS_MemCopy(&Buffer[Length], InBuf.Buffer, (ret_val - Length));
    
                /* Adjust the Out Index.                                    */
                InBuf.OutIndex = (ret_val - Length);
             }
             else
             {
                /* Copy the data to the Buffer supplied.                       */
                BTPS_MemCopy(Buffer, &InBuf.Buffer[InBuf.OutIndex], ret_val);
    
                /* Adjust the Out Index.                                    */
                InBuf.OutIndex += ret_val;
             }
    
             /* Adjust the number of Free Bytes available in the Input      */
             /* Buffer.                                                     */
             IntDisable(INT_UART0);
             InBuf.BytesFree += ret_val;
             IntEnable(INT_UART0);
          }
          else
             ret_val = 0;
       }
       else
          ret_val = 0;
    
       return(ret_val);
    }
    
       /* The following function is used to send data to the UART output    */
       /* queue.  the function receives a pointer to a buffer that will     */
       /* contains the data to send and the length of the data.  The        */
       /* function will return the number of characters that were           */
       /* successfully saved in the output buffer.                          */
    int HAL_ConsoleWrite(int Length, char *Buffer)
    {
       int ret_val;
    
       /* Verify that the parameters passed in appear valid.                */
       if((Length) && (Buffer) && (OutBuf.BytesFree))
       {
          /* Check to see if we can save all of the data provided.          */
          if(Length > OutBuf.BytesFree)
          {
             /* Small delay to let the buffer drain.                        */
             BTPS_Delay(1);
    
             /* Re-attempt to output the data.                              */
             if(Length > OutBuf.BytesFree)
                Length = OutBuf.BytesFree;
          }
    
          /* Set the return values to the number of bytes that we will be   */
          /* copying.                                                       */
          ret_val = Length;
    
          /* Check to see to we need to copy the data in two parts.         */
          if(Length > (OutBuf.BufferSize - OutBuf.InIndex))
          {
             /* Copy as much data as we can on the first pass.              */
             Length = (OutBuf.BufferSize - OutBuf.InIndex);
             BTPS_MemCopy(&OutBuf.Buffer[OutBuf.InIndex], Buffer, Length);
    
             /* Copy the remaining data from the beginning of the buffer.   */
             BTPS_MemCopy(OutBuf.Buffer, &Buffer[Length], (ret_val - Length));
    
             /* Adjust the In Index.                                        */
             OutBuf.InIndex = (ret_val - Length);
          }
          else
          {
             /* Copy the data to the Buffer supplied.                       */
             BTPS_MemCopy(&OutBuf.Buffer[OutBuf.InIndex], Buffer, ret_val);
    
             /* Adjust the In Index.                                        */
             OutBuf.InIndex += ret_val;
          }
    
          /* Adjust the number of Free Bytes available in the Output Buffer.*/
          IntDisable(INT_UART0);
          OutBuf.BytesFree -= ret_val;
          IntEnable(INT_UART0);
    
          /* Check to see if we need to prime the transmitter.              */
          if(!(HWREG(UART0_BASE + UART_O_IM) & UART_IM_TXIM))
          {
             /* Now that the data is in the input buffer, check to see if we*/
             /* need to enable the interrupt to start the TX Transfer.      */
             HWREG(UART0_BASE + UART_O_IM) |= UART_IM_TXIM;
    
             /* Start sending data to the Uart Transmit FIFO.               */
             IntDisable(INT_UART0);
             HAL_TxInterrupt();
             IntEnable(INT_UART0);
          }
       }
       else
          ret_val = 0;
    
       return(ret_val);
    }
    
       /* The following function is used to retreive a specific number of   */
       /* bytes from some Non Volatile memory.                              */
    int HAL_NV_DataRead(int Length, unsigned char *Buffer)
    {
       return(ReadFlash(Length, Buffer));
    
    }
       /* The following function is used to save a specific number of bytes */
       /* to some Non Volatile memory.                                      */
    int HAL_NV_DataWrite(int Length, unsigned char *Buffer)
    {
       return(WriteFlash(Length, Buffer));
    }
    
       /* The following function is used to return the current Tick Count   */
       /* value.                                                            */
    unsigned long HAL_GetTickCount(void)
    {
       return(TickCount);
    }
    

    1768.CC256XB.h

    TivaWarePath_EK_TM4C123GXL_CCS.txt
    -IC:\ti\TivaWare_C_Series-2.1.4.178
    -IC:\ti\TivaWare_C_Series-2.1.4.178/third_party 
    -IC:\ti\TivaWare_C_Series-2.1.4.178/examples/boards/ek-tm4c123gxl
    -iC:\ti\TivaWare_C_Series-2.1.4.178\driverlib\ccs\Debug 
    -iC:\ti\TivaWare_C_Series-2.1.4.178\grlib\ccs\Debug 
    

    SetTivaWarePath.bat.txt
    if NOT !%TIVAWARE_PATH% == ! GOTO TIVAWARE_PATH_DEFINED
    
    set TIVAWARE_PATH=C:\ti\TivaWare_C_Series-2.1.4.178
    
    :TIVAWARE_PATH_DEFINED
    
    set HOME_PATH=.
    IF !%1 == ! GOTO :CHECK_PATH
    
    set HOME_PATH=%1
    
    :CHECK_PATH
    
    set SCRIPT_PATH=%HOME_PATH%\..\..\..\..\
    IF EXIST %SCRIPT_PATH%\BuildScripts GOTO :SCRIPT_PATH_EXISTS
    set SCRIPT_PATH=%HOME_PATH%\..\..\..\..\..
    IF EXIST %SCRIPT_PATH%\BuildScripts GOTO :SCRIPT_PATH_EXISTS
    
    echo Could not find BuildScripts
    GOTO :EXIT
    
    :SCRIPT_PATH_EXISTS
    
    echo -I%TIVAWARE_PATH% >%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C123G_RVMDK.txt
    echo -I%TIVAWARE_PATH%\third_party >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C123G_RVMDK.txt
    echo -I%TIVAWARE_PATH%\examples\board\dk-tm4c123g >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C123G_RVMDK.txt
    
    echo --userlibpath=%TIVAWARE_PATH%\driverlib\rvmdk >%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C123G_LD_RVMDK.txt
    echo --userlibpath=%TIVAWARE_PATH%\grlib\rvmdk >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C123G_LD_RVMDK.txt
    
    echo -I%TIVAWARE_PATH% >%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C129X_RVMDK.txt
    echo -I%TIVAWARE_PATH%\third_party >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C129X_RVMDK.txt
    echo -I%TIVAWARE_PATH%\examples\boards\dk-tm4c129x >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C129X_RVMDK.txt
    
    echo --userlibpath=%TIVAWARE_PATH%\driverlib\rvmdk >%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C129X_LD_RVMDK.txt
    echo --userlibpath=%TIVAWARE_PATH%\grlib\rvmdk >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C129X_LD_RVMDK.txt
    
    echo -I%TIVAWARE_PATH% >%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C123G_EWARM.txt
    echo -I%TIVAWARE_PATH%\third_party >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C123G_EWARM.txt
    echo -I%TIVAWARE_PATH%\examples\board\dk-tm4c123g >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C123G_EWARM.txt
    
    echo --search %TIVAWARE_PATH%\driverlib\ewarm\exe >%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C123G_LD_EWARM.txt
    echo --search %TIVAWARE_PATH%\grlib\ewarm\exe >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C123G_LD_EWARM.txt
    
    echo -I%TIVAWARE_PATH% >%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C129X_EWARM.txt
    echo -I%TIVAWARE_PATH%\third_party >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C129X_EWARM.txt
    echo -I%TIVAWARE_PATH%\examples\boards\dk-tm4c129x >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C129X_EWARM.txt
    
    echo --search %TIVAWARE_PATH%\driverlib\ewarm\exe >%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C129X_LD_EWARM.txt
    echo --search %TIVAWARE_PATH%\grlib\ewarm\exe >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C129X_LD_EWARM.txt
    
    echo -I%TIVAWARE_PATH% >%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt
    echo -I%TIVAWARE_PATH%/third_party >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt
    echo -I%TIVAWARE_PATH%/examples/boards/dk-tm4c123g >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt
    
    echo -i%TIVAWARE_PATH%\driverlib\ccs\Debug >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt
    echo -i%TIVAWARE_PATH%\grlib\ccs\Debug >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt
    
    
    echo -I%TIVAWARE_PATH% >%SCRIPT_PATH%\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt
    echo -I%TIVAWARE_PATH%/third_party >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt
    echo -I%TIVAWARE_PATH%/examples/boards/ek-tm4c123gxl >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt
    
    echo -i%TIVAWARE_PATH%\driverlib\ccs\Debug >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt
    echo -i%TIVAWARE_PATH%\grlib\ccs\Debug >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt
    
    
    echo -I%TIVAWARE_PATH% >%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C129X_CCS.txt
    echo -I%TIVAWARE_PATH%/third_party >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C129X_CCS.txt
    echo -I%TIVAWARE_PATH%/examples/boards/dk-tm4c129x >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C129X_CCS.txt
    
    echo -i%TIVAWARE_PATH%\driverlib\ccs\Debug >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C129X_CCS.txt
    echo -i%TIVAWARE_PATH%\grlib\ccs\Debug >>%SCRIPT_PATH%\BuildScripts\TivaWarePath_DK_TM4C129X_CCS.txt
    
    :EXIT
    

    A3DPDemo_SNK_build_log.txt
    **** Build of configuration Debug - DK-TM4C123G for project A3DPDemo_SNK ****
    
    "C:\\ti\\ccsv7\\utils\\bin\\gmake" -k all 
     
    "C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt"
    makefile:185: recipe for target 'pre-build' failed
     
    'Building file: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/A3DPDemo_SNK.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/dk-tm4c123g" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=PART_TM4C123GH6PGE --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="A3DPDemo_SNK.d_raw"  "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/A3DPDemo_SNK.c"
    process_begin: CreateProcess(C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt, "C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt", ...) failed.
    make (e=193): Error 193
    gmake[1]: [pre-build] Error 193 (ignored)
    'Finished building: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/A3DPDemo_SNK.c"'
     
    'Building file: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btpskrnl/NoOS/BTPSKRNL.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/dk-tm4c123g" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=PART_TM4C123GH6PGE --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="BTPSKRNL.d_raw"  "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btpskrnl/NoOS/BTPSKRNL.c"
    'Finished building: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btpskrnl/NoOS/BTPSKRNL.c"'
     
    'Building file: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btpsvend/BTPSVEND.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/dk-tm4c123g" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=PART_TM4C123GH6PGE --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="BTPSVEND.d_raw"  "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btpsvend/BTPSVEND.c"
    'Finished building: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btpsvend/BTPSVEND.c"'
     
    'Building file: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btvs/source/BTVS.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/dk-tm4c123g" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=PART_TM4C123GH6PGE --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="BTVS.d_raw"  "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btvs/source/BTVS.c"
    "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btvs/source/BTVS.c", line 169: warning #188-D: pointless comparison of unsigned integer with zero
    "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btvs/source/BTVS.c", line 426: warning #188-D: pointless comparison of unsigned integer with zero
    "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btvs/source/BTVS.c", line 640: warning #188-D: pointless comparison of unsigned integer with zero
    "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btvs/source/BTVS.c", line 640: warning #188-D: pointless comparison of unsigned integer with zero
    "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btvs/source/BTVS.c", line 726: warning #188-D: pointless comparison of unsigned integer with zero
    'Finished building: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btvs/source/BTVS.c"'
     
    'Building file: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Hardware/HAL.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/dk-tm4c123g" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=PART_TM4C123GH6PGE --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="HAL.d_raw"  "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Hardware/HAL.c"
    'Finished building: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Hardware/HAL.c"'
     
    'Building file: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/hcitrans/NoOS/HCITRANS.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/dk-tm4c123g" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=PART_TM4C123GH6PGE --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="HCITRANS.d_raw"  "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/hcitrans/NoOS/HCITRANS.c"
    'Finished building: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/hcitrans/NoOS/HCITRANS.c"'
     
    'Building file: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/NoOS/Main.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/dk-tm4c123g" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=PART_TM4C123GH6PGE --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="Main.d_raw"  "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/NoOS/Main.c"
    'Finished building: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/NoOS/Main.c"'
     
    'Building file: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/TivaWareLib.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/dk-tm4c123g" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=PART_TM4C123GH6PGE --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="TivaWareLib.d_raw"  "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/TivaWareLib.c"
    'Finished building: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/TivaWareLib.c"'
     
    'Building file: "C:/ti/workspace/startup/dk_tm4c123g/startup_ccs.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/dk-tm4c123g" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=PART_TM4C123GH6PGE --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="dk-tm4c123g/startup_ccs.d_raw" --obj_directory="dk-tm4c123g"  "C:/ti/workspace/startup/dk_tm4c123g/startup_ccs.c"
    'Finished building: "C:/ti/workspace/startup/dk_tm4c123g/startup_ccs.c"'
     
    'Building target: "A3DPDemo_SNK.out"'
    'Invoking: ARM Linker'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_DK_TM4C123G_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --define=PART_TM4C123GH6PGE --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi -z -m"app_TM4C123GH6PGE_ccs.map" --heap_size=0 --stack_size=2000 -i"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/lib" -i"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" -i"C:/Bluetopia/lib/ccs/NoOS" -i"C:/Bluetopia/profiles/audio/lib/ccs" -i"C:/Bluetopia/profiles/avctp/lib/ccs" -i"C:/Bluetopia/profiles/avrcp/lib/ccs" -i"C:/Bluetopia/profiles/gavd/lib/ccs" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="A3DPDemo_SNK_linkInfo.xml" --rom_model -o "A3DPDemo_SNK.out" "./A3DPDemo_SNK.obj" "./BTPSKRNL.obj" "./BTPSVEND.obj" "./BTVS.obj" "./HAL.obj" "./HCITRANS.obj" "./Main.obj" "./TivaWareLib.obj" "./dk-tm4c123g/startup_ccs.obj" "C:/ti/workspace/startup/dk_tm4c123g/linker_ccs.cmd"  -ldriverlib.lib -lBluetopia_FP.lib -lSS1BTAUD_FP.lib -lSS1BTAVC_FP.lib -lSS1BTAVR_FP.lib -lSS1BTGAV_FP.lib -llibc.a 
    <Linking>
    'Finished building target: "A3DPDemo_SNK.out"'
     
    'Convert TI .out file to .bin'
    "C:/ti/ccsv7/utils/tiobj2bin/tiobj2bin.bat" "A3DPDemo_SNK.out" "A3DPDemo_SNK.bin" "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armofd.exe" "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armhex.exe" "C:/ti/ccsv7/utils/tiobj2bin/mkhex4bin.exe"
     
    
    **** Build Finished ****
    

    A3DPDemo_SNK_EK-TM4C_build_log.txt
    **** Build of configuration Debug - EK-TM4C123GXL for project A3DPDemo_SNK_EK-TM4C ****
    
    "C:\\ti\\ccsv7\\utils\\bin\\gmake" -k all 
     
    "C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt"
    makefile:183: recipe for target 'pre-build' failed
     
    'Building file: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/A3DPDemo_SNK.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/ek-tm4c123gxl" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" --define=PART_TM4C123GH6PM -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="A3DPDemo_SNK.d_raw"  "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/A3DPDemo_SNK.c"
    process_begin: CreateProcess(C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt, "C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt", ...) failed.
    make (e=193): Error 193
    gmake[1]: [pre-build] Error 193 (ignored)
    'Finished building: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/A3DPDemo_SNK.c"'
     
    'Building file: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btpskrnl/NoOS/BTPSKRNL.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/ek-tm4c123gxl" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" --define=PART_TM4C123GH6PM -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="BTPSKRNL.d_raw"  "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btpskrnl/NoOS/BTPSKRNL.c"
    'Finished building: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btpskrnl/NoOS/BTPSKRNL.c"'
     
    'Building file: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btpsvend/BTPSVEND.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/ek-tm4c123gxl" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" --define=PART_TM4C123GH6PM -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="BTPSVEND.d_raw"  "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btpsvend/BTPSVEND.c"
    'Finished building: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btpsvend/BTPSVEND.c"'
     
    'Building file: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btvs/source/BTVS.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/ek-tm4c123gxl" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" --define=PART_TM4C123GH6PM -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="BTVS.d_raw"  "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btvs/source/BTVS.c"
    "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btvs/source/BTVS.c", line 169: warning #188-D: pointless comparison of unsigned integer with zero
    "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btvs/source/BTVS.c", line 426: warning #188-D: pointless comparison of unsigned integer with zero
    "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btvs/source/BTVS.c", line 640: warning #188-D: pointless comparison of unsigned integer with zero
    "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btvs/source/BTVS.c", line 640: warning #188-D: pointless comparison of unsigned integer with zero
    "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btvs/source/BTVS.c", line 726: warning #188-D: pointless comparison of unsigned integer with zero
    'Finished building: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/btvs/source/BTVS.c"'
     
    'Building file: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Hardware/HAL.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/ek-tm4c123gxl" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" --define=PART_TM4C123GH6PM -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="HAL.d_raw"  "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Hardware/HAL.c"
    'Finished building: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Hardware/HAL.c"'
     
    'Building file: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/hcitrans/NoOS/HCITRANS.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/ek-tm4c123gxl" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" --define=PART_TM4C123GH6PM -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="HCITRANS.d_raw"  "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/hcitrans/NoOS/HCITRANS.c"
    'Finished building: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Bluetopia/hcitrans/NoOS/HCITRANS.c"'
     
    'Building file: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/NoOS/Main.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/ek-tm4c123gxl" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" --define=PART_TM4C123GH6PM -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="Main.d_raw"  "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/NoOS/Main.c"
    'Finished building: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/NoOS/Main.c"'
     
    'Building file: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/TivaWareLib.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/ek-tm4c123gxl" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" --define=PART_TM4C123GH6PM -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="TivaWareLib.d_raw"  "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/TivaWareLib.c"
    'Finished building: "C:/ti/Connectivity/CC256X BT/CC256x M4 Bluetopia SDK/v1.2 R2/Cortex_M4/Sample/A3DPDemo_SNK/TivaWareLib.c"'
     
    'Building file: "../startup_ccs.c"'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" --include_path="C:/ti/workspace" --include_path="C:/ti" --include_path="C:/Hardware" --include_path="C:/Hardware/ek-tm4c123gxl" --include_path="C:/Bluetopia/btpskrnl/NoOS" --include_path="C:/Bluetopia/hcitrans/NoOS" --include_path="C:/Bluetopia/btpsvend" --include_path="C:/Bluetopia/btvs/include" --include_path="C:/Bluetopia/include" --include_path="C:/Bluetopia/profiles/a2dp/include" --include_path="C:/Bluetopia/profiles/audio/include" --include_path="C:/Bluetopia/profiles/avctp/include" --include_path="C:/Bluetopia/profiles/avrcp/include" --include_path="C:/Bluetopia/profiles/gavd/include" --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" --define=PART_TM4C123GH6PM -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="startup_ccs.d_raw"  "../startup_ccs.c"
    'Finished building: "../startup_ccs.c"'
     
    'Building target: "A3DPDemo_SNK_EK-TM4C.out"'
    'Invoking: ARM Linker'
    "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armcl" --cmd_file="C:\ti\Connectivity\CC256X BT\CC256x M4 Bluetopia SDK\v1.2 R2\Cortex_M4\BuildScripts\TivaWarePath_EK_TM4C123GXL_CCS.txt"  -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --define=TARGET_IS_BLIZZARD_RB1 --define=DEBUG --define=DEBUG_ENABLED --define=DEBUG_ZONES=DBG_ZONE_ANY --define=__SUPPORT_CC256XB_PATCH__ --define=ccs="ccs" --define=PART_TM4C123GH6PM -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi -z -m"app_TM4C123GH6PM_ccs.map" --heap_size=0 --stack_size=2000 -i"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/lib" -i"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/include" -i"C:/Bluetopia/lib/ccs/NoOS" -i"C:/Bluetopia/profiles/audio/lib/ccs" -i"C:/Bluetopia/profiles/avctp/lib/ccs" -i"C:/Bluetopia/profiles/avrcp/lib/ccs" -i"C:/Bluetopia/profiles/gavd/lib/ccs" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="A3DPDemo_SNK_EK-TM4C_linkInfo.xml" --rom_model -o "A3DPDemo_SNK_EK-TM4C.out" "./A3DPDemo_SNK.obj" "./BTPSKRNL.obj" "./BTPSVEND.obj" "./BTVS.obj" "./HAL.obj" "./HCITRANS.obj" "./Main.obj" "./TivaWareLib.obj" "./startup_ccs.obj" "../A3DPDemo_SNK_EK-TM4C_ccs.cmd"  -ldriverlib.lib -lBluetopia_FP.lib -lSS1BTAUD_FP.lib -lSS1BTAVC_FP.lib -lSS1BTAVR_FP.lib -lSS1BTGAV_FP.lib -llibc.a 
    <Linking>
    'Finished building target: "A3DPDemo_SNK_EK-TM4C.out"'
     
    'Convert TI .out file to .bin'
    "C:/ti/ccsv7/utils/tiobj2bin/tiobj2bin.bat" "A3DPDemo_SNK_EK-TM4C.out" "A3DPDemo_SNK_EK-TM4C.bin" "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armofd.exe" "C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.7.LTS/bin/armhex.exe" "C:/ti/ccsv7/utils/tiobj2bin/mkhex4bin.exe"
     
    
    **** Build Finished ****
    

  • My first suggestion would be to switch to MSP432 as the host, but I understand that may not be viable at this point. If not, do you have a DK-TM4C123G available to test the original application on? That might be useful to make sure all the porting you have done with the HALCFG files has been done correctly. If not, I recommend probing each of the lines of the changes you've made in the HALCFG files to make sure everything is behaving as expected, the fact that the application is getting stuck in OpenStack still leads me to believe this is being caused by the porting.
  • OK, I finally found the cause of the problem: I forgot to paste

        ConsoleIntHandler,                      // UART0 Rx and Tx

    in startup_ccs.c, and that's why OpenStack() failed. Now I see full console and demo actually working. But output frequency of BCK output is too high, about 3.53 MHz instead of 44.1 kHz, so when I plug in external audio codecs quality is too bad: many distortions and so on (for UDA1334A audio is noisy and for PCM5102A there is no audio at all).

    Example of console output:

    OpenStack().
    HCI_VS_InitializeAfterHCIReset
    VS_Update_UART_Baud_Rate success.
    HCI_VS_InitializeAfterHCIReset Success
    Result: 1.
    Bluetooth Stack ID: 1
    A3DP Sink Feature enabled.
    Device Chipset: 4.1
    BD_ADDR: 0xb0b448f49d3c
    Supported formats:
       Frequency: 44100, Channels: 2, Flags: 0
       Frequency: 48000, Channels: 2, Flags: 0
       Frequency: 48000, Channels: 1, Flags: 0
       Frequency: 44100, Channels: 1, Flags: 0
    
    ******************************************************************
    * Command Options: Inquiry, DisplayInquiryList, Pair,            *
    *                  EndPairing, PINCodeResponse, PassKeyResponse, *
    *                  UserConfirmationResponse,                     *
    *                  SetDiscoverabilityMode, SetConnectabilityMode,*
    *                  SetPairabilityMode, SetBaudRate               *
    *                  ChangeSimplePairingParameters,                *
    *                  GetLocalAddress, GetLocalName, SetLocalName,  *
    *                  GetClassOfDevice, SetClassOfDevice,           *
    *                  GetRemoteName, OpenSink, CloseSink,           *
    *                  RemotePlay, RemotePause, RemoteNext,          *
    *                  RemotePrev, Help                              *
    ******************************************************************
    
    A3DP+SNK>opensink
    A3DP Endpoint opened successfully.
    
    A3DP+SNK>
    atLinkKeyRequest: 0x8058f84f9b46
    
    GAP_Authentication_Response success.
    
    A3DP+SNK>
    atIOCapabilityResponse: 0x8058f84f9b46
    Capabilities: Display Yes/No
    
    A3DP+SNK>
    atIOCapabilityRequest: 0x8058f84f9b46
    
    Auth success.
    
    A3DP+SNK>
    atUserConfirmationRequest: 0x8058f84f9b46
    
    Auto Accepting: 454046
    
    GAP_Authentication_Response success.
    
    A3DP+SNK>Un-handled Auth. Event.
    
    A3DP+SNK>
    atLinkKeyCreation: 0x8058f84f9b46
    Link Key Stored.
    
    A3DP+SNK>
    etAUD_Signalling_Channel_Open_Indication
    BD_ADDR:  0x8058f84f9b46
    
    A3DP+SNK>
    etAUD_Stream_Open_Indication
    BD_ADDR:     0x8058f84f9b46
    MediaMTU:    1008
    StreamType:  SNK
    A3DP Open:  0
    Stream Format:
       Frequency: 44100
       Channels:  2
       Flags:     0
    
    A3DP+SNK>
    etAUD_Remote_Control_Open_Indication
    BD_ADDR:     0x8058f84f9b46
    
    A3DP+SNK>
    etAUD_Stream_State_Change_Indication
    BD_ADDR:     0x8058f84f9b46
    StreamType:  SNK
    StreamState: Started
    A3DP Start: 0

    It's happening for both CC256XB patches (default and 1.6). Maybe I should upload AVRCP patch to the CC2564B? In original CC256XB.h file there are only BasePatch and LowEnergyPatch.

  • Yes, you will need the AVRCP patch for audio applications such as A3DP_SNK.
  • I already had added AVRCP patch, but it doesn't seems to help. I've converted initscripts-TIInit_6.7.16_avpr_add-on.bts by Bluetooth Hardware Evaluation Tool. With line

    ret_val = Download_Patch(BluetoothStackID, AvprPatchLength, AvprPatch);

    I think the patch should upload to CC2564B. Debugger shows that ret_val is 1 (success), I also see BasePatch and AvprPatch in the Memory Allocation pane. LowEnergy patch is excluded, as it stands that only one patch should be uploaded at a time. What else did I miss?

  • Do you have complete AVRCP patch? It looks like mine is not correct: there is no difference whether I upload it or not.

  • Hi,

    Please see the CC256XB.h file in the attachment. This file is based on the release version 1.6 of the CC256XB-BT-SP and it was converted to work with the TI Bluetooth stacks for other MCU platforms like the CC256XMS432BTBLESW. But, I am positive that it will work just fine with the Tiva stack release as well.

    Best regards,

    Vihang

    CC256XB_BT_SP_v1.6_C_array.zip

  • Unfortunately, with this patch, the result is still the same (SCLK output frequency is too high). Maybe my copy of BOOST-CC2564MODA is somehow broken. I don't have any DK-TM4C123G or MSP432 board to test.
  • Hi,

    user4299601 said:
    Unfortunately, with this patch, the result is still the same (SCLK output frequency is too high).

    The patch is the service-pack/bug fixes for the CC256xB firmware. It is not expected to resolve any host side issues (or issues related to the audio codec IC) you may have in the first place. I shared the converted file since you raised the need for it.

    user4299601 said:
    Maybe my copy of BOOST-CC2564MODA is somehow broken. I don't have any DK-TM4C123G or MSP432 board to test.

    It is possible. At the same time, the sample applications in the SDK are designed to work out of the box on specific hardware platforms. The specific hardware requirements for the sample applications are very well documented in the SDK User's Guide(s). So please use the recommended hardware that we have tested the sample applications with and then start your porting efforts from there.

    user4299601 said:
    Maybe my post is messed up a bit (or a lot) but when sample demo app just does not work it's frustrating and annoying.

    The sample applications do work out of the box on the hardware that they are designed for. Any porting you have done after that is responsible for the errors you are seeing. So please see my comments above to systematically port the sample applications instead of just winging it.

    Best regards,

    Vihang