From 8f49ae537e5b773a27d526d0f68d3016b82d326d Mon Sep 17 00:00:00 2001
From: ALTracer <11005378+ALTracer@users.noreply.github.com>
Date: Mon, 6 Jan 2025 06:40:35 +0300
Subject: [PATCH] stm32l4: Enable non-halting SRAM access for RTT on STM32G47x

---
 src/target/stm32l4.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/target/stm32l4.c b/src/target/stm32l4.c
index efc35627edf..feda4e6bbdd 100644
--- a/src/target/stm32l4.c
+++ b/src/target/stm32l4.c
@@ -847,6 +847,10 @@ static bool stm32l4_attach(target_s *const target)
 	} else
 		stm32l4_add_flash(target, STM32L4_FLASH_BANK_1_BASE, flash_len * 1024U, 0x800, UINT32_MAX);
 
+	/* On STM32G47x SoC, Cortex-M4F allows SRAM access without halting */
+	if (device->device_id == ID_STM32G47)
+		target->target_options |= TOPT_NON_HALTING_MEM_IO;
+
 	/* Clear all errors in the status register. */
 	stm32l4_flash_write32(target, FLASH_SR, stm32l4_flash_read32(target, FLASH_SR));
 	return true;