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