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.

RTOS/CC1350: Possible EasyLink bug

Part Number: CC1350

Tool/software: TI-RTOS

Hello:

I am seeing EasyLink_Init() hang when executed from main(). If I move it to a Task, it will complete with no problem, however in my async rx/tx tasks, the callbacks are not being executed (I'm guessing a separate issue which  I have not investigated ). Anyways, my issue is exactly the same as the one previously called out here

Specifically the link bout RF_runCmd(rfHandle, (RF_Op*)&EasyLink_cmdFs, RF_PriorityNormal, 0, //asyncCmdCallback,
EASYLINK_RF_EVENT_MASK);

is what is hanging.

Thanks,

Michael

  • It's not clear from the description how you have implemented the code. A code snippet will be useful. If you want to report something you see as a bug we have to be able to reproduce it easily. A minimum project showing the issue would be ideal.
  • It looks like this might due to some sort of board state issue. I'm seeing the board step into an infinite loop within the HWI handler when attempting to work with the UART registers as well between the Board_initGeneral() and the BIOS_Start(). This happened when using the driverlib functions directly, as well as the TI-RTOS drivers.

    I haven't spent a lot of time trying to understand exactly which interrupt is occurring but after reading through the TRM some more I'm guessing this is related to the peripherals not being fully configured after Board_initGeneral(). I suspect this is why the examples show the xxxInit() function calls within Tasks (due to BIOS_Start() somehow finishing up the board setup such as power domain configuration or what have you).

    WRT your comment, main() would have looked something like this:

    int main()
    {
    Board_initGeneral();

    EasyLink_Init();

    BIOS_Start();

    return 0;
    }
  • As I understand it, EasyLink_init() is dependent on resources that is set up in BIOS_start().

    As shown in the examples, EasyLink_Init() typically is called in a task context, not from main.