I am running FreeRTOS on an Infineon XMC4500F100K1024. Every once in a while the system tick ISR never gets exectued. During those periods, it seems like no interrupts excute. The only interrupts that are enabled are: Systick, PendSV, and DMA block transfer.
I've managed to set a breakpoint during one of these periods of lack of interrupts. Here are some register values:
I have the kernel priority set to 63 (it then properly gets shifted over by 2). The syscall priority is set to 5. Any idea as to what is happening to the interrupts would be greatly appreciated. I've attached a picture of a GPIO going high upon entering the systick ISR and then low on exiting. It also shows a GPIO going high when taskENTERCRITICAL is called and low when taskEXITCRITICAL is called. This is the only method to turn on/off interrupts. The missing ISRs usually have a period of ~100ms.
Solved the issue. A stack that I integrated was calling gettimeofday. This caused the undefined behaviour I was seeing.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.