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/CC1350: how to run the uart emulation code of sensor controller

Part Number: CC1350

Tool/software: Code Composer Studio

Hi,

1)uart emulation code Build is working but while debugging i am getting error 

Cortex_M3_0: Failed Board Reset: (Error -600 @ 0x0) A required dynamic library could not be located. The library isn't on the search path. (Emulation package 8.0.27.9) 
IcePick_C: Error connecting to the target: (Error -600 @ 0x0) A required dynamic library could not be located. The library isn't on the search path. (Emulation package 8.0.27.9) 

2) And i tried to create a new project there build and debug both are working but echo of data is not working means data is not transmitting and in ccs while running it going in to  scCtrlReadyCallback() function but after that it is not going in to scTaskAlertCallback() function

3)In sensor controller studio for uart only one function is there but i need tx and rx API for uart .If it is there please provide

Regards

KUMUDA 

  • Hi,

    Regarding the first question, I can tell this error is usually related to the XDS100-class of Debug Probes. Are you sure you are using this Debug Probe?

    The reason of my question is that typicially the CC1350 development boards (Launchpads) are shipped with XDS110-class of Debug Probes.

    At any rate, additional suggestions can be found at the reference below. Simply search for the error code "600" for details.

    dev.ti.com/.../

    I will defer the other questions to the CC1350 device experts.

    Regards,
    Rafael
  • Hi Rafael,

    yes, i am using XDS100-class debug Probe.

    Regards
    Kumuda
  • Hi,
    now i am getting one more error

    Error connecting to the target:
    (Error -151 @ 0x0)
    One of the FTDI driver functions used during the connect
    returned bad status or an error. The cause may be one or
    more of: no XDS100 is plugged in, invalid XDS100 serial number,
    blank XDS100 EEPROM, missing FTDI drivers, faulty USB cable.
    Use the xds100serial command-line utility in the 'common/uscif'
    folder to verify the XDS100 can be located.

    And please give the answer for previous 2nd and 3rd question

    Regards
    Kumuda
  • 2) Could you please provide code that shows how you have implemented this?

    3) Have you looked at the documentation here: software-dl.ti.com/.../uart_emulator__0.html
  • 1)now debug is working for default code but I can not receive or Transfer any data, why?
    2)here i pasted my complete code
    #include "ex_include_tirtos.h"
    #include "scif.h"


    #define BV(n) (1 << (n))


    // Display error message if the SCIF driver has been generated with incorrect operating system setting
    #if !(defined(SCIF_OSAL_TIRTOS_H) || defined(SCIF_OSAL_TIDPL_H))
    #error "SCIF driver has incorrect operating system configuration for this example. Please change to 'TI-RTOS' or 'TI Driver Porting Layer' in the Sensor Controller Studio project panel and re-generate the driver."
    #endif

    // Display error message if the SCIF driver has been generated with incorrect target chip package
    #ifndef SCIF_TARGET_CHIP_PACKAGE_QFN48_7X7_RGZ
    #error "SCIF driver has incorrect target chip package configuration for this example. Please change to 'QFN48 7x7 RGZ' in the Sensor Controller Studio project panel and re-generate the driver."
    #endif


    // Task data
    Task_Struct myTask;
    Char myTaskStack[1024];


    // Semaphore used to wait for Sensor Controller task ALERT event
    static Semaphore_Struct semScTaskAlert;




    void scCtrlReadyCallback(void) {

    } // scCtrlReadyCallback




    void scTaskAlertCallback(void) {

    // Wake up the OS task
    Semaphore_post(Semaphore_handle(&semScTaskAlert));

    } // scTaskAlertCallback




    void taskFxn(UArg a0, UArg a1) {

    // Initialize the Sensor Controller
    scifOsalInit();
    scifOsalRegisterCtrlReadyCallback(scCtrlReadyCallback);
    scifOsalRegisterTaskAlertCallback(scTaskAlertCallback);
    scifInit(&scifDriverSetup);

    // Start the UART emulator
    scifExecuteTasksOnceNbl(BV(SCIF_UART_EMULATOR_TASK_ID));

    // Enable baud rate generation
    scifUartSetBaudRate(57600);

    // Enable RX (10 idle bit periods required before enabling start bit detection)
    scifUartSetRxFifoThr(SCIF_UART_RX_FIFO_MAX_COUNT / 2);
    scifUartSetRxTimeout(10 * 2);
    scifUartSetRxEnableReqIdleCount(10 * 2);
    scifUartRxEnable(1);

    // Enable events (half full RX FIFO or 10 bit period timeout
    scifUartSetEventMask(BV_SCIF_UART_ALERT_RX_FIFO_ABOVE_THR | BV_SCIF_UART_ALERT_RX_BYTE_TIMEOUT);

    // Main loop
    while (1) {

    // Wait for an ALERT callback
    Semaphore_pend(Semaphore_handle(&semScTaskAlert), BIOS_WAIT_FOREVER);

    // Clear the ALERT interrupt source
    scifClearAlertIntSource();

    // Echo all characters currently in the RX FIFO
    int rxFifoCount = scifUartGetRxFifoCount();
    while (rxFifoCount--) {
    scifUartTxPutChar((char) scifUartRxGetChar());
    }

    // Clear the events that triggered this
    scifUartClearEvents();

    // Acknowledge the alert event
    scifAckAlertEvents();
    }

    } // taskFxn




    int main(void) {
    Task_Params taskParams;

    // Initialize the PIN driver
    PIN_init(BoardGpioInitTable);

    // Configure the OS task
    Task_Params_init(&taskParams);
    taskParams.stack = myTaskStack;
    taskParams.stackSize = sizeof(myTaskStack);
    taskParams.priority = 3;
    Task_construct(&myTask, taskFxn, &taskParams, NULL);

    // Create the semaphore used to wait for Sensor Controller ALERT events
    Semaphore_Params semParams;
    Semaphore_Params_init(&semParams);
    semParams.mode = Semaphore_Mode_BINARY;
    Semaphore_construct(&semScTaskAlert, 0, &semParams);

    // Start TI-RTOS
    BIOS_start();
    return 0;

    } // main
    3)yes, they provided only single function but i need tx and rx API for sensor controller uart
  • Closing this thread since question 2 and 3 are moved to e2e.ti.com/.../764315

    If you still have question related to nr 1 please post this in this thread.