rt-thread/bsp/ESP32_C3/README_ZH.md

4.7 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链接的开发板可以调试

安装ESP-IDF

可以使用两种方法安装ESP-IDF

  1. 使用Env工具安装
  • 下载软件包
pkgs --update
  • 安装IDF工具链。如果使用Linux或MacOS系统在命令行内进入到ESP-IDF软件包路径安装IDf工具链。
cd packages/ESP-IDF-latest
./install.sh

如果使用Windows系统打开Command Prompt注意不能使用其他任何命令行如Env命令行和PowerShell。进入BSP目录并执行

install.bat

无论使用任何系统,这一步只需要在下载完软件包后执行一次。

  • 在软件包路径下设置IDF路径。每当在新的命令行编译BSP时需要执行此命令。 如果使用Linux或MacOS系统执行
. export.sh

如果使用Windows系统执行

export.bat

这一步仍然只能使用Command Prompt。

  1. 在本地ESP-IDF加载patch
  • 通过SCons --menuconfig选择
Hardware Drivers Config
    [*] Use local ESP-IDF installation

并取消勾选ESP-IDF软件包

RT-Thread online packages
    peripheral libraries and drivers
        [ ] ESP-IDF: Espressif IoT Development Framework
  • 使用Env工具下载FreeRTOS兼容层
pkgs --update
  • 可以选择其他方式在本地安装ESP-IDFVSCode插件。确保安装的ESP-IDF是master版本。
  • 进入本地ESP-IDF目录执行以下命令
git checkout 5c1044d84d625219eafa18c24758d9f0e4006b2c
# 把rtt.patch换成BSP目录下rtt.patch的正确路径
git am rtt.patch
  • 加载patch后不会影响使用ESP-IDF编译基于FreeRTOS的工程

编译和烧录

  1. 在BSP路径下配置RT-Thread
scons --menuconfig
  1. 每当使用scons --menuconfig更改RT-Thread配置后需要重新生成CMakeLists.txt
scons --target=esp-idf
  1. 如果使用Env安装了ESP-IDF使用idf.py命令编译,烧录。具体参考乐鑫官网。注意如果使用Windows系统idf.py只能在Command Prompt里执行。如果使用了在本地ESP-IDF加载patch的方式可使用其他相应的编译和烧录方法VSCode插件
  2. 下载程序成功之后,系统会运行,红色的 LED灯以 1S 周期闪烁。

注意事项

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

联系人信息

维护人:

特别感谢