I've looked a bit more into STM32 flash programming performance and
most of the time is spent waiting for the target to complete
flash programming, i.e. it appears that it is the *target* that is
slow.
Could this be the case?
Algorithm from flash/stm32x.c
u8 stm32x_flash_write_code[] = {
/*
write: */
0xDF, 0xF8, 0x24, 0x40, /* ldr r4, STM32_FLASH_CR */
0x09, 0x4D, /* ldr r5,
STM32_FLASH_SR */
0x4F, 0xF0, 0x01, 0x03, /* mov r3, #1 */
0x23, 0x60, /* str r3,
[r4, #0] */
0x30, 0xF8, 0x02, 0x3B, /* ldrh r3, [r0], #2 */
0x21, 0xF8, 0x02, 0x3B, /* strh r3, [r1], #2 */
/*
busy: */
0x2B, 0x68, /* ldr r3,
[r5, #0] */
0x13, 0xF0, 0x01, 0x0F, /* tst r3, #0x01 */
0xFB, 0xD0, /* beq busy */
0x13, 0xF0, 0x14, 0x0F, /* tst r3, #0x14 */
0x01, 0xD1, /* bne exit */
0x01, 0x3A, /* subs r2, r2,
#1 */
0xED, 0xD1, /* bne write */
/*
exit: */
0xFE, 0xE7, /* b exit */
0x10, 0x20, 0x02, 0x40, /* STM32_FLASH_CR: .word
0x40022010 */
0x0C, 0x20, 0x02, 0x40 /* STM32_FLASH_SR: .word
0x4002200C */
};
--
Øyvind Harboe
PayBack incident management system
Reduce costs and increase quality, free Starter Edition
http://www.payback.no/index_en.html
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development