9.6us delay in core 1 at rtos tick

srjasz
Posts: 46
Joined: Wed Apr 03, 2024 4:29 pm

9.6us delay in core 1 at rtos tick

Postby srjasz » Thu Jul 18, 2024 3:10 pm

I am running a sensor acquisition and processing loop in a single task on core 1. It is the only task that I have created and runs in an infinite loop. There are three other tasks, IDLE, a timer, and an inter processor communication task that are created during FreeRTOS initialization but only one task created by my code. The loop must complete every 20us and the sensor process takes 15us so in general working well. Every 10ms the rtos tick triggers, and runs, some processing on core 1 that takes 9.6us to complete. When this happens the code is no longer able to complete the 15us sensor process and the 9.6us rtos process within the 20us specification. I need to reduce or eliminate this 9.6us process. I don't know what the scheduler would need to be doing being that there is only one task running.

I have tried using using cooperative scheduling by disabling Preemption and Time Slicing but it didn't make a difference.

I am using an s3.
Any ideas or suggestions would be appreciated.

Thanks

boarchuz
Posts: 605
Joined: Tue Aug 21, 2018 5:28 am

Re: 9.6us delay in core 1 at rtos tick

Postby boarchuz » Thu Jul 18, 2024 5:27 pm

See this and related issues/PRs/forks: https://github.com/espressif/esp-idf/issues/10410

srjasz
Posts: 46
Joined: Wed Apr 03, 2024 4:29 pm

Re: 9.6us delay in core 1 at rtos tick

Postby srjasz » Thu Jul 18, 2024 6:18 pm

Great, thanks.

Who is online

Users browsing this forum: No registered users and 75 guests