gpt4 book ai didi

bootloader - 我会不小心破坏 ESP8266 ESP-12F 模块的引导加载程序吗?

转载 作者:行者123 更新时间:2023-12-02 15:15:45 25 4
gpt4 key购买 nike

我是这些设备的新手,即使它们很便宜,我也不想不必要地把它们弄成砖头。

我使用 esptool 将 NodeMCU 固件刷写到我的模块上。这样做时,我需要指定写入文件的地址,通常是 0x00000。这是否意味着固件实际上包含引导加载程序?或者它位于闪存的单独区域?

如果引导加载程序本身包含在固件文件中,我想中断的刷写过程会使模块无法使用?

感谢您的澄清!

最佳答案

你不能用这种方式损坏模块。我大概做了一百次闪光,其中一些失败了(例如由于波特率太高)。固件本身确实0x000000 处包含引导加载程序,但这是可以任意更换的第二阶段引导加载程序。您不应该能够覆盖第一阶段的引导加载程序。引用创建 rBoot 的人的话,rBoot 是专有的 Espressif booatloader 的开源替代品,地址为 http://richard.burtons.org/ :

The boot loader is written to the first sector of the SPI flash and is executed like any other program, the built in first stage boot loader does not know it is loading a second stage loader rather than any other program.

So what happens next? Well the second stage boot loader isn’t open source, it’s provided to us as a binary blob to use blindly.

简而言之:您不能通过向0x00000 写入废话来损坏您的模块。它可能会在发现无效操作码之前执行一些任意代码,但这不足以导致 CPU 爆炸或模块损坏。刷新固件足以从损坏的第二阶段引导加载程序中恢复。

那么第一阶段引导加载程序到底在哪里?来自 richard.burtons.org/2015/05/17/esp8266-boot-process 的评论,创作者自己回答为:

Commentator: I have been figuring out if the first stage boot loader is in the processors ROM or in the Flash. I guess it is in the ROM. If this is in ROM then there is no risk of messing flash and leave the device useless.Could you please confirm it.

Richard: That’s correct. Stage one is in rom and you can’t do anything to break it.

关于bootloader - 我会不小心破坏 ESP8266 ESP-12F 模块的引导加载程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40757376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com