乐鑫技术交流
直播中

陈文博

8年用户 988经验值
擅长:测量仪表
私信 关注
[问答]

如何在zephyr上使能esp32-c3内置的USB串口?

如题,请问如何在zephyr上使能esp32-c3内置的 USB 串口。

回帖(2)

莫联雪

2024-6-12 16:11:46
在devicetree中使能usb串口并将其作为默认的console即可使能内置串口。
举报

刘高

2024-6-12 17:33:35
要在Zephyr RTOS上使能ESP32-C3的内置USB串口,您需要按照以下步骤操作:

1. 确保您已经安装了Zephyr RTOS的开发环境。如果您还没有安装,请访问Zephyr的官方网站(https://www.zephyrproject.org/)以获取安装指南。

2. 下载并安装Espressif的ESP-ADF(Audio Development Framework)和ESP-IDF(IoT Development Framework)。这些框架提供了对ESP32-C3的支持和驱动程序。

3. 克隆Zephyr RTOS的源代码库:

```
git clone https://github.com/zephyrproject-rtos/zephyr.git
```

4. 进入Zephyr源代码目录:

```
cd zephyr
```

5. 初始化并更新子模块:

```
./scripts/zephyr-env.sh
west update
```

6. 选择ESP32-C3的板级支持包(BSP):

```
west espressif download
```

7. 配置您的项目。首先,创建一个新的应用程序目录:

```
mkdir -p samples/hello_world
cd samples/hello_world
```

8. 创建一个新的C源文件,例如`main.c`,并添加以下代码:

```c
#include
#include
#include
#include

void main(void)
{
    const struct device *dev = device_get_binding("UART_0");
    if (dev == NULL) {
        printf("Failed to get UART_0 devicen");
        return;
    }

    while (1) {
        const char *msg = "Hello, ESP32-C3 USB Serial Port!rn";
        printk("%s", msg);
        dev->driver_api->write(dev, msg, strlen(msg));
        k_sleep(K_SECONDS(1));
    }
}
```

9. 创建一个新的Kconfig文件,例如`prj.conf`,并添加以下配置:

```
CONFIG_BOARD="esp32c3_devkitm_1"
CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_0"
CONFIG_USB_DEVICE_STACK=y
CONFIG_USB_DEVICE_VID="0x303A"
CONFIG_USB_DEVICE_PID="0x0006"
CONFIG_USB_DEVICE_PRODUCT="ESP32-C3 USB Serial Port"
```

10. 编译您的项目:

```
west build -b esp32c3_devkitm_1 -d build
```

11. 将编译生成的固件烧录到您的ESP32-C3开发板。您可以使用以下命令:

```
west flash
```

12. 打开一个串口终端程序,例如PuTTY或Minicom,配置波特率为115200,连接到ESP32-C3的USB串口。

13. 重新启动您的ESP32-C3开发板。您应该在串口终端上看到“Hello, ESP32-C3 USB Serial Port!”的消息。

通过以上步骤,您应该已经成功地在Zephyr RTOS上使能了ESP32-C3的内置USB串口。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分