This is an automated email from Gerrit.

Uwe Bonnes ([email protected]) just uploaded a new patch 
set to Gerrit, which you can find at http://openocd.zylin.com/3139

-- gerrit

commit d9261885a31a60e193c467d715adae772b285707
Author: Uwe Bonnes <[email protected]>
Date:   Mon Nov 30 12:12:42 2015 +0100

    stm32l4x.c: Use explicit 64-bit flash access as reference manual implies.
    
    Change-Id: I87b540c1ee7158a9d697e9fbc845a603c6bbe74d
    Signed-off-by: Uwe Bonnes <[email protected]>

diff --git a/contrib/loaders/flash/stm32l4x.S b/contrib/loaders/flash/stm32l4x.S
index 587cc33..045f9d0 100644
--- a/contrib/loaders/flash/stm32l4x.S
+++ b/contrib/loaders/flash/stm32l4x.S
@@ -51,9 +51,9 @@
  * r4 = flash base
  *
  * Clobbered:
- * r5 - rp
- * r6 - temp
- * r8 - wp, tmp
+ * r5   - rp
+ * r6/7 - temp (64-bit)
+ * r8   - wp, tmp
  */
 
 #define STM32_FLASH_CR_OFFSET  0x14    /* offset of CR register in FLASH 
struct */
@@ -70,10 +70,8 @@ wait_fifo:
 
        ldr     r6, STM32_PROG
        str     r6, [r4, #STM32_FLASH_CR_OFFSET]
-       ldr     r6, [r5], #0x04 /* read one word from src, increment ptr */
-       str     r6, [r2], #0x04 /* write one word to dst, increment ptr */
-       ldr     r6, [r5], #0x04 /* read one word from src, increment ptr */
-       str     r6, [r2], #0x04 /* write one word to dst, increment ptr */
+       ldrd    r6, [r5], #0x08 /* read one word from src, increment ptr */
+       strd    r6, [r2], #0x08 /* write one word to dst, increment ptr */
        dsb
 busy:
        ldr     r6, [r4, #STM32_FLASH_SR_OFFSET]
diff --git a/src/flash/nor/stm32l4x.c b/src/flash/nor/stm32l4x.c
index 93fbdff..f02a19b 100644
--- a/src/flash/nor/stm32l4x.c
+++ b/src/flash/nor/stm32l4x.c
@@ -463,14 +463,13 @@ static int stm32l4_write_block(struct flash_bank *bank, 
const uint8_t *buffer,
         */
 
        static const uint8_t stm32l4_flash_write_code[] = {
-               0xd0, 0xf8, 0x00, 0x80, 0xb8, 0xf1, 0x00, 0x0f, 0x22, 0xd0, 
0x45, 0x68,
-               0xb8, 0xeb, 0x05, 0x06, 0x07, 0x2e, 0xf5, 0xd3, 0xdf, 0xf8, 
0x3c, 0x60,
-               0x66, 0x61, 0x55, 0xf8, 0x04, 0x6b, 0x42, 0xf8, 0x04, 0x6b, 
0x55, 0xf8,
-               0x04, 0x6b, 0x42, 0xf8, 0x04, 0x6b, 0xbf, 0xf3, 0x4f, 0x8f, 
0x26, 0x69,
-               0x16, 0xf4, 0x80, 0x3f, 0xfb, 0xd1, 0x16, 0xf0, 0xfa, 0x0f, 
0x07, 0xd1,
-               0x8d, 0x42, 0x28, 0xbf, 0x00, 0xf1, 0x08, 0x05, 0x45, 0x60, 
0x01, 0x3b,
-               0x13, 0xb1, 0xd9, 0xe7, 0x00, 0x21, 0x41, 0x60, 0x30, 0x46, 
0x00, 0xbe,
-               0x01, 0x00, 0x00, 0x00
+               0xd0, 0xf8, 0x00, 0x80, 0xb8, 0xf1, 0x00, 0x0f, 0x1e, 0xd0, 
0x45, 0x68,
+               0xb8, 0xeb, 0x05, 0x06, 0x07, 0x2e, 0xf5, 0xd3, 0xdf, 0xf8, 
0x34, 0x60,
+               0x66, 0x61, 0xf5, 0xe8, 0x02, 0x67, 0xe2, 0xe8, 0x02, 0x67, 
0xbf, 0xf3,
+               0x4f, 0x8f, 0x26, 0x69, 0x16, 0xf4, 0x80, 0x3f, 0xfb, 0xd1, 
0x16, 0xf0,
+               0xfa, 0x0f, 0x07, 0xd1, 0x8d, 0x42, 0x28, 0xbf, 0x00, 0xf1, 
0x08, 0x05,
+               0x45, 0x60, 0x01, 0x3b, 0x13, 0xb1, 0xdd, 0xe7, 0x00, 0x21, 
0x41, 0x60,
+               0x30, 0x46, 0x00, 0xbe, 0x01, 0x00, 0x00, 0x00
        };
 
        if (target_alloc_working_area(target, sizeof(stm32l4_flash_write_code),

-- 

------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741551&iu=/4140
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to