esp32 idf中的外部组件

通常外部组件都定义在“main/idf_component.yml”里面。
例如小智智能语音的外部组件:

## IDF Component Manager Manifest File
dependencies:
  waveshare/esp_lcd_sh8601: "1.0.2"
  espressif/esp_lcd_ili9341: "==1.2.0"
  espressif/esp_lcd_gc9a01: "^2.0.1"
  espressif/esp_lcd_st77916: "^1.0.1"
  espressif/esp_lcd_spd2010: "==1.0.2"
  espressif/esp_io_expander_tca9554: "==2.0.0"
  espressif/esp_lcd_panel_io_additions: "^1.0.1"
  78/esp_lcd_nv3023: "~1.0.0"
  78/esp-wifi-connect: "~2.3.1"
  78/esp-opus-encoder: "~2.3.0"
  78/esp-ml307: "~1.7.3"
  78/xiaozhi-fonts: "~1.3.2"
  espressif/led_strip: "^2.4.1"
  espressif/esp_codec_dev: "~1.3.2"
  espressif/esp-sr: "^2.0.3"
  espressif/button: "^3.3.1"
  espressif/knob: "^1.0.0"
  lvgl/lvgl: "~9.2.2"
  esp_lvgl_port: "~2.4.4"
  espressif/esp_io_expander_tca95xx_16bit: "^2.0.0"
  tny-robotics/sh1106-esp-idf:
    version: "^1.0.0"
    rules:
      - if: 'idf_version >= "5.4.0"'
  ## Required IDF version
  idf:
    version: ">=5.3"

可见这里用了很多的外部的组件。组件名称后面就是要求的版本号。
版本选择符

在指定依赖版本时,可以使用不同的符号来表示希望接受的版本范围:

^(caret):允许安装不改变最左边非零数字的更新版本。例如,^2.0.1 可以安装从 2.0.1<3.0.0 的任何版本(包括 2.0.2, 2.1.0, 2.9.9 等等)。
~(tilde):只允许补丁版本的更新。例如,~2.0.1 只会安装从 2.0.1<2.1.0 的版本(即只能是 2.0.x 形式的版本)。
==:精确匹配版本号。例如,2.0.1 将严格使用这个确切版本。

但这些组件哪里来的呢?
idf.py build之后,可以在“managed_components”文件夹下查看这些组件的源码。
打开任意一个组件文件夹,里面有个xxx.yml的文件,比如“managed_components\espressif__button\idf_component.yml”这个文件,

dependencies:
  cmake_utilities: 0.*
  idf: '>=4.0'
description: GPIO and ADC button driver
documentation: https://docs.espressif.com/projects/esp-iot-solution/en/latest/input_device/button.html
issues: https://github.com/espressif/esp-iot-solution/issues
repository: git://github.com/espressif/esp-iot-solution.git
repository_info:
  commit_sha: ef19f4a5524a0ea147c9eccde0438123b41aeeb1
  path: components/button
url: https://github.com/espressif/esp-iot-solution/tree/master/components/button
version: 3.5.0

上面就是espressif__button的版本地址,还可以看到版本是3.5.0,这个版本跟配置文件所要求的“espressif/button: “^3.3.1””是匹配的。

关于esp32的组件,可以查看下面的链接获取更多的信息,也可以自己编写组件了。
https://docs.espressif.com/projects/esp-idf/zh_CN/stable/esp32s3/api-guides/build-system.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值