• 乐鑫发布 Arduino ESP32 v3.0.0


    乐鑫宣布发布 Arduino ESP32 新版本v3.0.0,该版本使用最新的 ESP-IDF v5.1,并新增对 ESP32-C6 和 ESP32-H2 的支持。

    2021 年 9 月,乐鑫发布了 Arduino ESP32 v2.0.0,开始支持 ESP32-S2 和 ESP32-C3,稍后发布的版本也增加了对 ESP32-S3 的支持。v2.0.0 版本意义非凡,对社区生态来说是一个重要的里程碑。不仅因为支持了新的SoC,还因为项目就此迈入了新的时代。在随后的 14 次发布中,新增了大量的功能、问题修复、新示例、驱动程序以及核心文档。期间共有 88 位贡献者参与,共同完成了 800 次代码提交。

    自 Arduino ESP32 v2.0.0 以来,新增对多款芯片的支持,现在需要新的功能来保持并提升开发人员的体验,以及进一步增进与 Arduino IDE(集成开发环境)的集成。为了继续延续v2.0.0 的辉煌成绩,Arduino ESP32 核心团队积极与社区生态合作,不停书写历史。

    现在是时候发布 Arduino ESP32 v3.0.0 了,增加对 ESP32-C6 和 ESP32-H2 的支持,以及对 API 的改进和一些重大改动。

    ESP32-C6

    新款 C 系列 SoC,发布于 2022 年,支持 Wi-Fi 6 和 802.15.4。

    ESP32-C6 是一款低功耗、高性价比的系统级芯片,支持 2.4 GHz Wi-Fi 6、Bluetooth® 5 (LE)、Thread 及 Zigbee,可用于安全连接设备。

    ESP32-C6 技术规格书

           图 1:ESP32-C6 功能框图

    ESP32-H2

    新款 H 系列 SoC,支持蓝牙和最新 802.15.4(即 Thread 和 Zigbee),但不支持 Wi-Fi。

    ESP32-H2 是一款低功耗、支持安全连接的系统级芯片,采用 32 位 RISC-V 处理器,支持 IEEE 802.15.4 和 Bluetooth® 5 (LE)。

    ESP32-H2 技术规格书

       图 2:ESP32-H2 功能框图

    从 v2.0.X 升级到 v3.0.0

    新的 Arduino ESP32 仍在开发中,欢迎测试开发版本。

    因为还是开发版本,在使用时可能会遇到一些问题。如果遇到问题,请提交到 Arduino ESP32 GitHub Issue

    最新的稳定版本预计将于 2023 年 12 月发布,v2.0.x 版本在 2024 年 7 月之前继续提供支持,之后将停止维护。

    v3.0.0 版本中的一些主要变更与 API 的调整有关。为了与新 API 兼容,更新了部分示例。

    因此,如果准备迁移到 v3.0.0,请仔细检查并测试您的应用程序。为帮助您从 Arduino ESP32 v2.0.x 迁移到 v3.0.0,请参考文档迁移指南

    如需了解开发版本 alpha 中的所有变更,请查看详细的变更日志

    v2.0.x 到 v3.0.0 的主要改动

    v2.0.x 到 v3.0.0 的主要改动如下:

    外设管理器

    外设管理器可帮助用户在配置外设时,避免出现 GPIO 配置错误。该功能对用户透明,但会提醒用户当前的外设配置情况。

    主要用于管理外设初始化,并避免出现如下一些常见问题:

    • 同一 GPIO 被同时用于两个外设
    • 某些专用 GPIO,例如专用于 Flash 或 PSRAM 的 GPIO 被其他外设占用

    同时外设管理器也可用于:

    • 在初始化后打印报告,查看所有正在使用的外设
    • 帮助在不同的 ESP 产品中实现外设管理

    有些 ESP 产品外设数量不同、可以使用的通道也不同,因此有些限制也不一样。

    例如,如果将 GPIO18 配置给 SPI 外设,然后在 SPI 初始化之后将同一 GPIO18 配置给 RMT 外设,则 SPI 将被去初始化。

    外设管理器在 Verbose 调试级别下打印完整的报告,包括芯片信息、内存分配、分区、软件信息、开发板详情和 GPIO 映射。外设初始化时,外设管理器打印报告如下:

    1. ESP-ROM:esp32c3-api1-20210207
    2. Build:Feb 7 2021
    3. rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT)
    4. SPIWP:0xee
    5. mode:DIO, clock div:1
    6. load:0x3fcd5820,len:0x458
    7. load:0x403cc710,len:0x814
    8. load:0x403ce710,len:0x2878
    9. entry 0x403cc710
    10. =========== Before Setup Start ===========
    11. Chip Info:
    12. ------------------------------------------
    13. Model : ESP32-C3
    14. Package : 0
    15. Revision : 3
    16. Cores : 1
    17. Frequency : 160 MHz
    18. Embedded Flash : No
    19. Embedded PSRAM : No
    20. 2.4GHz WiFi : Yes
    21. Classic BT : No
    22. BT Low Energy : Yes
    23. IEEE 802.15.4 : No
    24. ------------------------------------------
    25. INTERNAL Memory Info:
    26. ------------------------------------------
    27. Total Size : 341480 B ( 333.5 KB)
    28. Free Bytes : 312940 B ( 305.6 KB)
    29. Allocated Bytes : 24960 B ( 24.4 KB)
    30. Minimum Free Bytes: 312940 B ( 305.6 KB)
    31. Largest Free Block: 294900 B ( 288.0 KB)
    32. ------------------------------------------
    33. Flash Info:
    34. ------------------------------------------
    35. Chip Size : 4194304 B (4 MB)
    36. Block Size : 65536 B ( 64.0 KB)
    37. Sector Size : 4096 B ( 4.0 KB)
    38. Page Size : 256 B ( 0.2 KB)
    39. Bus Speed : 80 MHz
    40. Bus Mode : QIO
    41. ------------------------------------------
    42. Partitions Info:
    43. ------------------------------------------
    44. nvs : addr: 0x00009000, size: 20.0 KB, type: DATA, subtype: NVS
    45. otadata : addr: 0x0000E000, size: 8.0 KB, type: DATA, subtype: OTA
    46. app0 : addr: 0x00010000, size: 1280.0 KB, type: APP, subtype: OTA_0
    47. app1 : addr: 0x00150000, size: 1280.0 KB, type: APP, subtype: OTA_1
    48. spiffs : addr: 0x00290000, size: 1408.0 KB, type: DATA, subtype: SPIFFS
    49. coredump : addr: 0x003F0000, size: 64.0 KB, type: DATA, subtype: COREDUMP
    50. ------------------------------------------
    51. Software Info:
    52. ------------------------------------------
    53. Compile Date/Time : Nov 2 2023 10:06:48
    54. Compile Host OS : windows
    55. ESP-IDF Version : v5.1.1-577-g6b1f40b9bf-dirty
    56. Arduino Version : 3.0.0
    57. ------------------------------------------
    58. Board Info:
    59. ------------------------------------------
    60. Arduino Board : ESP32C3_DEV
    61. Arduino Variant : esp32c3
    62. Arduino FQBN : esp32:esp32:esp32c3:JTAGAdapter=default,CDCOnBoot=default,PartitionScheme=default,CPUFreq=160,FlashMode=qio,FlashFreq=80,FlashSize=4M,UploadSpeed=921600,DebugLevel=debug,EraseFlash=none
    63. ============ Before Setup End ============
    64. [ 380][I][esp32-hal-i2c.c:99] i2cInit(): Initialising I2C Master: sda=8 scl=9 freq=100000
    65. =========== After Setup Start ============
    66. INTERNAL Memory Info:
    67. ------------------------------------------
    68. Total Size : 341480 B ( 333.5 KB)
    69. Free Bytes : 314976 B ( 307.6 KB)
    70. Allocated Bytes : 22508 B ( 22.0 KB)
    71. Minimum Free Bytes: 312360 B ( 305.0 KB)
    72. Largest Free Block: 286708 B ( 280.0 KB)
    73. ------------------------------------------
    74. GPIO Info:
    75. ------------------------------------------
    76. 8 : I2C_MASTER
    77. 9 : I2C_MASTER
    78. 20 : UART_RX
    79. 21 : UART_TX
    80. ============ After Setup End =============

    ESP-IDF v5.1

    Arduino ESP32 v3.0.0 基于 ESP-IDF v5.1,其中包括对新的 SoC: ESP32-C6 和 ESP32-H2 的支持。一些新功能会在后续发布版本中实现,而不需要更新 ESP-IDF,比如 802.15.4 功能。

    SPI 以太网支持

    现在,ESP-IDF SPI 库和 Arduino SPI 已实现对 SPI 以太网的支持。包括对 W5500、DM9051 和 KSZ8851SNL 以太网 IC 的支持。

    新 I2S 库

    基于 ESP-IDF API 添加了新的 I2S 库。

    唤醒词和命令识别(仅适用于 ESP32-S3)

    基于 ESP-SR,ESP32-S3 将支持语音识别,能够识别唤醒词和命令。

    TensorFlowLite Micro 支持

    现在已新增对 TensorFlow 的支持,并添加了相关示例。

    API 改进

    对以下 API 进行了改进:

    • ADC
    • BLE
    • I2S
    • LEDC
    • RMT
    • SigmaDelta
    • Timer
    • UART (HardwareSerial)

    弃用的 API:不再支持霍尔传感器。

    新增对以下开发版的支持:

    新增对诸多开发板的支持,包括 AdafruitArduino.ccM5StackLILYGO 等开发板。

    如何安装 Arduino ESP32 开发版本

    请参考文档中的安装说明完成安装 Arduino ESP32 开发版本。 开发版本链接如下: https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json

    保持更新

    如果想随时了解 Arduino ESP32 开发版本的发布情况,请在 GitHub、Gitter 关注我们,或者参与我们的每月社区会议。

    特别感谢所有激励我们不断改进 Arduino ESP32 的社区!

  • 相关阅读:
    7. Component, Element, Instance 之间有什么区别和联系?
    C语言青蛙爬井(ZZULIOJ1072:青蛙爬井)
    重磅!OpenAI发布GPT-4 Turbo,史上最强ChatGPT来了!
    JavaScript -- 多种数组深拷贝和浅拷贝的方法的总结
    231022|推荐系统1-推荐框架注释
    [附源码]java毕业设计校园拓展活动管理系统
    什么是构造函数?(JavaScript)
    跨境商城源码可以定制开发吗?
    MySQL窗口函数
    2023年中国禽流感疫苗产量、需求量及市场规模分析[图]
  • 原文地址:https://blog.csdn.net/espressif/article/details/134443846