aboutsummaryrefslogtreecommitdiff
path: root/tcl/target
diff options
context:
space:
mode:
authorSteven Stallion <stallion@squareup.com>2018-08-28 17:18:01 -0700
committerMatthias Welwarsky <matthias@welwarsky.de>2018-10-16 11:58:24 +0100
commit4ab75a3634901c4e3897d771e2c75a64c7353c28 (patch)
tree475731fa20dae25c39a88804e894b69c69900e2f /tcl/target
parente72b2601e71f49af10f72c4bb6220ee2061ef173 (diff)
downloadriscv-openocd-4ab75a3634901c4e3897d771e2c75a64c7353c28.zip
riscv-openocd-4ab75a3634901c4e3897d771e2c75a64c7353c28.tar.gz
riscv-openocd-4ab75a3634901c4e3897d771e2c75a64c7353c28.tar.bz2
esirisc: support eSi-RISC targets
eSi-RISC is a highly configurable microprocessor architecture for embedded systems provided by EnSilica. This patch adds support for 32-bit targets and also includes an internal flash driver and uC/OS-III RTOS support. This is a non-traditional target and required a number of additional changes to support non-linear register numbers and the 'p' packet in RTOS support for proper integration into EnSilica's GDB port. Change-Id: I59d5c40b3bb2ace1b1a01b2538bfab211adf113f Signed-off-by: Steven Stallion <stallion@squareup.com> Reviewed-on: http://openocd.zylin.com/4660 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
Diffstat (limited to 'tcl/target')
-rw-r--r--tcl/target/esi32xx.cfg36
1 files changed, 36 insertions, 0 deletions
diff --git a/tcl/target/esi32xx.cfg b/tcl/target/esi32xx.cfg
new file mode 100644
index 0000000..d32af39
--- /dev/null
+++ b/tcl/target/esi32xx.cfg
@@ -0,0 +1,36 @@
+#
+# EnSilica eSi-32xx SoC (eSi-RISC Family)
+# http://www.ensilica.com/risc-ip/
+#
+
+if { [info exists CHIPNAME] } {
+ set _CHIPNAME $CHIPNAME
+} else {
+ set _CHIPNAME esi32xx
+}
+
+if { [info exists CPUTAPID] } {
+ set _CPUTAPID $CPUTAPID
+} else {
+ set _CPUTAPID 0x11234001
+}
+
+jtag newtap $_CHIPNAME cpu -irlen 4 -expected-id $_CPUTAPID
+
+set _TARGETNAME $_CHIPNAME.cpu
+target create $_TARGETNAME esirisc -chain-position $_CHIPNAME.cpu
+
+# Targets with the UNIFIED_ADDRESS_SPACE option disabled should set
+# CACHEARCH to 'harvard'. By default, 'von_neumann' is assumed.
+if { [info exists CACHEARCH] } {
+ $_TARGETNAME esirisc cache_arch $CACHEARCH
+}
+
+adapter_khz 2000
+
+reset_config none
+
+# The default linker scripts provided by the eSi-RISC toolchain do not
+# specify attributes on memory regions, which results in incorrect
+# application of software breakpoints by GDB.
+gdb_breakpoint_override hard