Skip to content

[bsp][esp32-c3] fix chip revision fields for v1.x chips - #12013

Merged
Rbb666 merged 1 commit into
RT-Thread:masterfrom
cms19859230182-lang:fix/esp32c3-chip-rev-full
Nov 13, 2026
Merged

Rbb666 merged 1 commit into
RT-Thread:masterfrom
cms19859230182-lang:fix/esp32c3-chip-rev-full

Conversation

@cms19859230182-lang

@cms19859230182-lang cms19859230182-lang commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

中文

问题

ESP32-C3 v1.x(如 rev 1.1)被拒:镜像头只写了旧字段 min_rev=3,缺 ESP-IDF 兼容的 full revision 范围(#11991)。

改动

  • bsp/ESP/ESP32_C3/SConstruct:min_rev=0,min_rev_full=3,max_rev_full=199
  • bsp/ESP/ESP32_C3/builtin_imgs/bootloader.bin:README 烧录依赖该预置镜像(SConstruct 不生成 bootloader),头字段同步为 0/3/199 并重算末尾 SHA-256(esptool image_info 校验 valid)

验证

本地 scons / esptool image_info 字段与校验通过;未板级烧录。

English

Problem

ESP32-C3 v1.x (e.g. rev 1.1) rejected: image header only set legacy min_rev=3, missing ESP-IDF-compatible full revision range (#11991).

Changes

  • bsp/ESP/ESP32_C3/SConstruct: min_rev=0, min_rev_full=3, max_rev_full=199
  • bsp/ESP/ESP32_C3/builtin_imgs/bootloader.bin: required by README flashing (SConstruct builds app only); header updated to 0/3/199 with recomputed trailing SHA-256 (esptool image_info valid)

Test plan

Local scons / esptool image_info OK; no board flash.

Fixes #11991

ESP32-C3 revision 1.x chips (such as v1.1) fail to flash and boot because
the old header fields set min_rev=3 and full revision fields were invalid/0,
causing esptool and the 2nd-stage bootloader to reject the chip.

- In SConstruct elf2image(): set min_rev=0, min_rev_full=3, max_rev_full=199
  to match ESP-IDF revision range specifications.
- In builtin_imgs/bootloader.bin: update header chip revision fields to
  min_rev=0, min_rev_full=3, max_rev_full=199 and recalculate trailing SHA-256
  digest (header workaround, host environment lacks CMake for IDF rebuild).
@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown

MemBrowse Memory Report · Explore what changed →

No memory changes detected for:


Catch memory regressions in CI with MemBrowse. Free for open source.

@cms19859230182-lang
cms19859230182-lang marked this pull request as draft November 10, 2026 15:40
@cms19859230182-lang
cms19859230182-lang marked this pull request as ready for review November 11, 2026 06:21

@Rbb666 Rbb666 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

镜像头与 SHA-256 的字节级检查通过,但仅修改头部没有使旧 bootloader 获得 ESP32-C3 v1.1 的 ROM 兼容支持。当前变更不宜按“支持 v1.x”合入,具体依据和修改方向见行内建议。

image.min_rev = 3
image.min_rev = 0
image.min_rev_full = 3
image.max_rev_full = 199

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P1] 扩大修订范围前需要提供真正兼容 v1.1 的 bootloader

本 PR 的 bootloader.bin 仍包含版本字符串 v5.0-dev-5148-g259c1776e9-dirty。与基线逐字节比较,除镜像头偏移 14/15/17/18 和末尾 32 字节摘要外,代码完全未变。Espressif 的 AR2024-009 兼容性公告 明确指出 v1.1 调整了 ROM 函数地址,旧 IDF 固件必须升级并重新编译;5.0 分支最低要求为 v5.0.5。设置 max_rev_full=199 并重算摘要只放宽版本检查,无法修复这些 ROM 调用,在目标 v1.1 芯片上仍可能启动失败或异常。请基于支持 v1.1 的 IDF 重建预置 bootloader,保留可复现的版本/config/构建说明,并核对应用所用 IDF 包及 ROM 链接文件;再补充 v1.1 与原有修订芯片的启动验证。

@cms19859230182-lang

Copy link
Copy Markdown
Contributor Author

🤔,行我改改

@Rbb666

Rbb666 commented Nov 13, 2026

Copy link
Copy Markdown
Member

🤔,行我改改

没事,忽略掉吧,没啥问题

@Rbb666
Rbb666 merged commit 9d36c76 into RT-Thread:master Nov 13, 2026
13 checks passed
@cms19859230182-lang

Copy link
Copy Markdown
Contributor Author

🤔,行我改改

没事,忽略掉吧,没啥问题
👌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] [bsp][esp32-c3] Prebuilt bootloader and app image refuse ESP32-C3 v1.x chips

2 participants