NXP MCU 技术william hill官网
直播中

juju宇哥

8年用户 1400经验值
擅长:479809
私信 关注
[问答]

如果USB应用程序已经在闪存中,则esptool.py存根无法在GPIO9=1 的 ESP32-C3上运行怎么解决?

我使用原生 USB 串行/JTAG 端口在定制板上的 AI Thinker ESP-C3-13 上测试 ESP32-C3,我对以下行为感到困惑:如果 C3 的 USB 版本的 micropython 加载

在闪存,我似乎无法使用 esptool.py 的基于存根的命令,除非我将 GPIO9 引脚强制为 0(以强制下载模式并防止 micropython 启动)。

如果我不使用存根(--no-stub 选项),或者如果我擦除闪存或放入非 USB 应用程序(如 ESP-IDF hello world 示例),esptool 可以在 GPIO9=1 下

工作似乎能够通过本机 USB 接口重置芯片,因为它可以读取大量信息,但是一旦启动存根固件(下面的跟踪),它就会导致异常。

我怀疑当 GPIO9=1 时,micropython 在加电时启动并以一种在 esptool 重置后仍然存在并混淆存根固件的方式配置 USB 串行端口。或者闪存中 micropython 的存在以某种方式干扰了存根执行?存根是否无法进行某些初始化?USB控制的启动方式和strapping-pin控制的启动方式有冲突吗?...

知道这里可能发生什么以及解决方法是什么吗?

我正在设计一个小板,我想避免必须添加一个开关来手动强制 GPIO9 为低电平以便对芯片进行编程,即使我有一个使用本机 USB 串行端口的应用程序也是如此。  

最近几天我一直在阅读william hill官网 和门票以消除其他可能的问题:

        - GPIO2 和 GPIO8 正如预期的那样高

        - CHIP_EN 信号的时序满足要求

        - 电源似乎不是问题(我提供 500 mA,添加本地去耦没有帮助,micropython 即使使用 wifi 应用程序也能正常工作)

更多回帖

发帖
×
20
完善资料,
赚取积分