1/4 兼容性公告 标题 关于 ESP32-C3 芯片版本 v1.1 的兼容性公告 发布日期 2025/04/14 公告编号 AR2024-009 编号 NA 版本 V1.1 概述 为使项目应用开发时 ESP32-C3 芯片能有更多的 SRAM 空间可用,我们对 ESP32-C3 芯片版本进行了升级。最新的 ESP32-C3 芯片版本 v1.1 与升级后的 ESP-IDF 搭配使用,可以额外获得约 10 KB 1 SRAM 空间供项目开发使用。 多出的 SRAM 空间通过更新 ROM 代码、将更多运行时需要的代码放入 ROM 中 实现,SRAM 的实际大小没有改变。 v1.1 版本的 ROM 函数的地址等有较大变化,因此使用旧版本的 ESP-IDF 所编译 的二进制文件(后称固件)无法直接运行在 v1.1 版本的芯片上,需要升级 ESP- IDF 到所需版本以上并重新编译才能运行在 v1.1 版本的芯片上。 如果同时使用 v1.1 及 v0.4 版本,也可经过配置重新编译出同时兼容两版本芯片 的二进制文件,但这样的二进制文件无法使用由 ROM 节省出的 10 KB SRAM 空 间。 1 : 如果使能 SPI_FLASH_ROM_IMPL 选项,将会额外增加 8 KB SRAM 空间,总计获 得 10 KB + 8 KB 额外 SRAM 空间,建议使能该选项。本文档数值均根据 esp- idf/examples/bluetooth/nimble/bleprph_wifi_coex 测试得出,具体大小以实际应用为准。 不同芯片版本兼容使用快速评估建议 ESP32-C3 芯片不同版本硬件是完全兼容的,当前主要评估软件部分的兼容性。 如果正在使用非 v1.1 版本的芯片,且后续即将使用 v1.1 版本的芯片,则当前正 在使用的 ESP-IDF 版本可能无法用于 v1.1 版本的芯片,需要升级 ESP-IDF 版本 至要求的最低版本以上。为支持芯片版本 v1.1 升级 ESP-IDF 有如下需求参考, 供您快速评估。 2/4 使用 v1.1 版本芯片需求 评估 是否需要升级 ESP-IDF 至本 公告所述版本 以上 ESP-IDF menuconfig 中 Minimum Supported ESP32-C3 Revision 的设 置 是否可以使用 v1.1 芯片搭配新 版本 ESP-IDF 释 放约 10 KB SRAM 资源 备注 v1.1 和非 v1.1 芯片项目 使用同一固件维护,固件 兼容支持 v1.1 及 v1.1 之 前版本 是 Rev v0.4 否 仅保持兼容不同芯片版 本,不能使用 v1.1 新支 持释放的资源。 ESP- IDF 若不升级,v1.1 版 本芯片无法使用 v1.1 和非 v1.1 芯片项目 分开维护,期望获取 v1.1 新的 SRAM 空间支 持 是 Rev v1.1 是 ESP-IDF 按照公告的说 明详细升级后,使用 v1.1 芯片版本即可获取 新释放的 SRAM 资源; 同时需要注意项目应用 中,同一项目早期使用 过非 v1.1 芯片版本的老 的固件维护工作 芯片版本 v1.1 所需的 ESP-IDF 配置 要使用芯片版本 v1.1 多出的 10 KB SRAM 空间并再额外增加 8 KB SRAM 空 间,需完成以下步骤: 1. 根据下表升级 ESP-IDF 版本: 发布分支 推荐版本 需求版本 release/v4.3(EOL) v4.3.7+ v4.3.7 release/v4.4(EOL) v4.4.7+ v4.4.7 release/v5.0 v5.0.5+ v5.0.5 release/v5.1 v5.1.3+ v5.1.3 release/v5.2 and above v5.2+ v5.2 2. 在 “menuconfig” 中配置 “Minimum Supported ESP32-C3 Revision”: 运行 ESP-IDF 的工程配置工具 “menuconfig” 时,将 “Minimum Supported ESP32-C3 Revision” (> Component config > Hardware Settings > Chip revision) 设置为 “Rev v1.1”。默认值是“Rev v0.3”。 3/4 3. 在 “menuconfig” 中配置 “SPI_FLASH_ROM_IMPL”: 运行 ESP-IDF 的工程配置工具 “menuconfig” 时,将 “SPI_FLASH_ROM_IMPL” (> Component config > SPI Flash driver > Use esp_flash implementation in ROM 设置为 “true”。默认值是“false”。 4. 编译、烧录软件。 4/4 兼容芯片版本 v0.4 及以下和 v1.1 所需的 ESP-IDF 配置 “menuconfig” 中 “Minimum Supported ESP32-C3 Revision” 选项的含义是,期 望兼容的最低芯片版本。 如果用户将 “Minimum Supported ESP32-C3 Revision” 设置为 “Rev v1.1”,软件 将会依赖 ROM 中新提供的代码,裁剪掉对应原本位于 SRAM 中的 10 KB 函数。 因此,通过该选项编译获得的二进制文件将无法在 v1.1 以下的芯片版本上运行。 如果用户需要同时使用两版本(如 v0.4 及 v1.1)的芯片,则不能对这些函数进行 裁剪。配置芯片版本时用户需在 “menuconfig” 中将 “Minimum Supported ESP32-C3 Revision” 设置为使用芯片中的较低版本(“Rev v0.4”),并重新编译 二进制文件。得到的二进制文件将可同时在 v0.4 及 v1.1 版本的芯片上运行,但 无法获得额外的 10 KB SRAM 空间。 如果用户将配置芯片版本时在 “menuconfig” 中将 “Minimum Supported ESP32- C3 Revision” 设置为 “Rev v1.1”,但错误烧录至 v1.1 版本以下芯片时,下载工具 (esptool)和启动代码(二级引导程序)均会报错。以下是 esptool 工具的报错 信息: A fatal error occurred: bootloader/bootloader.bin requires chip revision in range [v1.1 - v1.99] (this chip is revision v0.4). Use --force to flash anyway. 芯片版本识别方式 芯片版本的识别方式,请参考 《ESP32-C3 系列芯片勘误表》。 其他软件兼容性解释,请参考 ESP-IDF 版本与乐鑫芯片版本兼容性。 联系我们 如果您有任何问题,请 联系我们。 修订记录 日期 版本 发布说明 2025/04/14 V1.1 1. 更新 SRAM 空间数值描述。 2. 更新“芯片版本 v1.1 所需的 ESP-IDF 配置”。 2024/07/22 V1.0 首次发布。