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/CC2640R2F: No output from printf() inside main application task -- CC2640R2, CCS, SimpleLink SDK, simple_peripheral example project

Part Number: CC2640R2F

Tool/software: Code Composer Studio

Board in question is a custom design with CC2640R2, checked out example-project called "simple_peripheral" in the Code Composer Studio.

When I put a printf("hello from main()\n"); inside main() function right before the BIOS_start() statement, it prints "[Cortex_M3_0] hello from main()" in console when I build and run the project.

When I put a similar printf statement inside the "SimpleBLEPeripheral_taskFxn" function (it is a TI-RTOS kernel task) - as the first statement, before the loop, nothing is ever printed to the console.

Breakpoints inside the "SimpleBLEPeripheral_taskFxn" function don't ever trigger either.

The code was not changed in other ways than modifying the board file (for the most part commenting things away for the time  being, thought I wold begin reintroducing things there when things work at a basic level).

Any advice on how to get breakpoints/printfs working inside the TI-RTOS kernel tasks, such as "SimpleBLEPeripheral_taskFxn", would be greatly appreciated.

  • Hi Fedor,

    Does the printf in the task have a '\n'? The CIO breakpoint which CCS uses to read the strings is not triggered until a '\n' or it is full.

    Breakpoints should work. Are you sure the task is running? You can look at Tools->ROV->Task Detailed to see the state of each task.

    Todd
  • Thank you for the answer,

    Printf with a '\n' does work other places in other simple_peripheral.c functions (e. g. where the task is constructed).

    I wasn't sure breakpoints would work inside the task functions and it's great to know they do.

    ROV looks like an amazing tool, thank you for the suggestion.

    It seems to me now that the task isn't running.

    I will now try to figure out why a task constructed with `Task_construct(&sbpTask, SimpleBLEPeripheral_taskFxn, &taskParams, NULL);` would not run. Do you perhaps have any comments on that?

    ROV says 'Target memory read failed at address 0x20001f2c, length: 76. This read is at an INVALID address according to the application's section map. The application is likely either uninitialized or corrupt.