FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [February 2017 Threads]
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:
BASEPRI: 0
FAULTMASK: 0
ICSR:
ISRPENDING: 1
PENDSTSET: 0
VECTPENDING: 0
VECTACTIVE: 0
SYST_CSR:
ENABLE: 1
TICKINT: 1
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.