FSFW on ESP32 #425

Open
opened 2021-06-04 18:50:31 +02:00 by muellerr · 0 comments
Owner

The ESP32 features 400kB RAM, and a lot of useful libraries which makes it viable as a small and cheap development platform. It uses FreeRTOS as the default operating system. It would be interesting to run the FSFW on this system for that reason. Generally, the ESP-IDF documentation quality seems to be both rich and of high quality, furthermore it is a MCU designed for IoT, so this makes it possible to perform TMTC via Bluetooth/WiFi or use a webserver/ do a lot more fancy stuff. The high documentation quality, number of users and its features also make it a good educational platform.

It uses CMake as a build system which was explicitely designed to make integrating external components (that's even what they call them) as easy as possible. There is also the possibility to treat the IDF as a library.

See: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html#writing-pure-cmake-components

This example c13afea635/examples/build_system/cmake/idf_as_lib is especially interesting. It should in principle be possible to use an own CMakeLists.txt (fsfw example!) and then link against the idf components. At the very least, FreeRTOS is required, but as idf::freertos is linked in the FSFW CMakeLists.txt (I think this is already configurable), the FSFW FreeRTOS code should compile without issues.

The ESP32 features 400kB RAM, and a lot of useful libraries which makes it viable as a small and cheap development platform. It uses FreeRTOS as the default operating system. It would be interesting to run the FSFW on this system for that reason. Generally, the ESP-IDF documentation quality seems to be both rich and of high quality, furthermore it is a MCU designed for IoT, so this makes it possible to perform TMTC via Bluetooth/WiFi or use a webserver/ do a lot more fancy stuff. The high documentation quality, number of users and its features also make it a good educational platform. It uses CMake as a build system which was explicitely designed to make integrating external components (that's even what they call them) as easy as possible. There is also the possibility to treat the IDF as a library. See: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html#writing-pure-cmake-components This example https://github.com/espressif/esp-idf/tree/c13afea635adec735435961270d0894ff46eef85/examples/build_system/cmake/idf_as_lib is especially interesting. It should in principle be possible to use an own `CMakeLists.txt` (fsfw example!) and then link against the idf components. At the very least, FreeRTOS is required, but as `idf::freertos` is linked in the FSFW `CMakeLists.txt` (I think this is already configurable), the FSFW FreeRTOS code should compile without issues.
muellerr added the
feature
label 2021-06-04 18:50:31 +02:00
muellerr changed title from FSFW on EPS32 to FSFW on ESP32 2021-06-04 20:06:02 +02:00
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: fsfw/fsfw#425
No description provided.