From d724d58fafa3aebf2404acfe80b506660275893f Mon Sep 17 00:00:00 2001 From: dam1n19 <dam1n19@soton.ac.uk> Date: Sat, 1 Jul 2023 14:44:59 +0100 Subject: [PATCH] Fixed Watchdog test (Print taking too long so interrupt triggered before entering loop) --- nanosoc/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v | 1 + software/common/demos/watchdog_demo.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/nanosoc/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v b/nanosoc/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v index 23c6c1a..75b465a 100644 --- a/nanosoc/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v +++ b/nanosoc/nanosoc_regions/sysio/verilog/nanosoc_region_sysio.v @@ -424,6 +424,7 @@ module nanosoc_region_sysio #( // Interrupt outputs .apbsubsys_interrupt (SYS_APB_IRQ), .watchdog_interrupt (SYS_NMI), + // reset output .watchdog_reset (WDOGRESETREQ) ); diff --git a/software/common/demos/watchdog_demo.c b/software/common/demos/watchdog_demo.c index 9c574f5..3dcf0a6 100644 --- a/software/common/demos/watchdog_demo.c +++ b/software/common/demos/watchdog_demo.c @@ -158,11 +158,11 @@ void main_prog_part_1(void) } } puts("\n- Program watchdog for 10000 cycles"); - watchdog_init(10000, 1); /* Generate NMI */ nmi_occurred = 0; nmi_expected = 0; puts("- Run loop with watchdog set regularly 10 times\n"); i = 0; + watchdog_init(10000, 1); /* Generate NMI */ while (i<10) { read_data = CMSDK_WATCHDOG->VALUE; if (read_data < 8000) //the threshold must be large enough so that the NMI interrupt -- GitLab