From b02255e661f741026038f0f10dcc61b5d8ecc840 Mon Sep 17 00:00:00 2001 From: Anton Mukhin Date: Wed, 25 Jan 2023 21:22:34 +0300 Subject: [PATCH] Memory regions described in the ld file --- firmware/Core/Src/main.c | 2 ++ firmware/STM32G031G8UX_FLASH.ld | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/firmware/Core/Src/main.c b/firmware/Core/Src/main.c index 2f79dd4..51e3547 100644 --- a/firmware/Core/Src/main.c +++ b/firmware/Core/Src/main.c @@ -83,6 +83,8 @@ TIM_HandleTypeDef htim17; /* USER CODE BEGIN PV */ +//volatile const uint8_t config_flash[1024 * 2] __attribute__((__section__(".conf_data"))); + union FLASH_conf { conf_t config; struct FLASH_sector sector; diff --git a/firmware/STM32G031G8UX_FLASH.ld b/firmware/STM32G031G8UX_FLASH.ld index 6eb0290..97e27ec 100644 --- a/firmware/STM32G031G8UX_FLASH.ld +++ b/firmware/STM32G031G8UX_FLASH.ld @@ -45,7 +45,8 @@ _Min_Stack_Size = 0x400 ; /* required amount of stack */ MEMORY { RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 8K - FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 62K + FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 62K + CONF (rwx) : ORIGIN = 0x800F800, LENGTH = 2K } /* Sections */ @@ -173,6 +174,13 @@ SECTIONS . = ALIGN(8); } >RAM + .conf_data : + { + . = ALIGN(4); + *(.conf_data) + . = ALIGN(4); + } > CONF + /* Remove information from the compiler libraries */ /DISCARD/ : {