From 46bf0abf77cca47133d3839460cc7679e0f78714 Mon Sep 17 00:00:00 2001 From: Guillaume Revaillot Date: Fri, 3 Apr 2020 16:13:35 +0200 Subject: [PATCH] add dual bank flash configuration info to chipid database. add a 'has_dual_bank' info to flash param, helping handling a couple of cases - selecting over dual bank specific code path without handling multiple chip id all over the code. - handling dual bank mode dynamic configuration --- include/stlink.h | 2 ++ include/stlink/chipid.h | 1 + src/common.c | 2 ++ 3 files changed, 5 insertions(+) diff --git a/include/stlink.h b/include/stlink.h index a69e357b5..ba7ef6196 100644 --- a/include/stlink.h +++ b/include/stlink.h @@ -159,6 +159,8 @@ typedef struct flash_loader { int serial_size; enum stlink_flash_type flash_type; // stlink_chipid_params.flash_type, set by stlink_load_device_params(), values: STLINK_FLASH_TYPE_xxx + bool has_dual_bank; + stm32_addr_t flash_base; // STM32_FLASH_BASE, set by stlink_load_device_params() size_t flash_size; // calculated by stlink_load_device_params() size_t flash_pgsz; // stlink_chipid_params.flash_pagesize, set by stlink_load_device_params() diff --git a/include/stlink/chipid.h b/include/stlink/chipid.h index 8895cd4f8..d23596c0d 100644 --- a/include/stlink/chipid.h +++ b/include/stlink/chipid.h @@ -73,6 +73,7 @@ struct stlink_chipid_params { uint32_t chip_id; char *description; enum stlink_flash_type flash_type; + bool has_dual_bank; uint32_t flash_size_reg; uint32_t flash_pagesize; uint32_t sram_size; diff --git a/src/common.c b/src/common.c index b6496c00c..5ccfcf0bb 100644 --- a/src/common.c +++ b/src/common.c @@ -885,7 +885,9 @@ int stlink_load_device_params(stlink_t *sl) { } else { sl->flash_size = flash_size * 1024; } + sl->flash_type = params->flash_type; + sl->has_dual_bank = params->has_dual_bank; sl->flash_pgsz = params->flash_pagesize; sl->sram_size = params->sram_size; sl->sys_base = params->bootrom_base;