awa1024 2025-06-23 10:04 采纳率: 100%
浏览 18
已结题

(已解决)关于esp32的小问题

弄到了四个板载esp32 wroom 32d的视觉传感器,想刷入自己的固件,esptool报错如下

Secure Boot detected, writing to flash regions < 0x8000 is disabled to protect the bootloader. Use --force to override, please use with caution, otherwise it may brick your device!

问了deepseek发现是安全启动的问题,不允许修改bootloader和分区表
我用arduino ide和esp32 download tool烧录时,并无报错,但是运行时重复报错

rst:0x10
(RTCWDT_RTC_RESET),boot:0x13(SPI_FAST_FLASH_BOOT)
 flash read err, 1000 ets_main.c 371
ets Jun 8 2016 00:22:57

求专家解答

已解决
bootloader和分区表被厂商锁了,防止有人刷机
放弃

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-06-23 10:04
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    关于esp32的小问题

    你遇到了 ESP32 的 Secure Boot 问题,导致 esptool 报错。Secure Boot 是 ESP32 的一种安全机制,用于保护固件的完整性和安全性。

    解决方法:

    1. 通过 esptool 的 -k 选项来禁用 Secure Boot:
    esptool -k -c <port> -b 115200 write_flash -fs 4MB -fm dio 0x1000 <firmware.bin>
    

    其中,<port> 是 ESP32 的串口号,<firmware.bin> 是你要刷入的固件文件。

    1. 或者,你可以使用 esptool 的 -b 选项来强制覆盖 Secure Boot:
    esptool -b -c <port> -b 115200 write_flash -fs 4MB -fm dio 0x1000 <firmware.bin>
    

    请注意,这种方法可能会导致固件的安全性受到影响。

    1. 如果你想保留 Secure Boot 的功能,可以使用 esptool 的 -s 选项来签名你的固件:
    esptool -s -c <port> -b 115200 write_flash -fs 4MB -fm dio 0x1000 <firmware.bin>
    

    这将签名你的固件,使其可以在 Secure Boot 的情况下被正确地刷入。

    请注意,这些方法都需要你已经安装了 esptool 和有了 ESP32 的串口连接。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月23日
  • 已采纳回答 6月23日
  • 修改了问题 6月23日
  • 修改了问题 6月23日
  • 展开全部