This is an automated email from Gerrit. Marc Schink (d...@zapb.de) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/6326
-- gerrit commit 68bd2752bb56955caca570790d698d538962793f Author: Marc Schink <d...@zapb.de> Date: Mon Jun 21 16:18:38 2021 +0200 flash/nor/stm32l4: Fix stm32l4_probe() The current implementation fails due to the assert() statements in get_stm32l4_rev_str() and get_stm32l4_bank_type_str(). Rearrange the code in order to fix the problem. Change-Id: If19c648dec8ddd3ef2fb801150114104b34c3bf2 Signed-off-by: Marc Schink <d...@zapb.de> diff --git a/src/flash/nor/stm32l4x.c b/src/flash/nor/stm32l4x.c index cd62295..ff5b7d7 100644 --- a/src/flash/nor/stm32l4x.c +++ b/src/flash/nor/stm32l4x.c @@ -1372,8 +1372,6 @@ static int stm32l4_probe(struct flash_bank *bank) return retval; const uint32_t device_id = stm32l4_info->idcode & 0xFFF; - const uint16_t rev_id = stm32l4_info->idcode >> 16; - const char *rev_str = get_stm32l4_rev_str(bank); for (unsigned int n = 0; n < ARRAY_SIZE(stm32l4_parts); n++) { if (device_id == stm32l4_parts[n].id) { @@ -1390,10 +1388,6 @@ static int stm32l4_probe(struct flash_bank *bank) part_info = stm32l4_info->part_info; stm32l4_info->flash_regs = stm32l4_info->part_info->default_flash_regs; - LOG_INFO("device idcode = 0x%08" PRIx32 " (%s - Rev %s : 0x%04x - %s-bank)", - stm32l4_info->idcode, part_info->device_str, rev_str, rev_id, - get_stm32l4_bank_type_str(bank)); - /* read flash option register */ retval = stm32l4_read_flash_reg_by_index(bank, STM32_FLASH_OPTR_INDEX, &options); if (retval != ERROR_OK) @@ -1620,6 +1614,14 @@ static int stm32l4_probe(struct flash_bank *bank) } stm32l4_info->probed = true; + + const char *rev_str = get_stm32l4_rev_str(bank); + const uint16_t rev_id = stm32l4_info->idcode >> 16; + + LOG_INFO("device idcode = 0x%08" PRIx32 " (%s - Rev %s : 0x%04x - %s-bank)", + stm32l4_info->idcode, part_info->device_str, rev_str, rev_id, + get_stm32l4_bank_type_str(bank)); + return ERROR_OK; } --