xhackerustc / uc-rv32ima

Run Linux on MCUs such as ESP32C3 with RISC-V emulator
Other
109 stars 10 forks source link

Task Watchdog Aborts Main #4

Open MrJPineapple opened 1 year ago

MrJPineapple commented 1 year ago

After a successful build and flash, RV32IMA attempts to start but the task watchdog triggers and aborts main. I think it's getting stuck in an infinite loop?

Below is a snapshot of the terminal monitor output. I've tried playing around with the settings in menuconfig (flash crystal speed, panic interrupt handler, DIO vs. QIO) all with no change. I did disable the watchdog interrupt, but then it seems to get stuck in an infinite loop after "RV32IMA starting". The exact stop returned in the stack dump (e.g., line 303 of uc-rv32ima.c) does change based on the settings in menuconfig.

I did notice that many of the reference designs for the ESP32 PSRAM chip call for pulling CS high through a 10k resistor. I haven't done this because it wasn't mentioned in the readme.

`I (300) main_task: Calling app_main() I (5300) uc-rv32: psram init

I (5300) gpio: GPIO[10]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 I (5300) uc-rv32: SPI_HOST_ID = 1

I (5300) uc-rv32: spi_bus_initialize = 0

I (5310) uc-rv32: spi_bus_add_device = 0

I (5310) uc-rv32: PSRAM ID: 0d5d52f6f611

I (5320) uc-rv32: loading kernel Image (1872428 bytes) from flash:200000 into psram:0

I (6580) uc-rv32: loading dtb (1472 bytes) from flash:3ff000 into psram:7ffa40

I (6580) uc-rv32: RV32IMA starting

E (10290) task_wdt: Task watchdog got triggered. The following tasks/users did not reset the watchdog in time: E (10290) task_wdt: - IDLE (CPU 0) E (10290) task_wdt: Tasks currently running: E (10290) task_wdt: CPU 0: main E (10290) task_wdt: Aborting.

Stack dump detected Core 0 register dump: MEPC : 0x4038ad0c RA : 0x4038b59a SP : 0x3fc93b00 GP : 0x3fc8de00
0x4038ad0c: usb_serial_jtag_ll_write_txfifo at /Users/[name]/esp/esp-idf/components/hal/esp32c3/include/hal/usb_serial_jtag_ll.h:131 (inlined by) HandleOtherCSRWrite at /Users/jason/esp/uc-rv32ima-main/main/uc-rv32ima.c:303

0x4038b59a: MiniRV32IMAStep at /Users/[name]/esp/uc-rv32ima-main/main/mini-rv32ima.h:159`

ElectroBoy404NotFound commented 1 year ago

Disable watchdog