mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2026-06-12 11:22:23 +08:00
[bsp/esp32c3] add Kconfig
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,22 @@
|
||||
mainmenu "RT-Thread Configuration"
|
||||
|
||||
config BSP_DIR
|
||||
string
|
||||
option env="BSP_ROOT"
|
||||
default "."
|
||||
|
||||
config RTT_DIR
|
||||
string
|
||||
option env="RTT_ROOT"
|
||||
default "../.."
|
||||
|
||||
config PKGS_DIR
|
||||
string
|
||||
option env="PKGS_ROOT"
|
||||
default "packages"
|
||||
|
||||
|
||||
source "$RTT_DIR/Kconfig"
|
||||
source "$PKGS_DIR/Kconfig"
|
||||
source "board/Kconfig"
|
||||
|
||||
+13
-12
@@ -3,7 +3,7 @@
|
||||
|
||||
## 简介
|
||||
|
||||
本文档为 乐鑫ESP32-C3 开发板的[ESP32C3](http://luatos.com/t/esp32c3) BSP (板级支持包) 说明。
|
||||
本文档为基于RT-THREAD的乐鑫ESP32-C3的[ESP32C3](http://luatos.com/t/esp32c3) BSP (板级支持包) 说明。
|
||||
|
||||
主要内容如下:
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
## 开发板介绍
|
||||
|
||||
目前测试了两款开发板,运行都正常,由于两款开发板LED小灯引脚不同,请根据自己开发板修改GPIO引脚,目前默认使用的开发板是LUATOS_ESP32C3 `GPIO 12` (HX 开发板引脚是`GPIO 8`)。已测开发板外观如下图所示:
|
||||
目前测试了两款开发板,运行都正常,由于两款开发板LED小灯引脚不同,请在menuconfig中选择自己手上的开发板。已测开发板外观如下图所示:
|
||||
|
||||
- [LUATOS_ESP32C3](https://wiki.luatos.com/chips/esp32c3/board.html)
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
- 常用外设
|
||||
- 红色LED:2个,LED: D4 (IO12), D5(IO13)
|
||||
- 按键:2个,K1(BOOT) K2(RST)
|
||||
- SPI FLASH: 2M
|
||||
- SPI FLASH: 4M
|
||||
- 常用接口:USB UART等
|
||||
|
||||
开发板更多详细信息请参考 [ESP32-C3开发板介绍](https://wiki.luatos.com/chips/esp32c3/board.html)。
|
||||
@@ -46,18 +46,19 @@
|
||||
| :----------------- | :----------: | :------------------------------------- |
|
||||
| GPIO | 支持 | |
|
||||
| UART | 支持中 | |
|
||||
| JTAG调试 | 支持 | ESP32C3采用USB方式和PC链接的开发板可以调试 |
|
||||
|
||||
## 使用说明
|
||||
|
||||
### 快速上手
|
||||
|
||||
说先要搭建IDE开发环境,乐鑫官方推荐使用IDF开发。
|
||||
先要搭建IDE开发环境,乐鑫官方推荐使用IDF开发,这边建议使用vscode插件。
|
||||
|
||||
IDF的搭建方法有很多种,尝试了很多种方法之后,总结了一个最快速的方法,并且可以使用vscode跨平台安装,非常简单方便,具体方法见链接[ESP-IDF 一键式搭建环境基于VSCODE](https://blog.csdn.net/lt6210925/article/details/123699249)。 安装的时候IDF版本请选择IDF 4.4版本。如果你对官方IDF命令行的方式熟悉的话,你也可以使用命令行的方式,这边已经测试过,是可以使用的。
|
||||
IDF的搭建方法有很多种,尝试了很多种方法之后,总结了一个比较好用的方法,并且可以使用vscode跨平台安装,非常简单方便,具体方法见链接[ESP-IDF 一键式搭建环境基于VSCODE](https://blog.csdn.net/lt6210925/article/details/123699249)。 安装的时候IDF版本请选择IDF 4.4版本。如果你对官方IDF命令行的方式熟悉的话,你也可以使用命令行的方式,直接在`bsp/esp32_c3`中执行`idf.py build`即可,这边已经测试过,是可以使用的。
|
||||
|
||||
### IDF patch加载
|
||||
### ESP-IDF 添加RT-THREAD patch
|
||||
|
||||
由于IDF使用的是FREERTOS需要修改一些文件,将`0001-add-the-config-of-RTTHREAD.patch` 这个文件拷贝到安装的时候的IDF的代码目录,执行命令 下面的命令可以打上patch
|
||||
由于IDF使用的是FREERTOS,如果需要使用rt-thread就需要修改一些文件。将`0001-add-the-config-of-RTTHREAD.patch` 这个文件拷贝到IDF的代码目录下面,然后在`git bash`命令行内执行命令下面几条命令就可以打上patch
|
||||
|
||||
```
|
||||
cd esp/esp-idf
|
||||
@@ -65,13 +66,13 @@ git checkout v4.4
|
||||
git am 0001-add-the-config-of-RTTHREAD.patch
|
||||
```
|
||||
|
||||
如果不想用patch文件,我已经将代码上传到github上面,可以进入[supperthomas/esp-idf](https://github.com/supperthomas/esp-idf) 下载最新的master分支。修改之后的IDF,原来的IDF的example还是正常使用,互不干扰。
|
||||
如果不想用patch文件,已经将代码上传到github上面,可以进入[supperthomas/esp-idf](https://github.com/supperthomas/esp-idf) 下载最新的master分支代码即可。修改之后的IDF,原来的IDF的example还是正常使用,互不干扰,可以放心使用。
|
||||
|
||||
#### 编译下载
|
||||
|
||||
用VSCODE 在bsp/ESP32_C3中右击打开
|
||||
在`bsp/ESP32_C3`中右击,然后使用vscode打开工程
|
||||
|
||||
编译选择最下面的按钮:
|
||||
编译选择最下面的按钮即可:
|
||||
|
||||

|
||||
|
||||
@@ -81,8 +82,8 @@ git am 0001-add-the-config-of-RTTHREAD.patch
|
||||
|
||||
#### 运行结果
|
||||
|
||||
下载程序成功之后,系统会运行,红色的 D4以 1S 周期闪烁。
|
||||
刚接触ESP32, 目前仅实现LED小灯闪烁,可以print打印,后续计划将pin设备和console对接上去,也欢迎大家一起来贡献,感兴趣的可以通过公众号`Thomas的小火车`来联系
|
||||
下载程序成功之后,系统会运行,红色的 LED灯以 1S 周期闪烁。
|
||||
感兴趣的可以通过公众号`Thomas的小火车`来联系
|
||||
|
||||
## 注意事项
|
||||
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
menu "Hardware Drivers Config"
|
||||
|
||||
config SOC_ESP32_C3
|
||||
bool
|
||||
select RT_USING_COMPONENTS_INIT
|
||||
default y
|
||||
|
||||
config SOC_ESPRESSIF
|
||||
bool
|
||||
default y
|
||||
|
||||
choice
|
||||
prompt "Select BSP board "
|
||||
default BSP_BOARD_LUATOS_ESP32C3
|
||||
|
||||
config BSP_BOARD_LUATOS_ESP32C3
|
||||
bool "LUATOS ESP32C3 board"
|
||||
|
||||
config BSP_BOARD_HX_EXP32C3
|
||||
bool "HONGXU ESP32C3 board"
|
||||
endchoice
|
||||
|
||||
menu "Onboard Peripheral Drivers"
|
||||
config RT_BSP_LED_PIN
|
||||
int "LED GPIO PIN SET"
|
||||
default 12 if BSP_BOARD_LUATOS_ESP32C3
|
||||
default 8 if BSP_BOARD_HX_EXP32C3
|
||||
depends on BSP_USING_GPIO
|
||||
|
||||
endmenu
|
||||
|
||||
|
||||
menu "On-chip Peripheral Drivers"
|
||||
config BSP_USING_GPIO
|
||||
bool "Enable GPIO"
|
||||
select RT_USING_PIN
|
||||
default y
|
||||
|
||||
config BSP_USING_UART
|
||||
bool "Enable UART"
|
||||
default n
|
||||
endmenu
|
||||
|
||||
endmenu
|
||||
|
||||
|
||||
@@ -25,9 +25,6 @@ idf_component_register(SRCS "board.c" "main.c"
|
||||
"../../../components/drivers/ipc/ringbuffer.c"
|
||||
"../../../components/drivers/ipc/workqueue.c"
|
||||
|
||||
|
||||
"../../../components/drivers/serial/serial.c"
|
||||
|
||||
INCLUDE_DIRS
|
||||
"../../../components/drivers/include/drivers"
|
||||
|
||||
|
||||
@@ -15,14 +15,13 @@
|
||||
|
||||
int rtt_main(void)
|
||||
{
|
||||
#define BLINK_GPIO 12
|
||||
rt_pin_mode(BLINK_GPIO, PIN_MODE_OUTPUT);
|
||||
rt_pin_mode(RT_BSP_LED_PIN, PIN_MODE_OUTPUT);
|
||||
while (1)
|
||||
{
|
||||
printf("Hello!RT-THREAD!\r\n");
|
||||
rt_pin_write(BLINK_GPIO, PIN_HIGH);
|
||||
rt_pin_write(RT_BSP_LED_PIN, PIN_HIGH);
|
||||
rt_thread_mdelay(1000);
|
||||
rt_pin_write(BLINK_GPIO, PIN_LOW);
|
||||
rt_pin_write(RT_BSP_LED_PIN, PIN_LOW);
|
||||
rt_thread_mdelay(1000);
|
||||
}
|
||||
}
|
||||
|
||||
+32
-39
@@ -19,6 +19,10 @@
|
||||
/* Inter-Thread communication */
|
||||
|
||||
#define RT_USING_SEMAPHORE
|
||||
#define RT_USING_MUTEX
|
||||
#define RT_USING_EVENT
|
||||
#define RT_USING_MAILBOX
|
||||
#define RT_USING_MESSAGEQUEUE
|
||||
|
||||
/* Memory Management */
|
||||
|
||||
@@ -29,45 +33,36 @@
|
||||
|
||||
/* Kernel Device Object */
|
||||
|
||||
#define RT_VER_NUM 0x40004
|
||||
|
||||
#define RT_USING_DEVICE
|
||||
#define RT_VER_NUM 0x40101
|
||||
|
||||
/* RT-Thread Components */
|
||||
|
||||
/* C++ features */
|
||||
|
||||
|
||||
/* Command shell */
|
||||
|
||||
|
||||
/* Device virtual file system */
|
||||
|
||||
#define RT_USING_COMPONENTS_INIT
|
||||
|
||||
/* Device Drivers */
|
||||
|
||||
#define RT_USING_DEVICE_IPC
|
||||
#define RT_USING_PIN
|
||||
|
||||
/* Using USB */
|
||||
|
||||
|
||||
/* POSIX layer and C standard library */
|
||||
/* C/C++ and POSIX layer */
|
||||
|
||||
#define RT_LIBC_DEFAULT_TIMEZONE 8
|
||||
|
||||
/* POSIX (Portable Operating System Interface) layer */
|
||||
|
||||
|
||||
/* Interprocess Communication (IPC) */
|
||||
|
||||
|
||||
/* Socket is in the 'Network' category */
|
||||
|
||||
|
||||
/* Network */
|
||||
|
||||
/* Socket abstraction layer */
|
||||
|
||||
|
||||
/* Network interface device */
|
||||
|
||||
|
||||
/* light weight TCP/IP stack */
|
||||
|
||||
|
||||
/* AT commands */
|
||||
|
||||
|
||||
/* VBUS(Virtual Software BUS) */
|
||||
|
||||
|
||||
/* Utilities */
|
||||
|
||||
@@ -121,9 +116,6 @@
|
||||
/* enhanced kernel services */
|
||||
|
||||
|
||||
/* POSIX extension functions */
|
||||
|
||||
|
||||
/* acceleration: Assembly language or algorithmic acceleration packages */
|
||||
|
||||
|
||||
@@ -148,18 +140,19 @@
|
||||
|
||||
/* entertainment: terminal games and other interesting software packages */
|
||||
|
||||
#define RT_USING_DEVICE
|
||||
#define RT_USING_PIN
|
||||
|
||||
#define RT_USING_SEMAPHORE
|
||||
#define RT_USING_MUTEX
|
||||
#define RT_USING_EVENT
|
||||
#define RT_USING_MAILBOX
|
||||
#define RT_USING_MESSAGEQUEUE
|
||||
/* Hardware Drivers Config */
|
||||
|
||||
#define RT_USING_COMPONENTS_INIT
|
||||
#define RT_DEBUG_INIT 1
|
||||
#define SOC_ESP32_C3
|
||||
#define SOC_ESPRESSIF
|
||||
#define BSP_BOARD_LUATOS_ESP32C3
|
||||
|
||||
/* Onboard Peripheral Drivers */
|
||||
|
||||
#define RT_BSP_LED_PIN 12
|
||||
|
||||
/* On-chip Peripheral Drivers */
|
||||
|
||||
#define BSP_USING_GPIO
|
||||
|
||||
#define RT_USING_SERIAL
|
||||
#define BSP_USING_UART1
|
||||
#endif
|
||||
|
||||
@@ -102,11 +102,11 @@ CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
|
||||
# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set
|
||||
CONFIG_ESPTOOLPY_FLASHFREQ="80m"
|
||||
# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y
|
||||
# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set
|
||||
# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
||||
# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
|
||||
# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE="2MB"
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
|
||||
CONFIG_ESPTOOLPY_BEFORE_RESET=y
|
||||
# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set
|
||||
|
||||
Reference in New Issue
Block a user