aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Färber <afaerber@suse.de>2015-11-29 03:35:51 +0100
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>2016-02-29 19:45:36 +0000
commitc3c15d2e076639fad185a0c45b866e9c5e754af5 (patch)
tree85c9b09e5f7aa8355e85f16ae32b15bbdb5b5ee3
parent7cf68a0f16e265996143056754774481eb9df7eb (diff)
armv7m: Integrate build of erase check code
Instead of documenting the file path as a comment and inline-commenting the THUMB bytecode, include the hex array via preprocessor. This assures the path is actually up-to-date and facilitates updating the code. Change-Id: Ieb0a7cd0bc14882ac96750f524616d9768a0c6f5 Signed-off-by: Andreas Färber <afaerber@suse.de> Reviewed-on: http://openocd.zylin.com/3134 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
-rw-r--r--contrib/loaders/erase_check/armv7m_erase_check.inc2
-rw-r--r--src/target/armv7m.c10
2 files changed, 3 insertions, 9 deletions
diff --git a/contrib/loaders/erase_check/armv7m_erase_check.inc b/contrib/loaders/erase_check/armv7m_erase_check.inc
new file mode 100644
index 00000000..1fe25cd5
--- /dev/null
+++ b/contrib/loaders/erase_check/armv7m_erase_check.inc
@@ -0,0 +1,2 @@
+/* Autogenerated with ../../../src/helper/bin2char.sh */
+0x03,0x78,0x01,0x30,0x1a,0x40,0x01,0x39,0xfa,0xd1,0x00,0xbe,
diff --git a/src/target/armv7m.c b/src/target/armv7m.c
index 15de8cd9..52b394cf 100644
--- a/src/target/armv7m.c
+++ b/src/target/armv7m.c
@@ -769,16 +769,8 @@ int armv7m_blank_check_memory(struct target *target,
struct armv7m_algorithm armv7m_info;
int retval;
- /* see contrib/loaders/erase_check/armv7m_erase_check.s for src */
-
static const uint8_t erase_check_code[] = {
- /* loop: */
- 0x03, 0x78, /* ldrb r3, [r0] */
- 0x01, 0x30, /* adds r0, #1 */
- 0x1A, 0x40, /* ands r2, r2, r3 */
- 0x01, 0x39, /* subs r1, r1, #1 */
- 0xFA, 0xD1, /* bne loop */
- 0x00, 0xBE /* bkpt #0 */
+#include "../../contrib/loaders/erase_check/armv7m_erase_check.inc"
};
/* make sure we have a working area */