Q: application CPU and handling of events from protocol CPU
Posted: Thu Oct 25, 2018 9:17 am
Hello.
Newbie questions in context of using the processors on ESP32.
* As I understand CPU0 is assigned for processing protocols (e.g. Wifi, BT, I2C, etc), and CPU1 is for application. Is this my understanding correct? If yes, how about when using the Arduino framework?
* How is the protocol CPU processing modeled? To elaborate the question using an example: when a Bluetooth data packet is received, it somehow is processed on CPU0 only. But then how is it made available for application - is the packet given to the application for processing on CPU0, or is it posted such that the processing occurs only on CPU1?
I am attempting to determine whether or not in the application code I need to use mutexes/locks/semaphores/synchronization to prevent multi threading issues.
Newbie questions in context of using the processors on ESP32.
* As I understand CPU0 is assigned for processing protocols (e.g. Wifi, BT, I2C, etc), and CPU1 is for application. Is this my understanding correct? If yes, how about when using the Arduino framework?
* How is the protocol CPU processing modeled? To elaborate the question using an example: when a Bluetooth data packet is received, it somehow is processed on CPU0 only. But then how is it made available for application - is the packet given to the application for processing on CPU0, or is it posted such that the processing occurs only on CPU1?
I am attempting to determine whether or not in the application code I need to use mutexes/locks/semaphores/synchronization to prevent multi threading issues.