评论
谢谢,这有点帮助,但我仍然没有任何意义。
到目前为止我的发现: |
“Cache disabled but cached memory region accessed”通常意味着 ESP32 试图在中断服务程序中从 FLASH 中填充指令缓存。我们尝试用 IRAM_ATTR 标记所有 ISR 代码,以便它从指令 RAM 运行并且不需要访问 FLASH,但 C++ 编译器使这变得困难。switch 语句和虚拟方法都会生成位于 FLASH 中的代码片段,而不管它们封闭函数上的 IRAM_ATTR。我们有一个链接器脚本解决方法,但有时我们会遗漏一些东西。回溯对于调试这种情况通常毫无用处。我将尝试重现该问题,看看是否能找出我们遗漏的内容。 |
我一直在通过串口使用 UGS 进行流式传输,WebUI 在后台打开。恐慌在 5 到 40 分钟内发生。 在没有打开浏览器 UI 的情况下从 SD 流式传输(在 Fluidterm 中发出的命令)时,我无法重现该问题。 |
再次被 Arduino 框架挫败: 框架-arduinoespressif32/cores/esp32/esp-hal-gpio.c: extern void ARDUINO_ISR_ATTR __digitalWrite(uint8_t pin, uint8_t val)
{
gpio_set_level((gpio_num_t)pin, val);
}
框架-arduinoespressif32/cores/esp32/esp-hal.h: #if CONFIG_ARDUINO_ISR_IRAM
#define ARDUINO_ISR_ATTR IRAM_ATTR
#define ARDUINO_ISR_FLAG ESP_INTR_FLAG_IRAM
#else
#define ARDUINO_ISR_ATTR
#define ARDUINO_ISR_FLAG (0)
#endif
框架-arduinoespressif32/tools/sdk/esp32/sdkconfig:
|
控制板
丰盛E4
机器描述
改装 3018
输入电路
没有反应
配置文件
启动消息
发生了什么?
运行 gcode 时,控制器随机出现 panic:
其他信息
没有反应