feat(yml): Add ESP32-P4 and ESP32-C5 support (#4270)

- Add ESP32-P4 and ESP32-C5 support
- Support for compiler options of different floating-point types in various RISC-V chips
This commit is contained in:
ChenWen
2025-05-19 10:33:09 +08:00
committed by GitHub
parent 14d09bfb66
commit f4f33b6a76
4 changed files with 125 additions and 14 deletions

View File

@ -0,0 +1,91 @@
# How to Use WAMR with ESP-IDF
ESP-IDF is the official development framework for Espressif SoCs, supporting Windows, Linux, and macOS. WAMR (WebAssembly Micro Runtime) can be integrated as a standard [ESP-IDF](https://github.com/espressif/esp-idf) component.
## 1. Setup the ESP-IDF Development Environment
This example demonstrates how to use WAMR with ESP-IDF. Before proceeding, ensure you have the ESP-IDF development environment installed. For the relevant process, please refer to ESP-IDF [documents](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/index.html).
### Prerequisites
#### Software Requirements
* ESP-IDF v4.4.0 and above.
#### Hardware Requirements
* A development board with one of the following SoCs:
- ESP32
- ESP32-C3
- ESP32-S3
- ESP32-C6
- ESP32-P4
- ESP32-C5
* See [Development Boards](https://www.espressif.com/en/products/devkits) for more information about it.
> Note: Different chips require different ESP-IDF versions, please check [ESP-IDF Release and SoC Compatibility](https://github.com/espressif/esp-idf?tab=readme-ov-file#esp-idf-release-and-soc-compatibility) before proceeding.
### Installation Steps
1. Navigate to the ESP-IDF root directory.
2. Run the installation script based on your OS:
- Linux/MacOS
```
./install.sh
```
- Windows
```
./install.bat
```
3. If successful, you should see:
```
All done! You can now run:
. ./export.sh
```
## 2. Compiling and Running the Project
### Set the Target Chip
Switch to the project directory and specify the target chip:
```bash
idf.py set-target <chip_name>
```
### Configure the project
Open the configuration menu:
```bash
idf.py menuconfig
```
To modify WAMR settings, navigate to: `Component config -> WASM Micro Runtime`
### Build and Flash
Run the following command to compile, flash, and monitor the application:
```bash
idf.py -p PORT flash monitor
```
(To exit the serial monitor, type ``Ctrl-]``.)
See the [Getting Started Guide](https://idf.espressif.com/) for full steps to configure and use ESP-IDF to build projects.

View File

@ -7,16 +7,20 @@ ESP32_TARGET="esp32"
ESP32C3_TARGET="esp32c3"
ESP32S3_TARGET="esp32s3"
ESP32C6_TARGET="esp32c6"
ESP32P4_TARGET="esp32p4"
ESP32C5_TARGET="esp32c5"
usage ()
{
echo "USAGE:"
echo "$0 $ESP32_TARGET|$ESP32C3_TARGET|$ESP32S3_TARGET"
echo "$0 $ESP32_TARGET|$ESP32C3_TARGET|$ESP32S3_TARGET|$ESP32C6_TARGET|$ESP32P4_TARGET|$ESP32C5_TARGET"
echo "Example:"
echo " $0 $ESP32_TARGET"
echo " $0 $ESP32C3_TARGET"
echo " $0 $ESP32S3_TARGET"
echo " $0 $ESP32C6_TARGET"
echo " $0 $ESP32P4_TARGET"
echo " $0 $ESP32C5_TARGET"
exit 1
}
@ -26,12 +30,18 @@ fi
TARGET=$1
if [ "$TARGET" = "$ESP32C5_TARGET" ]; then
IDF_ST_CMD="idf.py --preview set-target $TARGET"
else
IDF_ST_CMD="idf.py set-target $TARGET"
fi
if [[ -z "${WAMR_PATH}" ]]; then
export WAMR_PATH=$PWD/../../..
fi
rm -rf build
idf.py set-target $TARGET
$IDF_ST_CMD
idf.py build
idf.py flash