Hi,

This patch fixes the sector layout of the 512-KiB LPC2000 parts that use the 
"lpc2000_v2" variant. This affects LPC2300/2400 devices.

Older devices (LPC213x) had only 27 sectors available (500 KiB), but the 
LPC2300 have 28 sectors (504 KiB).

Regards,
Rolf

From dc19097c753aa3185fe8111b440884e9a76a94a2 Mon Sep 17 00:00:00 2001
From: Rolf Meeser <rolfm_...@yahoo.de>
Date: Fri, 3 Dec 2010 14:06:11 +0100
Subject: [PATCH 4/5] Fix sector layout for 504-KiB LPC2000 devices

---
 src/flash/nor/lpc2000.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/flash/nor/lpc2000.c b/src/flash/nor/lpc2000.c
index 14d0e44..fea663e 100644
--- a/src/flash/nor/lpc2000.c
+++ b/src/flash/nor/lpc2000.c
@@ -196,10 +196,13 @@ static int lpc2000_build_sector_list(struct flash_bank *bank)
 			case 256 * 1024:
 				bank->num_sectors = 15;
 				break;
-			case 512 * 1024:
 			case 500 * 1024:
 				bank->num_sectors = 27;
 				break;
+			case 512 * 1024:
+			case 504 * 1024:
+				bank->num_sectors = 28;
+				break;
 			default:
 				LOG_ERROR("BUG: unknown bank->size encountered");
 				exit(-1);
@@ -210,7 +213,7 @@ static int lpc2000_build_sector_list(struct flash_bank *bank)
 
 		for (i = 0; i < bank->num_sectors; i++)
 		{
-			if ((i >= 0) && (i < 8))
+			if (i < 8)
 			{
 				bank->sectors[i].offset = offset;
 				bank->sectors[i].size = 4 * 1024;
@@ -218,7 +221,7 @@ static int lpc2000_build_sector_list(struct flash_bank *bank)
 				bank->sectors[i].is_erased = -1;
 				bank->sectors[i].is_protected = 1;
 			}
-			if ((i >= 8) && (i < 22))
+			else if (i < 22)
 			{
 				bank->sectors[i].offset = offset;
 				bank->sectors[i].size = 32 * 1024;
@@ -226,7 +229,7 @@ static int lpc2000_build_sector_list(struct flash_bank *bank)
 				bank->sectors[i].is_erased = -1;
 				bank->sectors[i].is_protected = 1;
 			}
-			if ((i >= 22) && (i < 27))
+			else if (i < 28)
 			{
 				bank->sectors[i].offset = offset;
 				bank->sectors[i].size = 4 * 1024;
-- 
1.7.2.3

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to