跳到主要内容

5.5 适配新板

需要适配新的开发板?

ESP-Claw 使用 ESP Board Manager 适配多种开发板。

下面教程仅供简单参考,如需添加其他开发板,请先参考 ESP Board Manager 文档, 将开发板适配文件存放到 application/basic_demo/boards

1. 支持的板子路径

ESP Board Manager 能够模块化自定义板子,支持将自定义板子文件放在以下三种不同的路径,为不同的部署场景提供灵活性:

  1. 主板级目录: 随组件提供的内置板子,路径如 esp_board_manager/boards
  2. 用户项目组件: 在项目组件中定义的自定义板子,路径如 {PROJECT_ROOT}/components/board_name,可参考: esp_board_manager/test_apps/components/test_board_e/
  3. 自定义路径: 自定义位置的外部板子定义,如 esp_board_manager/test_apps/test_single_board,执行命令时需要通过 -c 参数指定路径来设置自定义路径 idf.py bmgr -c test_single_board -l(旧命令:idf.py gen-bmgr-config -c test_single_board -l

仓库内提供了一个 常用设备的配置模板文档,便于迅速查看及获取常用设备的 yaml 配置文件常用配置模板

注意

如果使用从组件仓库自动下载 ESP Board Manager 组件,不建议直接在主板级目录下直接创建自定义板子,避免清理组件时误删除自定义板子配置

2. 创建新板子

基于已有配置修改

用户可以从主板级目录复制相似的板子文件到项目目录,然后根据实际使用的板子进行修改(推荐),可以参考以下内容来验证 验证和使用新板子

2.1 使用脚本创建

使用 ESP Board Manager 提供的脚本自动创建板子,执行脚本可以根据所选择的外设和设备,自动查找并复制 所需配置,省去手动从对应文件夹复制配置信息的步骤,使用方法如下:

执行脚本后需要根据提示依次选择 芯片、设备及外设,脚本会自动检查设备对外设的依赖关系,如果缺少外设,脚本会提示您进行补充,直到所有依赖都得到满足

cd esp-claw/application/edge_agent

# 在默认路径创建板子(默认路径为 {PROJECT_ROOT}/components/<board_name>):
idf.py bmgr -n <board_name>

# 在自定义路径创建板子:
idf.py bmgr -n path/to/board/<board_name>

espclaw-3

2.2 选择芯片

espclaw-3

2.3 填写开发板的制造商名称

不输入内容直接按回车键,将使用默认值:乐鑫(ESPRESSIF)

espclaw-3

2.4 选择设备

提示

不同的芯片所支持的设备也不同

输入设备编号(以空格分隔,直接按回车跳过)

espclaw-3

2.5 选择外设

提示

不同的芯片所支持的外设也不同

输入外设编号(以空格分隔,直接按回车跳过)

espclaw-3

3. 检查配置文件

注意
  • 进行后续操作前,需要手动 检查并修改 board_devices.yamlboard_peripherals.yaml 配置文件以满足实际板子的需求,重点关注有 [IO][TO_BE_CONFIRMED] 关键字的配置项
  • 请检查设备及外设的名称,确保没有同名的设备或外设
  • 只有芯片能够支持的设备和外设才会出现在脚本的选项中
重要

设备通过命名来查找依赖的外设,请确保设备依赖的外设均被添加到 board_peripherals.yaml 中,并且在 board_devices.yaml 的设备配置里所填写的外设 nameboard_peripherals.yaml 中对应的 name 完全一致,并且外设命名 必须以类型作为开头

例如

# board_devices.yaml
- name: led_green
type: gpio_ctrl
config:
...
peripherals:
- name: gpio_led_g

# board_peripherals.yaml
- name: gpio_led_g
type: gpio
config:
...

esp-claw

提示

要了解更多的配置文件的说明,可以参考说明

提示

适配以及验证完成后,可以参考 5.2 源码烧录,来烧录验证新适配的板子。