tobozo / ESP32-ENC28J60

ENC28J60 Ethernet driver for ESP32-Arduino 2.0.x / 3.0.x, lwip compliant
MIT License
26 stars 8 forks source link

needs PSRAM => WROVER ? #5

Closed AlesSt closed 1 year ago

AlesSt commented 1 year ago

Hi,

I had some leftovers of older ENC eth shields so I decided to try them out :)

I uploaded your pio_example and have problems running on WROOM:

--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H 18:07:43.591 > [ 6][D][esp32-hal-cpu.c:244] setCpuFrequencyMhz(): PLL: 480 / 2 = 240 Mhz, APB: 80000000 Hz 18:07:43.591 > E (168) psram: PSRAM ID read error: 0xffffffff 18:07:43.591 > [ 9][W][esp32-hal-psram.c:71] psramInit(): PSRACORRUPT HEAP: Bad tail at 0x3ffafd8a. Expected 0xbaad5678 got 0x07882091 18:07:43.591 > 18:07:43.591 > assert failed: multi_heap_free multi_heap_poisoning.c:253 (head != NULL) 18:07:43.591 > 18:07:43.591 > 18:07:43.591 > Backtrace:0x40083ccd:0x3ffaf4f00x4008e94d:0x3ffaf510 0x4009447d:0x3ffaf530 0x400940c3:0x3ffaf660 0x40084131:0x3ffaf680 0x400944ad:0x3ffaf6a0 0x400ecf38:0x3ffaf6c0 0x400d725e:0x3ffaf6e0 => 0x40083ccd: panic_abort at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/panic.c:402 => 0x4008e94d: esp_system_abort at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/esp_system.c:128 => 0x4009447d: __assert_func at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/newlib/assert.c:85 => 0x400940c3: multi_heap_free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/heap/multi_heap_poisoning.c:253 (inlined by) multi_heap_free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/heap/multi_heap_poisoning.c:245 => 0x40084131: heap_caps_free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/heap/heap_caps.c:340 => 0x400944ad: free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/newlib/heap.c:39 => 0x400ecf38: eth_stack_input at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_eth/src/esp_eth.c:97 => 0x400d725e: emac_enc28j60_task at .pio/libdeps/MQTT-Debug/ESP32-ENC28J60/src/extmod/esp_eth_mac_enc28j60.c:770 18:07:43.591 > 18:07:43.591 > 18:07:43.591 > 18:07:43.591 > 18:07:43.591 > ELF file SHA256: 0000000000000000 18:07:43.591 > 18:07:43.591 > Rebooting... 18:07:43.591 > [ 6][D][esp32-hal-cpu.c:244] setCpuFrequencyMhz(): PLL: 480 / 2 = 240 Mhz, APB: 80000000 Hz 18:07:43.591 > E (167) psram: PSRAM ID read error: 0xffffffff 18:07:43.591 > [ 9][W][esp32-hal-psram.c:71] psramInit(): PSRAMCORRUPT HEAP: Bad tail at 0x3ffafd8a. Expected 0xbaad5678 got 0x0688309d 18:07:43.756 > 18:07:43.756 > assert failed: multi_heap_free multi_heap_poisoning.c:253 (head != NULL) 18:07:43.756 > 18:07:43.756 > 18:07:43.756 > Backtrace:0x40083ccd:0x3ffaf4f00x4008e94d:0x3ffaf510 0x4009447d:0x3ffaf530 0x400940c3:0x3ffaf660 0x40084131:0x3ffaf680 0x400944ad:0x3ffaf6a0 0x400ecf38:0x3ffaf6c0 0x400d725e:0x3ffaf6e0 => 0x40083ccd: panic_abort at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/panic.c:402 => 0x4008e94d: esp_system_abort at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/esp_system.c:128 => 0x4009447d: __assert_func at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/newlib/assert.c:85 => 0x400940c3: multi_heap_free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/heap/multi_heap_poisoning.c:253 (inlined by) multi_heap_free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/heap/multi_heap_poisoning.c:245 => 0x40084131: heap_caps_free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/heap/heap_caps.c:340 => 0x400944ad: free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/newlib/heap.c:39 => 0x400ecf38: eth_stack_input at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_eth/src/esp_eth.c:97 => 0x400d725e: emac_enc28j60_task at .pio/libdeps/MQTT-Debug/ESP32-ENC28J60/src/extmod/esp_eth_mac_enc28j60.c:770 18:07:43.756 > 18:07:43.756 > 18:07:43.756 > 18:07:43.756 > 18:07:43.756 > ELF file SHA256: 0000000000000000 18:07:43.756 > 18:07:43.756 > Rebooting... 18:07:43.931 > [0;36m[ 6][D][esp32-hal-cpu.c:244] setCpuFrequencyMhz(): PLL: 480 / 2 = 240 Mhz, APB: 80000000 Hz 18:07:43.940 > E (166) psram: PSRAM ID read error: 0xffffffff 18:07:43.946 > [ 9][W][esp32-hal-psram.c:71] psramInit(): PSRACORRUPT HEAP: Bad tail at 0x3ffafd8a. Expected 0xbaad5678 got 0x06882099 18:07:43.980 > 18:07:43.980 > assert failed: multi_heap_free multi_heap_poisoning.c:253 (head != NULL) 18:07:43.986 > 18:07:43.986 > 18:07:43.988 > Backtrace:0x40083ccd:0x3ffaf4f00x4008e94d:0x3ffaf510 0x4009447d:0x3ffaf530 0x400940c3:0x3ffaf660 0x40084131:0x3ffaf680 0x400944ad:0x3ffaf6a0 0x400ecf38:0x3ffaf6c0 0x400d725e:0x3ffaf6e0 18:07:44.003 > 18:07:44.003 > 18:07:44.003 > 18:07:44.003 > 18:07:44.004 > ELF file SHA256: 0000000000000000 18:07:44.007 > 18:07:44.008 > Rebooting... 18:07:44.254 > [0;36m[ 6][D][esp32-hal-cpu.c:244] setCpuFrequencyMhz(): PLL: 480 / 2 = 240 Mhz, APB: 80000000 Hz 18:07:44.263 > E (167) psram: PSRAM ID read error: 0xffffffff 18:07:44.268 > [ 9][W][esp32-hal-psram.c:71] psramInit(): PSRAMCORRUPT HEAP: Bad tail at 0x3ffafd8a. Expected 0xbaad5678 got 0x06882099 18:07:44.710 > 18:07:44.710 > assert failed: multi_heap_free multi_heap_poisoning.c:253 (head != NULL) 18:07:44.716 > 18:07:44.716 > 18:07:44.717 > Backtrace:0x40083ccd:0x3ffaf4f00x4008e94d:0x3ffaf510 0x4009447d:0x3ffaf530 0x400940c3:0x3ffaf660 0x40084131:0x3ffaf680 0x400944ad:0x3ffaf6a0 0x400ecf38:0x3ffaf6c0 0x400d725e:0x3ffaf6e0 => 0x400d725e: emac_enc28j60_task at .pio/libdeps/MQTT-Debug/ESP32-ENC28J60/src/extmod/esp_eth_mac_enc28j60.c:770 18:07:44.733 > 18:07:44.733 > 18:07:44.733 > 18:07:44.733 > 18:07:44.749 > ELF file SHA256: 0000000000000000 18:07:44.749 > 18:07:44.749 > Rebooting... 18:07:44.982 > [0;36m[ 6][D][esp32-hal-cpu.c:244] setCpuFrequencyMhz(): PLL: 480 / 2 = 240 Mhz, APB: 80000000 Hz 18:07:44.993 > E (166) psram: PSRAM ID read error: 0xffffffff 18:07:44.997 > [ 9][W][esp32-hal-psram.c:71] psramInit(): PSRAMCORRUPT HEAP: Bad tail at 0x3ffafd8a. Expected 0xbaad5678 got 0x06883a99 18:07:45.298 > 18:07:45.299 > assert failed: multi_heap_free multi_heap_poisoning.c:253 (head != NULL) 18:07:45.305 > 18:07:45.305 > 18:07:45.305 > Backtrace:0x40083ccd:0x3ffaf4f00x4008e94d:0x3ffaf510 0x4009447d:0x3ffaf530 0x400940c3:0x3ffaf660 0x40084131:0x3ffaf680 0x400944ad:0x3ffaf6a0 0x400ecf38:0x3ffaf6c0 0x400d725e:0x3ffaf6e0

Otherwise thanks for the work you did :)

BR

AlesSt commented 1 year ago

Just found the problem that was PSBMAC (problem sitting between monitor and chair) => build_flags = ; -DBOARD_HAS_PSRAM ; -mfix-esp32-psram-cache-issue

I had to disable the PSRAM stuff in platformio.ini

Again great job on contribs :)