Hi TI Team,
we are currently facing some Problems with the CCS log mechanism.
It looks like the logging blocks the whole system for about 130ms, including interrupts.
We are using the ccs log via jtag with the ccs console.
CCS Version: 11.1.0.00011
To show the problem, we adapted the empty FreeRTOS project to toggle a GPIO with the HW Timer.
In the FreeRTOS task, we are printing a log every second.
uint32_t u32CurrentState = 0; void TimerCallback() { if(u32CurrentState == 0) { GPIO_pinWriteHigh(CONFIG_GPIO0_BASE_ADDR, CONFIG_GPIO0_PIN); u32CurrentState = 1; } else { GPIO_pinWriteLow(CONFIG_GPIO0_BASE_ADDR, CONFIG_GPIO0_PIN); u32CurrentState = 0; } TimerP_clearOverflowInt(gTimerBaseAddr[CONFIG_TIMER0]); HwiP_clearInt(CONFIG_TIMER0_INT_NUM); } void empty_main(void *args) { /* Open drivers to open the UART driver for console */ Drivers_open(); Board_driversOpen(); GPIO_setDirMode(CONFIG_GPIO0_BASE_ADDR, CONFIG_GPIO0_PIN, GPIO_DIRECTION_OUTPUT); while(1) { DebugP_log("This print blocks the system\r\n"); vTaskDelay(1000); } DebugP_log("All tests have passed!!\r\n"); Board_driversClose(); Drivers_close(); }
As long as we are connected to de debugger, the gpio oscillation stops every second for about 130ms.
So it seems that interrupts are disabled in this phase. This leads to the problem, that the FreeRTOS scheduling is also blocked for that time.
Is there a way to fix this behavior?
Best regards,
Tobias