[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openocd-development
Subject:    [OpenOCD-devel] [PATCH]: 8be842a stm32l4x.c: Correct waiting for data.
From:       gerrit () openocd ! org (gerrit)
Date:       2015-11-30 11:30:22
Message-ID: 20151130113022.C014119808E5 () mail ! openocd ! org
[Download RAW message or body]

This is an automated email from Gerrit.

Uwe Bonnes (bon@elektron.ikp.physik.tu-darmstadt.de) just uploaded a new patch set to \
Gerrit, which you can find at http://openocd.zylin.com/3140

-- gerrit

commit 8be842a3773feaf78c576b2177d41705bbfedcaa
Author: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Date:   Mon Nov 30 12:21:12 2015 +0100

     stm32l4x.c: Correct waiting for data.
    
    Old code waited only for 7 bytes and didn't handle buffer wrap-around, but
    was functional despite.
    
    Change-Id: Iceaf7be1e51368b2ec0a8722cc9ac16d12f9aa63
    Signed-off-by: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>

diff --git a/contrib/loaders/flash/stm32l4x.S b/contrib/loaders/flash/stm32l4x.S
index 045f9d0..799dec5 100644
--- a/contrib/loaders/flash/stm32l4x.S
+++ b/contrib/loaders/flash/stm32l4x.S
@@ -65,7 +65,10 @@ wait_fifo:
 	beq 	exit
 	ldr 	r5, [r0, #4]	/* read rp */
 	subs	r6, r8, r5	/* number of bytes available for read in r6*/
-	cmp 	r6, #7		/* wait until 8 bytes are available */
+	itt 	mi              /* if wrapped around*/
+	addmi	r6, r1          /* add size of buffer */
+	submi	r6, r0
+	cmp 	r6, #8		/* wait until 8 bytes are available */
 	bcc 	wait_fifo
 
 	ldr	r6, STM32_PROG
diff --git a/src/flash/nor/stm32l4x.c b/src/flash/nor/stm32l4x.c
index f02a19b..346945a 100644
--- a/src/flash/nor/stm32l4x.c
+++ b/src/flash/nor/stm32l4x.c
@@ -463,13 +463,14 @@ 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, 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
+		0xd0, 0xf8, 0x00, 0x80, 0xb8, 0xf1, 0x00, 0x0f, 0x21, 0xd0, 0x45, 0x68,
+		0xb8, 0xeb, 0x05, 0x06, 0x44, 0xbf, 0x76, 0x18, 0x36, 0x1a, 0x08, 0x2e,
+		0xf2, 0xd3, 0xdf, 0xf8, 0x36, 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,
+		0xda, 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
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic