Closed genie-ltran closed 2 years ago
When you use amazon-freertos
, the FreeRTOS-Kernel used is the official version which does not have SMP support in main yet. Can you write your application such that it consumes esp-idf
and our libraries? This way you will be able to use SMP features available in esp-idf kernel and will able to independently update idf and libraries. You can take a look at this repo for an example - https://github.com/FreeRTOS/Labs-Project-Espressif-Demos.
What I want to do is rather urgent. When can we expect the SMP feature to be implemented? From what I can see you're still on v3.3.6 of Espressif's libraries which they've since stop supporting as of 2 weeks ago according to the documentation page of their website.
Did you take a look at the repo I mentioned above? What else would you need for your application?
Sorry, I didn't fully grasp what you were trying to convey before. I understand now. Let me see how much effort this will take. I'm trying to stick with amazon-freertos, because it's requires much less work on my part to get it running. I didn't realize how out of sync it was with Espressif's source.
I'm using the MQTT demo which works as expected. First, I'm using the amazon-freertos repo as a submodule as outlined in "https://github.com/aws/amazon-freertos/issues/2978". This works. I added threads to do a low latency decoding of proprietary signals on pins. My problem is that I'm attempting to pin this thread to the app_cpu for this thread instead of the core_cpu. Except, that when I use the xTaskCreatePinnedToCore(), the thread itself is reporting that it's still running in the pro_cpu. I figured out through a lot of searching online that I had to override the directive "CONFIG_FREERTOS_UNICORE" which I've tried with:
cmake -S . -B build-directory -DIDF_SDKCONFIG_DEFAULTS= -DCMAKE_TOOLCHAIN_FILE=freertos/tools/cmake/toolchains/xtensa-esp32.cmake -GNinja
I did this no result. It keeps reverting the code that forces the directive in the sdkconfig.h file to "#define CONFIG_FREERTOS_UNICORE 1".
I tried "idf.py menuconfig", but I couldn't find the option to select multicore under the freertos component list.
No IDE. Windows command line. IDF version: v3.3 - "git checkout -f tags/202012.01" project: mqtt_demo_mutual_auth
Can someone explain to me how to force dual core mode and where the setting for this feature is?
Thank you.