You mean STM32 is slow when writing data into flash?
But for ISP operation through COMM port(at a high baudrate), it can be as fast 
as 20KBytes/s as I remember.

2009-02-27 



Best Regards, Simon Qian

SimonQian([email protected]) ---- www.SimonQian.com



发件人: �yvind_Harboe 
发送时间: 2009-02-27  23:51:53 
收件人: openocd-development 
抄送: 
主题: [Openocd-development] STM32 flash programming performance 
 
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
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to