summaryrefslogtreecommitdiff
path: root/chip/lm4/openocd/lm4x_cmds.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'chip/lm4/openocd/lm4x_cmds.tcl')
-rw-r--r--chip/lm4/openocd/lm4x_cmds.tcl42
1 files changed, 42 insertions, 0 deletions
diff --git a/chip/lm4/openocd/lm4x_cmds.tcl b/chip/lm4/openocd/lm4x_cmds.tcl
new file mode 100644
index 0000000000..d117db71f6
--- /dev/null
+++ b/chip/lm4/openocd/lm4x_cmds.tcl
@@ -0,0 +1,42 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Command automation for Blizzard LM4F chip
+
+# Program internal flash
+
+proc flash_lm4 {path size} {
+ set lastsect [expr {$size / 1024 - 1}];
+ reset halt;
+ flash erase_sector 0 0 $lastsect;
+ flash write_image $path 0;
+ reset
+}
+
+# Link proto0 has 128KB flash; proto1+ will likely have 256KB, in which
+# case this'll need changing.
+proc flash_link { } {
+ flash_lm4 ../../../build/link/ec.bin 131072
+}
+
+proc flash_bds { } {
+ flash_lm4 ../../../build/bds/ec.bin 262144
+}
+
+# Boot a software using internal RAM only
+
+proc ramboot_lm4 {path} {
+ reset halt
+ load_image $path 0x20000000 bin
+ reg 15 0x20000400
+ resume
+}
+
+proc ramboot_link { } {
+ ramboot_lm4 ../../../build/link/ec.RO.flat
+}
+
+proc ramboot_bds { } {
+ ramboot_lm4 ../../../build/bds/ec.RO.flat
+}