"stub" 在 ESP32 和 esptool 选项 --no-stub 的上下文中意味着什么?

What does "stub" mean in the context of ESP32 and esptool option --no-stub?

我想使用 esp-progesptool 对带有 esp32 的电路板进行编程。当我这样做时,出现以下错误:

...
Crystal is 40MHz
MAC: c8:2b:96:b8:e7:e0
Uploading stub...
Running stub...
Traceback (most recent call last):
File "/home/martin/workspace/esp/esp-idf/components/esptool_py/esptool/esptool.py", line 3470, in <module> _main()
...

但是如果我使用 esptool 和选项 --no-stub,我可以在没有错误的情况下对电路板进行编程。那么这个存根是什么?它的用途是什么,使用 --no-stub?

意味着什么

在软件开发中,stub 是一段代码或一个程序,用于代替另一个。它们通常模拟原始功能的行为,有时它们被用作未开发代码的临时替代品。

esptool 的情况下,它使用 存根加载程序,它基本上取代了 ESP 中使用的原始引导加载程序来加载您的通过串口编程到你的ESP32设备的ROM中。

基本上这个存根引导加载程序与原始引导加载程序具有相同的行为,但它 使用一些更优化的 UART 例程来加载 ROM 代码。

使用 --no-stub 您将使用原始的 ESP32 引导加载程序,众所周知,它在闪烁程序和其他一些操作时速度较慢。有一些命令只能在 esptool 引导加载程序中使用,但如果您不使用任何可选命令来引导您的代码,使用 --no-stub

是安全的