diff options
author | Tarek BOCHKATI <tarek.bouchkati@gmail.com> | 2021-01-22 13:15:52 +0100 |
---|---|---|
committer | Oleksij Rempel <linux@rempel-privat.de> | 2021-08-26 06:21:38 +0000 |
commit | e609d5a5de84b3daf8b9524143e41a6c0713fd8f (patch) | |
tree | 18ae3ad18b757f47727be7f4e246cadd6c38f7e5 /src/flash | |
parent | c9d40366ad55ea3a83f2ff438aab1e62da653169 (diff) | |
download | riscv-openocd-e609d5a5de84b3daf8b9524143e41a6c0713fd8f.zip riscv-openocd-e609d5a5de84b3daf8b9524143e41a6c0713fd8f.tar.gz riscv-openocd-e609d5a5de84b3daf8b9524143e41a6c0713fd8f.tar.bz2 |
flash/stm32l4x: STM32L5 support programming when TZEN=1 and RDP=0x55
when RDP level is 0.5 the provided work-area should reside in non-secure RAM
to ensure that:
- add a hint in the driver level
- reduce the usage of secure RAM only when TZEN=1 and RDP is not 0.5
(check the target configuration file)
Change-Id: Idbf2325e609b84ef8480eefdb49a176fdf7e07c7
Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/6035
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-by: Oleksij Rempel <linux@rempel-privat.de>
Tested-by: jenkins
Diffstat (limited to 'src/flash')
-rw-r--r-- | src/flash/nor/stm32l4x.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/flash/nor/stm32l4x.c b/src/flash/nor/stm32l4x.c index db8d5e7..de36d56 100644 --- a/src/flash/nor/stm32l4x.c +++ b/src/flash/nor/stm32l4x.c @@ -1434,6 +1434,13 @@ static int stm32l4_write(struct flash_bank *bank, const uint8_t *buffer, if (retval != ERROR_OK) goto err_lock; + /* For TrustZone enabled devices, when TZEN is set and RDP level is 0.5, + * the debug is possible only in non-secure state. + * Thus means the flashloader will run in non-secure mode, + * and the workarea need to be in non-secure RAM */ + if (stm32l4_info->tzen && (stm32l4_info->rdp == RDP_LEVEL_0_5)) + LOG_INFO("RDP level is 0.5, the work-area should reside in non-secure RAM"); + retval = stm32l4_write_block(bank, buffer, offset, count / 8); err_lock: |