33 lines
1.2 KiB
Markdown
33 lines
1.2 KiB
Markdown
# Building
|
|
|
|
1. Install the ESP-IDF toolchain (See: [Toolchain section](#toolchain]))
|
|
2. Source the environment `source ~/esp/esp-idf/export.sh` (yes i know)
|
|
3. idf.py build
|
|
4. idf.py flash
|
|
|
|
A makefile is provided to somewhat remedy this madness.
|
|
|
|
## Toolchain
|
|
|
|
See: [Standard Toolchain Setup for Linux](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/get-started/linux-macos-setup.html)
|
|
|
|
From the official docs, essentially:
|
|
```sh
|
|
mkdir -p ~/esp
|
|
cd ~/esp
|
|
git clone -b v5.4.2 --recursive https://github.com/espressif/esp-idf.git
|
|
cd ~/esp/esp-idf
|
|
./install.sh esp32 # This is the arch for our mcu (esp-wroom-32)
|
|
```
|
|
|
|
For qemu: (The environment needs to be sourced)
|
|
```sh
|
|
python $IDF_PATH/tools/idf_tools.py install qemu-xtensa
|
|
```
|
|
|
|
## Help and Resources
|
|
|
|
- Espressif docs on the ESP-IDF build system: [Build System](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/build-system.html)
|
|
- Dependencies found here: [ESP Registry](https://components.espressif.com/)
|
|
- Custon FreeRTOS to better facilitate the ESP: [ESP-IDF FreeRTOS](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/system/freertos.html)
|
|
- Vanilla FreeRTOS docs [FreeRTOS Documentation](https://www.freertos.org/Documentation/00-Overview)
|