Forum Discussion

roelof's avatar
roelof
Icon for New Contributor rankNew Contributor
4 years ago
Solved

Cyclone V HPS Baremetal Watchdog Error

I Am trying to get the Watchdog to generate a warm reset on my HPS Baremetal Application.

My Setup:

Cyclone V custom board

Boot setup; BootRom -> Preloader -> HPS baremetal

Preloader and HPS loaded from QSPI Flash

Preloader in On Chip RAM and HPS in SDRAM

I use the following code to trigger the warm reset from the watchdog:

ALT_STATUS_CODE status = ALT_E_SUCCESS;
//status |= alt_wdog_int_clear(ALT_WDOG0);
//set to 90 second watchdog timer
if (status == ALT_E_SUCCESS) {status = alt_wdog_counter_set(ALT_WDOG1, 0);
if (status == ALT_E_SUCCESS) {status = alt_wdog_response_mode_set(ALT_WDOG1, ALT_WDOG_WARM_RESET ); }
if (status == ALT_E_SUCCESS) {status = alt_wdog_start(ALT_WDOG1); }

I can see the watchdog count down, then the HPS goes into Hung/Reset state, but does not recover or boot again.

Does anyone know what I am doing wrong. Should the warm reset not trigger the HPS to reload from the application Entry point?

3 Replies

    • roelof's avatar
      roelof
      Icon for New Contributor rankNew Contributor

      Good day EBERLAZARE_I_Intel,

      Thank you for your quick response. I went through the document you provided and was able to resolve my issue. The QSPI needs to be reset before the watchdog triggers - else the HPS cannot boot.

      Thank you