我使用原生 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 应用程序也能正常工作)