2 core enable in esp32.
2 core enable in esp32.
Is it possible to safely enable 2 core in esp32 in the latest version 1.14? The shutdown was due to a problem with ble init, in esp-idf 4.2 I see that it already works, can I turn it on without fear?
Re: 2 core enable in esp32.
I don't think it's been tested, but yes if you're using IDF 4.2, then you can probably run MicroPython on either core.
However, you still need to run Bluetooth on the same core.
i.e. MP_TASK_COREID needs to be the same as CONFIG_BT_NIMBLE_PINNED_TO_CORE, but they don't need to be zero.
Re: 2 core enable in esp32.
Ok. Are there any differences in speed or performance if MP is assigned to core 0 or 1?
And one more question, is it possible to declare on which core the MP should be, after compiling the firmware?
Thanks.
And one more question, is it possible to declare on which core the MP should be, after compiling the firmware?
Thanks.
Re: 2 core enable in esp32.
Yes, it's faster when it runs on a different core to the system functionality (e.g. wifi).
I realise the current situation is a bit sub-optimal, but it's currently known to work, which is why MicroPython is using it. Now that we've moved to the new build system for ESP32, somebody needs to spend some time properly researching this across the different configurations (wifi, ble, different IDF versions) and come up with a recommendation for how to improve it in the future.
No, this can only be set at compile time.
Re: 2 core enable in esp32.
I checked with 1.14 and 4.2 idf. This works, but there is a problem because some operations like writing to a file and simultaneous ble connection, esp will freezes without any messages.