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/CC2640R2F: unable to get infomation of user defined tasks in ROV Task Detailed view in IAR

Part Number: CC2640R2F

Tool/software: TI-RTOS

Hi, sir

I could not see the detailed infomation of user defined tasks in iar.

For example , in raw example multi_role:

In the beginning , when iar halt in entry of main, the task view is OK, there is only idle task created.

Then I set a beakpoint after ICall_createRemoteTasks(), remote stack task with priority come up in task view.

After that, GAPRole_createTask() and multi_role_createTask() will not add extra infomation in this view.

I even set breakpoints in the main loop of mutl_role(before entry of ICall_fetchServiceMsg within multi_role_taskFxn), when my xds halt in the breakpoints , there are still two task in the detailed task view(idle task with priority 0 and stack task with priority 5)

Could anyone give me some help?

My sdk is simplelink_cc2640r2_sdk_1_30_00_25 and iar version is 8.11.1.

  • user4809770,
    I can see the source for ICall_createRemoteTasks and can see that that code invokes Task_create, which explains why a task created there is displayed in ROV. However, tasks can be created using different mechanisms and then depending on how a task was created ROV may or may not be able to detect the task. Can you point me to the include or source files for GAPRole_createTask and multi_role_createTask? It could be a bug in ROV or we haven't implemented yet the functionality that would make the tasks created by these functions visible.
  • I am using raw example multi_role in ble stack simplelink_cc2640r2_sdk_1_30_00_25 and did not do any modifications.
    The source file can be found in "examples\rtos\CC2640R2_LAUNCHXL\blestack\multi_role\src\app"

    Here I paste some entry code:

    void GAPRole_createTask(void)
    {
    Task_Params taskParams;

    // Configure task
    Task_Params_init(&taskParams);
    taskParams.stack = gapRoleTaskStack;
    taskParams.stackSize = GAPROLE_TASK_STACK_SIZE;
    taskParams.priority = GAPROLE_TASK_PRIORITY;

    Task_construct(&gapRoleTask, gapRole_taskFxn, &taskParams, NULL);
    }

    void multi_role_createTask(void)
    {
    Task_Params taskParams;

    // Configure task
    Task_Params_init(&taskParams);
    taskParams.stack = mrTaskStack;
    taskParams.stackSize = MR_TASK_STACK_SIZE;
    taskParams.priority = MR_TASK_PRIORITY;

    Task_construct(&mrTask, multi_role_taskFxn, &taskParams, NULL);
    }
  • As much as I can see from the sources, mrTask and gapRoleTask should show up in ROV, but I don't seem to be able to link an app with IAR 8.11 tools and the latest TI-RTOS kernel. Can you attach your complete console output after you clean and rebuild your project?
    Also, if you can post your executable, it could help me to figure out which component of ROV is failing to detect these tasks.
  • OK,here I upload the build log and bin file. In order to minimum the file size, I zip it.

    7444.multi_role.zip

  • I can replicate the problem. Both tasks mrTask and gapRoleTask are constructed tasks, created by calling Task_construct. We found such tasks by parsing the Dwarf sections in the output file, but our Dwarf parser is not complete and whenever IAR starts using some new Dwarf functionality, we need to update the parser.
    There are two workarounds you can try until we fix the bug. The first one is described here:
    rtsc.eclipse.org/.../Runtime_Object_Viewer
    The documentation is written for CCS, but the logic is the same. Create a rov.json file in the same directory where your executable is, and get the object addresses from the map file.
    Another workaround would be to use IAR IDE 7.80, if you can and if it's worth the effort of seeing these two tasks in ROV.

    I'll update this thread once I verify that the cause of the bug is what I guessed above.
  • Thanks for your reply. I will downgrade my project to IAR 7.80 today.
  • I just wanted to confirm that it is a bug. I'll try to get the fix into XDCtools 3.50.2, sometimes in May.
  • You should not use IAR 8.x with the current (as of April/May 2017) SDKs. 

    Check the release notes for supported IAR version.

    IAR 8.x is brand new.  SDKs will be updated to support IAR 8.x in the coming months.