rt-thread/bsp/ESP32_C3/README_ZH.md

4.4 KiB
Raw Blame History

ESP32-C3 BSP 说明

中文 | English

简介

本文档为基于RT-THREAD的乐鑫ESP32-C3的ESP32C3 BSP (板级支持包) 说明。

主要内容如下:

  • 开发板资源介绍
  • BSP 快速上手

通过阅读快速上手章节开发者可以快速地上手该 BSP将 RT-Thread 运行在开发板上。

开发板介绍

目前测试了两款开发板运行都正常由于两款开发板LED小灯引脚不同请在menuconfig中选择自己手上的开发板。已测开发板外观如下图所示

LUATOS_ESP32C3

hongxu

该LUATOS_ESP32C3开发板常用 板载资源 如下:

  • MCUesp32-c3,主频 160MHz 407.22 CoreMark; 2.55 CoreMark/MHz
  • 芯片内置384KB ROM, 400KB SRAM,
  • 常用外设
    • 红色LED2个LED: D4 (IO12), D5IO13
    • 按键2个K1BOOT K2(RST)
    • SPI FLASH: 4M
  • 常用接口USB UART等

开发板更多详细信息请参考 ESP32-C3开发板介绍

外设支持

本 BSP 目前对外设的支持情况如下:

片上外设 支持情况 备注
GPIO 支持
UART 支持 使用LUATOS_ESP32C3开发板需要在UART0_TX和UART0_RX连接串口转USB芯片如CP2102
JTAG调试 支持 ESP32C3采用USB方式和PC链接的开发板可以调试

环境搭建及编译

  1. 下载 RISC-V 工具链:

    wget https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-linux-amd64.tar.xz
    tar xf riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-linux-amd64.tar.xz
    
  2. 配置工具链的路径:

    rtconfig.py文件中将RISC-V工具链的本地路径添加到EXEC_PATH变量中,或者通过设置 RTT_EXEC_PATH环境变量指定路径,例如:

    export RTT_EXEC_PATH=/opt/riscv32-esp-elf/bin
    
  3. 编译

    安装 esptool 用于转换 ELF 文件为二进制烧录文件:

    pip install esptool
    

    在 Linux 平台下执行以下命令进行配置:

    scons --menuconfig
    

    它会自动下载env相关脚本到~/.env目录,然后执行:

    source ~/.env/env.sh
    
    cd bsp/ESP32_C3/
    pkgs --update
    

    它会自动下载RT-Thread-packages/esp-idfRT-Thread-packages/FreeRTOS-Wrapper,更新完软件包后,执行 scons 来编译这个板级支持包。

    如果编译成功,将生成rtthread.elfrtthread.bin文件。

下载烧录

  1. 烧录工具下载

    当前bsp测试使用flash_download_tool_3.9.4工具进行烧录无误。

    烧录工具下载地址:https://www.espressif.com.cn/sites/default/files/tools/flash_download_tool_3.9.4_0.zip

  2. 烧录工具配置

    芯片型号选择ESP32-C3

    将二进制文件与偏移地址配置如下:

    二进制文件 偏移地址
    bootloader.bin 0x0
    partition-table.bin 0x8000
    rtthread.bin 0x10000

    其中bootloader.binpartition-table.bin可在bsp/ESP32_C3/builtin_imgs文件夹下找到,配置完成后截图如下,之后点击START即可下载。

    flash_download_tools

注意事项

  • 目前RTTHREAD支持起来了后续会需要继续完善一些其他功能刚开始使用ESP32欢迎小伙伴一起来讨论和贡献。感兴趣的可以通过公众号Thomas的小火车来联系

联系人信息

维护人:

特别感谢