Skip to content

Add esp-idf port sources to example compatible with QP-C v7.3.4 #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions esp-idf/dpp-esp32devkitc/components/qp-c/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ set(required_modules "freertos")

set(qpc_path "../../../../../")

set(src_dirs ${qpc_path}/ports/esp-idf
set(src_dirs ports/esp-idf
${qpc_path}/src/qf
${qpc_path}/include
)

set(include_dirs ${qpc_path}/include
${qpc_path}ports/esp-idf
${qpc_path}/src
ports/esp-idf
)

if(CONFIG_QPC_QSPY_ENABLE)
Expand Down
29 changes: 29 additions & 0 deletions esp-idf/dpp-esp32devkitc/components/qp-c/ports/esp-idf/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
This directory contains the "experimental" port to the [Espressif ESP-IDF][1]
IoT Framework, which is loosely based on the [FreeRTOS kernel][2].


---------------------------------------------------------------------------
# About QP/C Port to ESP-IDF
"Experimental" means that the port has not been thouroughly tested at
Quantum Leaps and no working examples are provided.


---------------------------------------------------------------------------
# About Espressif ESP-IDF

The [Espressif ESP-IDF][1] is based on a
[significantly changed version of the FreeRTOS kernel][3]
developed by Espressif to support the ESP32 multi-core CPUs (see [ESP-IDF][1]).

The Espressif version of FreeRTOS is __NOT__ compatible with the baseline [FreeRTOS][2]
and it needs to be treated as a separate RTOS kernel. According to the comments
in the Espressif source code, FreeRTOS-ESP-IDF is based on FreeRTOS V8.2.0, but
apparently FreeRTOS-ESP32 has been updated with the newer features introduced to
the original FreeRTOS in the later versions. For example, FreeRTOS-ESP-IDF supports
the "static allocation", first introduced in baseline FreeRTOS V9.x. This QP port
to FreeRTOS-ESP-IDF takes advantage of the "static allocation".


[1]: https://www.espressif.com/en/products/sdks/esp-idf
[2]: https://freertos.org
[3]: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/freertos.html
Loading