yangjie11 95e6b69b8e sync and update all projects (#7138) 2 jaren geleden
..
.vscode ee1e0a0df0 [bsp][esp][esp32c3] add the bsp of esp32c3 (#5869) 3 jaren geleden
drivers 1a7cd8b43f [driver]添加ESP32_C3 I2C驱动 2 jaren geleden
images 11dccf2581 [ESP32-C3]add English README.md. 2 jaren geleden
main 9bc68d26a4 format Kconfig and sconscript 2 jaren geleden
.config 95e6b69b8e sync and update all projects (#7138) 2 jaren geleden
CMakeLists.txt 82bf18b771 ESP32: Support applying patch to local IDF (#6467) 2 jaren geleden
Kconfig 955b8d9ae3 [bsp] update esp32 Kconfig (#6218) 2 jaren geleden
Makefile ee1e0a0df0 [bsp][esp][esp32c3] add the bsp of esp32c3 (#5869) 3 jaren geleden
README.md 89c3bf5f92 ESP32_C3: Improve Readme, fix compile errors/warnings 2 jaren geleden
README_ZH.md 89c3bf5f92 ESP32_C3: Improve Readme, fix compile errors/warnings 2 jaren geleden
SConscript cb7fd304ff ESP32_C3 migrate to ESP-IDF package (#6427) 2 jaren geleden
SConstruct cb7fd304ff ESP32_C3 migrate to ESP-IDF package (#6427) 2 jaren geleden
rtconfig.h 95e6b69b8e sync and update all projects (#7138) 2 jaren geleden
rtconfig.py cb7fd304ff ESP32_C3 migrate to ESP-IDF package (#6427) 2 jaren geleden
rtt.patch 0cf3bcf495 [bsp]fix esp32_c3 compile error (#7107) 2 jaren geleden
sdkconfig cb7fd304ff ESP32_C3 migrate to ESP-IDF package (#6427) 2 jaren geleden

README.md

ESP32-C3 BSP Introduction

中文 | English

This document records the execution instruction of the BSP (board support package) for the ESP32-C3 development board.

The document is covered in two parts:

  • Board Resources Introduction
  • Quickly Get Started

Resources Introduction

We tested 2 development boards, it all works, but due to the different LED pins of the two development boards, so we'll need to select the corresponding development board in the menuconfig.

LUATOS_ESP32C3

hongxu

The mainly-used resources of LUATOS_ESP32C3 are shown as follows:

  • MCU: esp32-c3,Main Frequency 160MHz, 407.22 CoreMark; 2.55 CoreMark/MHz
  • Built-in Chip: 384KB ROM, 400KB SRAM
  • Peripherals
    • Red LED: 2, LED: D4 (IO12), D5(IO13)
    • Button: 2, K1(BOOT) K2(RST)
    • SPI FLASH: 4M
  • Common-used interfaces: USB, UART, etc.

For more details about this board, please refer to Here.

Peripheral Condition

Each peripheral supporting condition for this BSP is as follows:

On-board Peripherals *Support* *Remark*
GPIO Support
UART Support Using LUATOS_ESP32C3 development board requires connecting serial port to USB chip UART0_TX and UART0_RX (such as CP2102)
JTAG debug Support ESP32C3 usb-linked development boards can be debugged

Install ESP-IDF

ESP-IDF can be installed in two ways

  1. Use Env tool
  2. Download the package

    pkgs --update
    
  3. Install IDF tools. If you are using Linux or MacOS, go to ESP-IDF package directory and install IDF tools by running

    cd packages/ESP-IDF-latest
    ./install.sh
    

    If you are using Windows, open Command Prompt. Note that you cannot use any other terminals, such as the Env command line or PowerShell. Enter the BSP directory and run

    install.bat
    

    No matter what operating system you are using, this step only needs to be done once after the package is downloaded for the first time.

  4. Under the ESP-IDF package directory, export IDF environment variables. This commands need to be run every time when the BSP is built in a new terminal. If you are using Linux or MacOS, run

    . export.sh
    

    If you are using Windows, run

    export.bat
    

    Same as the previous step, you can only use Command Prompt.

  5. Apply patch to a local installation of ESP-IDF

  6. Select the below option with SCons --menuconfig

    Hardware Drivers Config
    [*] Use local ESP-IDF installation
    

    And deselect ESP-IDF package

    RT-Thread online packages
    peripheral libraries and drivers
        [ ] ESP-IDF: Espressif IoT Development Framework
    
  7. Install FreeRTOS wrapper

    pkgs --update
    
  8. Any convenient method to install ESP-IDF can be used, such as VSCode plugin. Make sure to install the master version of ESP-IDF.

  9. Enter the local ESP-IDF directory and run the following commands

    git checkout 5c1044d84d625219eafa18c24758d9f0e4006b2c
    # Replace rtt.patch with the actual directory of rtt.patch under the BSP directory
    git am rtt.patch
    
  10. After applying the patch, ESP-IDF FreeRTOS projects can be compiled as usual

    Compile and Upload

  11. Configure RT-Thread under the BSP directory

    scons --menuconfig
    
  12. Whenever RT-Thread configuration is changed with scons --menuconfig, a new CMakeLists.txt needs to be generated with the command below

    scons --target=esp-idf
    
  13. If ESP-IDf is installed using Env, use idf.py to compile and upload the program. Refer to Espressif official documents for reference. Note if you are using Windows, you can only use idf.py commands in Windows Command Prompt. Otherwise follow the appropriate steps depending on how ESP-IDF was installed, such as using VSCode plugin.

  14. Once the project is successfully downloaded, the system runs automatically, the red LED will blink in 1s on cycles.

Notes

  • The basic functions are now supported, but it needs more, welcome any contributions and feedback.

Maintainer:

Special thanks to chenyingchun0312 for providing support on the RISC-V part working.