Is there any reference to what runs on each of the cores of the ESP32 under a normal arduino application?
Looks like the Arduino setup & loop are on core 1. The Ethernet callback function also seems to end up on core 1 (i.e. I'm using AsyncUDP, and the onPacket routine says it is on core 1). I believe the RF stack is supposed to be on core 0.
I was hoping to toss the callback routine onto core 0, but don't see an obvious mechanism to do it - is there a mechanism? Registering the callback routine via a thread running on core 0 didn't seem to do it.
Yes, my callback routine is fairly efficient, but I'd like to keep core 1 doing just the Arduino "loop" stuff if possible.
Thanks!
What runs on each core? And can you force ethernet callback routines onto core 0?
-
- Posts: 20
- Joined: Fri Jul 26, 2019 5:50 pm
-
- Posts: 828
- Joined: Mon Jul 22, 2019 3:20 pm
Re: What runs on each core? And can you force ethernet callback routines onto core 0?
https://github.com/espressif/arduino-es ... fig.h#L112
You can grep through the code for xTaskCreate to see which tasks use which core. They are controlled through sdkconfig.h, or you can pass them as -D build parameters.
You can grep through the code for xTaskCreate to see which tasks use which core. They are controlled through sdkconfig.h, or you can pass them as -D build parameters.
-
- Posts: 166
- Joined: Wed Aug 01, 2018 12:06 pm
Re: What runs on each core? And can you force ethernet callback routines onto core 0?
Use xTaskCreatePinnedToCore(), internet search time. BTW xTaskCreatePinnedToCore works just like xTaskCreate().
-
- Posts: 22
- Joined: Mon Feb 12, 2018 6:50 pm
Who is online
Users browsing this forum: No registered users and 38 guests