From 0baeccdf8908eb64022406a4e5bd12932c44cecc Mon Sep 17 00:00:00 2001 From: cfif Date: Mon, 24 Aug 2026 13:34:21 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=B8=D0=BD=D0=B8=D1=86=D0=B8=D0=B0=D0=BB=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20=D1=81=D0=B5=D0=BA=D1=86=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- APP/FC7240_flash.ld | 11 ++++++++--- APP/main.c | 8 +++++++- CMakeLists.txt | 25 +++++++++++++++++-------- 3 files changed, 32 insertions(+), 12 deletions(-) diff --git a/APP/FC7240_flash.ld b/APP/FC7240_flash.ld index cc41e9b..c05220a 100644 --- a/APP/FC7240_flash.ld +++ b/APP/FC7240_flash.ld @@ -70,7 +70,7 @@ SECTIONS KEEP(*(.isr_vector)) __interrupts_end__ = .; . = ALIGN(4); - + *(.text) /* .text sections (code) */ *(.text*) /* .text* sections (code) */ *(.rodata) /* .rodata sections (constants, strings, etc.) */ @@ -98,6 +98,11 @@ SECTIONS KEEP(*(.meta_internal_sw_day)) KEEP(*(.meta_internal_sw_rev)) + KEEP(*(.meta_internal_mdb_year)) + KEEP(*(.meta_internal_mdb_month)) + KEEP(*(.meta_internal_mdb_day)) + KEEP(*(.meta_internal_mdb_rev)) + KEEP(*(.meta_finger_module)) KEEP(*(.meta_finger_tester_serial)) KEEP(*(.meta_finger_year)) @@ -228,10 +233,10 @@ SECTIONS __HeapBegin = ORIGIN(DTCM_STACK); __HeapLimit = ORIGIN(DTCM_STACK) + 0x200 - 8; - + __StackLimit = ORIGIN(DTCM_STACK)+0x200; __StackTop = ORIGIN(DTCM_STACK) + LENGTH(DTCM_STACK) - 8; - + __rom_data_start = LOADADDR(.data); __rom_ncache_data_start = LOADADDR(.ncache_data); diff --git a/APP/main.c b/APP/main.c index e84867d..8a12d33 100644 --- a/APP/main.c +++ b/APP/main.c @@ -82,7 +82,13 @@ int main(void) { Bsp_CLOCK_Init(); if (CHECK_JTAG_DEBUG_ACTIVE) { - D_bInternalFlashPage_Clear(0x04000000, NULL, NULL); + + NumberBank = (*(__IO uint64_t *) (0x04000000)); + + if (NumberBank == 0x1122334455667788) { + D_bInternalFlashPage_Clear(0x04000000, NULL, NULL); + } + swap_bank(0); } else { diff --git a/CMakeLists.txt b/CMakeLists.txt index 38fba86..2b3e6b7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,15 +19,20 @@ SET(CMAKE_EXPORT_COMPILE_COMMANDS ON) #-- Project config ------------------------------------------------------------- PROJECT(HVAC_BOOT_OTA_M7) # Project name -SET(INTERNAL_HW_YEAR 0x26) -SET(INTERNAL_HW_MONTH 0x02) -SET(INTERNAL_HW_DAY 0x24) -SET(INTERNAL_HW_REV 0x01) +SET(INTERNAL_HW_YEAR 26) +SET(INTERNAL_HW_MONTH 8) +SET(INTERNAL_HW_DAY 21) +SET(INTERNAL_HW_REV 1) -SET(INTERNAL_SW_YEAR 0x26) -SET(INTERNAL_SW_MONTH 0x02) -SET(INTERNAL_SW_DAY 0x24) -SET(INTERNAL_SW_REV 0x01) +SET(INTERNAL_SW_YEAR 26) +SET(INTERNAL_SW_MONTH 8) +SET(INTERNAL_SW_DAY 21) +SET(INTERNAL_SW_REV 1) + +SET(INTERNAL_MDB_YEAR 26) +SET(INTERNAL_MDB_MONTH 8) +SET(INTERNAL_MDB_DAY 21) +SET(INTERNAL_MDB_REV 1) SET(FINGER_MODULE 0x00) SET(FINGER_TESTER_SERIAL \"B\") @@ -52,6 +57,10 @@ ADD_DEFINITIONS(-DINTERNAL_SW_MONTH=${INTERNAL_SW_MONTH}) ADD_DEFINITIONS(-DINTERNAL_SW_DAY=${INTERNAL_SW_DAY}) ADD_DEFINITIONS(-DINTERNAL_SW_REV=${INTERNAL_SW_REV}) +ADD_DEFINITIONS(-DINTERNAL_MDB_YEAR=${INTERNAL_MDB_YEAR}) +ADD_DEFINITIONS(-DINTERNAL_MDB_MONTH=${INTERNAL_MDB_MONTH}) +ADD_DEFINITIONS(-DINTERNAL_MDB_DAY=${INTERNAL_MDB_DAY}) +ADD_DEFINITIONS(-DINTERNAL_MDB_REV=${INTERNAL_MDB_REV}) ADD_DEFINITIONS(-DFINGER_MODULE=${FINGER_MODULE}) ADD_DEFINITIONS(-DFINGER_TESTER_SERIAL=${FINGER_TESTER_SERIAL})