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