aboutsummaryrefslogtreecommitdiff
path: root/src/flash/nor/drivers.c
diff options
context:
space:
mode:
authorCosmin Gorgovan <cosmin@linux-geek.org>2013-08-09 17:52:46 +0100
committerSpencer Oliver <spen@spen-soft.co.uk>2013-09-08 15:40:44 +0000
commite475896eb18185ac6089cfeec45c8bd4dcb73330 (patch)
treee80fec645ed3246f8f3a4a816e842ba43e29f6d2 /src/flash/nor/drivers.c
parent1c41362aeaca98e6a4e25e0f7e9d85c0c3a490aa (diff)
mini51: support for Nuvoton NuMicro Mini51 series flash memory
Adds a flash driver for Nuvoton MINI51, MINI52 and MINI54 microcontrollers. At the moment, it only supports the erase and write operations. These microcontrollers have a 4 / 8 / 16 KB APROM for application code and a 2 KB LDROM for bootloaders. When the MCU has booted off the APROM, the LDROM isn't mapped in memory but can be programmed, and the other way around. This means that the ARM core is typically rebooted for programming. After a successful write or erase operation, it is rebooted again, using the initial boot source. This driver only supports programming the APROM. This driver is a pure JTAG implementation, it doesn't use any SRAM. I've tested it on a MINI54ZAN microcontroller using an ST-LINK/V2. With the microcontroller running at the default clock frequency of 22.1184 MHz, speed seems to be around 1.1 KB/s. Change-Id: I180889c55af9fb5614cd99a953b755baba14288a Signed-off-by: Cosmin Gorgovan <cosmin@linux-geek.org> Reviewed-on: http://openocd.zylin.com/1546 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'src/flash/nor/drivers.c')
-rw-r--r--src/flash/nor/drivers.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/flash/nor/drivers.c b/src/flash/nor/drivers.c
index 57ae15fb..286ecf25 100644
--- a/src/flash/nor/drivers.c
+++ b/src/flash/nor/drivers.c
@@ -51,6 +51,7 @@ extern struct flash_driver fm3_flash;
extern struct flash_driver kinetis_flash;
extern struct flash_driver efm32_flash;
extern struct flash_driver mdr_flash;
+extern struct flash_driver mini51_flash;
/**
* The list of built-in flash drivers.
@@ -86,6 +87,7 @@ static struct flash_driver *flash_drivers[] = {
&kinetis_flash,
&efm32_flash,
&mdr_flash,
+ &mini51_flash,
NULL,
};