[Pkg-electronics-commits] [openocd] 18/19: Modified Sector Erase for AT91SAM4S

Jonathan McDowell noodles at moszumanska.debian.org
Tue Oct 31 21:15:18 UTC 2017


This is an automated email from the git hooks/post-receive script.

noodles pushed a commit to annotated tag v0.6.1
in repository openocd.

commit e69b94295ead882a2c3588249985a6d1215096c8
Author: Olivier Schonken <olivier.schonken at gmail.com>
Date:   Wed Sep 12 21:56:50 2012 +0200

    Modified Sector Erase for AT91SAM4S
    
    In FLASHD_ErasePages AT91C_EFC_FCMD_EPA is used to erase sectors.
    According to the datasheet FARG[15:2] defines the page from which
    the erase will start.This page must be modulo 4, 8, 16 or 32
    according to the number of pages to erase. FARG[1:0] defines the
    number of pages to be erased. Previously (firstpage << 2) was used
    to conform to this, seems it should not be shifted... Changed it
    to (firstPage) | erasePages.
    
    Change-Id: I791cc7fc4faf056623ad5a6c7e860315306098a1
    Signed-off-by: Olivier Schonken <olivier.schonken at gmail.com>
    Reviewed-on: http://openocd.zylin.com/897
    Tested-by: jenkins
    Reviewed-by: Freddie Chopin <freddie.chopin at gmail.com>
---
 src/flash/nor/at91sam4.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/flash/nor/at91sam4.c b/src/flash/nor/at91sam4.c
index fd98b7f..ce3c1d1 100644
--- a/src/flash/nor/at91sam4.c
+++ b/src/flash/nor/at91sam4.c
@@ -722,10 +722,17 @@ static int FLASHD_ErasePages(struct sam4_bank_private *pPrivate,
 			break;
 	}
 
+	/* AT91C_EFC_FCMD_EPA
+	 * According to the datasheet FARG[15:2] defines the page from which
+	 * the erase will start.This page must be modulo 4, 8, 16 or 32
+	 * according to the number of pages to erase. FARG[1:0] defines the
+	 * number of pages to be erased. Previously (firstpage << 2) was used
+	 * to conform to this, seems it should not be shifted...
+	 */
 	return EFC_PerformCommand(pPrivate,
 		/* send Erase Page */
 		AT91C_EFC_FCMD_EPA,
-		(firstPage << 2) | erasePages,
+		(firstPage) | erasePages,
 		status);
 }
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-electronics/openocd.git



More information about the Pkg-electronics-commits mailing list