X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Fnor%2Fstm32x.c;h=5b31b0421a8dbcf8b02d160aad0a9431fee6dad4;hp=4ec777dd8270393f86ea577a76e27f2d91e4076c;hb=4617cd0f911d64a460d99d25c531ddc55f2452ca;hpb=260eb4548b01da3ecd2cd146bb22a0f36df1a038 diff --git a/src/flash/nor/stm32x.c b/src/flash/nor/stm32x.c index 4ec777dd82..5b31b0421a 100644 --- a/src/flash/nor/stm32x.c +++ b/src/flash/nor/stm32x.c @@ -446,6 +446,8 @@ static int stm32x_write_block(struct flash_bank *bank, uint8_t *buffer, struct armv7m_algorithm armv7m_info; int retval = ERROR_OK; + /* see contib/loaders/flash/stm32x.s for src */ + static const uint8_t stm32x_flash_write_code[] = { /* write: */ 0xDF, 0xF8, 0x24, 0x40, /* ldr r4, STM32_FLASH_CR */ @@ -462,6 +464,7 @@ static int stm32x_write_block(struct flash_bank *bank, uint8_t *buffer, 0x01, 0xD1, /* bne exit */ 0x01, 0x3A, /* subs r2, r2, #1 */ 0xED, 0xD1, /* bne write */ + /* exit: */ 0x00, 0xBE, /* bkpt #0 */ 0x10, 0x20, 0x02, 0x40, /* STM32_FLASH_CR: .word 0x40022010 */ 0x0C, 0x20, 0x02, 0x40 /* STM32_FLASH_SR: .word 0x4002200C */