跳转到内容

esp32-devel

esp32-devel 把 xmake 变成一套 ESP32 SDK:交叉工具链、构建规则、烧写和 blink 模板,装一次全都有。

载荷提供什么
toolchains/esp32所选开发板的交叉工具链(risc-v)
rules/app链接预编译的 esp-idf 库、生成可启动镜像,xmake install 时烧写
includes/boardboard/port/baud 等选项,以及 sdk 包的绑定
templates/c/esp32.blinkxmake create -t esp32.blink
modules/private/*板级表、sdk 配方读取和烧写器

支持的开发板:esp32c3。应用是链接 预编译的 esp-idf 库,方式和 Arduino、PlatformIO 一致 —— 不需要编译 esp-idf 源码 —— 入口就是 esp-idf 原生的 void app_main(void)

安装

sh
$ xmake addon --install esp32-devel

它依赖 serial-tools,会被一并装上。

创建并构建工程

sh
$ xmake create -t esp32.blink -l c blink
$ cd blink
$ xmake f --board=esp32c3
$ xmake

构建会生成 elf,以及三个可烧写镜像:bootloader、分区表和应用。

烧写和串口

sh
$ xmake install                    # 烧写,串口自动探测
$ xmake run                        # 烧写完顺带打开串口监视
$ xmake f --port=/dev/ttyUSB0 --baud=460800

在自己的工程里使用

lua
add_addons("esp32-devel")
includes("@addon/esp32-devel/board")

target("blink")
    add_rules("@addon/esp32-devel/app")
    add_files("src/*.c")
参数默认值说明
--boardesp32c3目标开发板
--port自动探测串口
--baud460800烧写波特率
--monitor_baud115200串口监视波特率

已知限制

xtensa 系列(esp32/esp32s3)暂不支持。