aboutsummaryrefslogtreecommitdiff
path: root/src/lmi.c
diff options
context:
space:
mode:
authorFredrik Ahlberg2014-11-23 22:59:16 +0100
committerFredrik Ahlberg2014-11-23 22:59:16 +0100
commit346258934b99c0ea50acfb5ea05fdf0537b3194a (patch)
tree0f68b1f48c99202d1d53a8027b1a6c5c4aa7c50b /src/lmi.c
parentfd9eef821e7451fcb1d7839f9d1d21c098787327 (diff)
Added support for TI TM4C123 Launchpad
Diffstat (limited to 'src/lmi.c')
-rw-r--r--src/lmi.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/lmi.c b/src/lmi.c
index cb620c0..a08819e 100644
--- a/src/lmi.c
+++ b/src/lmi.c
@@ -38,7 +38,7 @@ static int lmi_flash_erase(struct target_s *target, uint32_t addr, int len);
static int lmi_flash_write(struct target_s *target, uint32_t dest,
const uint8_t *src, int len);
-static const char lmi_driver_str[] = "LuminaryMicro Stellaris";
+static const char lmi_driver_str[] = "TI Stellaris/Tiva";
static const char lmi_xml_memory_map[] = "<?xml version=\"1.0\"?>"
/* "<!DOCTYPE memory-map "
@@ -51,6 +51,17 @@ static const char lmi_xml_memory_map[] = "<?xml version=\"1.0\"?>"
" <memory type=\"ram\" start=\"0x20000000\" length=\"0x10000\"/>"
"</memory-map>";
+static const char tm4c123gh6pm_xml_memory_map[] = "<?xml version=\"1.0\"?>"
+/* "<!DOCTYPE memory-map "
+ " PUBLIC \"+//IDN gnu.org//DTD GDB Memory Map V1.0//EN\""
+ " \"http://sourceware.org/gdb/gdb-memory-map.dtd\">"*/
+ "<memory-map>"
+ " <memory type=\"flash\" start=\"0\" length=\"0x40000\">"
+ " <property name=\"blocksize\">0x400</property>"
+ " </memory>"
+ " <memory type=\"ram\" start=\"0x20000000\" length=\"0x8000\"/>"
+ "</memory-map>";
+
uint16_t lmi_flash_write_stub[] = {
// _start:
@@ -100,6 +111,13 @@ bool lmi_probe(struct target_s *target)
target->flash_erase = lmi_flash_erase;
target->flash_write = lmi_flash_write;
return true;
+
+ case 0x10A1: /* TM4C123GH6PM */
+ target->driver = lmi_driver_str;
+ target->xml_mem_map = tm4c123gh6pm_xml_memory_map;
+ target->flash_erase = lmi_flash_erase;
+ target->flash_write = lmi_flash_write;
+ return true;
}
return false;
}