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.

MCU-PLUS-SDK-AM243X: Priorities of interrupts

Part Number: MCU-PLUS-SDK-AM243X

Hi all,

I am trying to create on the LP-AM243x a small example, how I could have a fix-time interrupts at high frequency (each 200 us) and some FreeRTOS tasks running concurrently on the same core. For that purpose, I used the example empty_am243x-lp_r5fss0-0_freertos_ti-arm-clang. I constructed my example around these 2 functions:

  • 1 IRQ from DMTIMER0 with trigger period of 200 us, which toggles GPIO1_35 output
  • 1 FreeRTOS Task, which uses DebugP_log() to send a  keep alive“ message regularly to my PC

/* timer irq function, called each 200 us with IRQ Prio 2 */
void timer_handler(void *args)
{
    if(GPIO_pinRead(CONFIG_GPIO1_35_BASE_ADDR, CONFIG_GPIO1_35_PIN))
        GPIO_pinWriteLow(CONFIG_GPIO1_35_BASE_ADDR, CONFIG_GPIO1_35_PIN);
    else
        GPIO_pinWriteHigh(CONFIG_GPIO1_35_BASE_ADDR, CONFIG_GPIO1_35_PIN);
}

/* empty_main() run with task prio 15 */
void empty_main(void *args)
{
    /* Open drivers to open the UART driver for console */
    Drivers_open();
    Board_driversOpen();

    while(1)
    {
        ClockP_usleep(1000e3);
        DebugP_log("Hello, I'm alive!\n");
    }


    Board_driversClose();
    Drivers_close();
}

Unfortunately, when I execute such an example, I get in the situation that my DMTIMER0 IRQ is "masked" while Debug_log() is sending the message (which can last more than 150 ms). My first thought was that, there is some interrupt masking within DebugP_log() but I cannot find any evidence in the SDK source code. Then, I guessed that there is a higher-prio interrupt running while DebugP_log() is running. So I tried to find something like that but I couldn't.

So my question is whether anyone knows why DebugP_log() is marking interrupts and how I could avoid that?

Thank your for your time and help.

Br, Nicolas