aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorToms Stūrmanis <toms.sturmanis@gmail.com>2022-08-11 20:22:09 +0300
committerAntonio Borneo <borneo.antonio@gmail.com>2022-09-13 22:07:43 +0000
commitca52cfb2b34d684d10e9c91eeb2c6a66a1448b9f (patch)
tree1ccc461a778833381c7b8fe54c20f2a02543ffc8 /contrib
parent7dff68f65d93db45954be08967b54251ac9861f8 (diff)
downloadriscv-openocd-ca52cfb2b34d684d10e9c91eeb2c6a66a1448b9f.zip
riscv-openocd-ca52cfb2b34d684d10e9c91eeb2c6a66a1448b9f.tar.gz
riscv-openocd-ca52cfb2b34d684d10e9c91eeb2c6a66a1448b9f.tar.bz2
src/flash/nor: flash driver for RSL10
Add new flash driver for internal flash of onsemi RSL10 device. Valgrind-clean. Clang AddressSanitizer shows no errors. Signed-off-by: Toms Stūrmanis <toms.sturmanis@gmail.com> Change-Id: I8030542cb9805e94f56d7a69404cef5d88d6dd5a Reviewed-on: https://review.openocd.org/c/openocd/+/7115 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Diffstat (limited to 'contrib')
-rw-r--r--contrib/loaders/flash/rsl10/Makefile30
-rw-r--r--contrib/loaders/flash/rsl10/rom_launcher.S28
-rw-r--r--contrib/loaders/flash/rsl10/rom_launcher.inc2
3 files changed, 60 insertions, 0 deletions
diff --git a/contrib/loaders/flash/rsl10/Makefile b/contrib/loaders/flash/rsl10/Makefile
new file mode 100644
index 0000000..6e99bcc
--- /dev/null
+++ b/contrib/loaders/flash/rsl10/Makefile
@@ -0,0 +1,30 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+BIN2C = ../../../../src/helper/bin2char.sh
+
+CROSS_COMPILE ?= arm-none-eabi-
+
+CC=$(CROSS_COMPILE)gcc
+OBJCOPY=$(CROSS_COMPILE)objcopy
+OBJDUMP=$(CROSS_COMPILE)objdump
+
+CFLAGS = -static -nostartfiles -mlittle-endian -Wa,-EL
+
+all: rom_launcher.inc
+
+.PHONY: clean
+
+%.elf: %.S
+ $(CC) $(CFLAGS) $< -o $@
+
+%.lst: %.elf
+ $(OBJDUMP) -S $< > $@
+
+%.bin: %.elf
+ $(OBJCOPY) -Obinary $< $@
+
+%.inc: %.bin
+ $(BIN2C) < $< > $@
+
+clean:
+ -rm -f *.elf *.lst *.bin *.inc
diff --git a/contrib/loaders/flash/rsl10/rom_launcher.S b/contrib/loaders/flash/rsl10/rom_launcher.S
new file mode 100644
index 0000000..70f000e
--- /dev/null
+++ b/contrib/loaders/flash/rsl10/rom_launcher.S
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+/***************************************************************************
+ * Copyright (C) 2022 by Toms Stūrmanis *
+ * toms.sturmanis@gmail.com *
+ ***************************************************************************/
+
+ .text
+ .syntax unified
+ .cpu cortex-m4
+ .thumb
+ .align 8
+
+/*
+ * Params :
+ * r0-r2 = arguments
+ * r3 = target address in rom
+ */
+
+ .thumb_func
+ .global _start
+_start:
+launch_program_in_rom:
+ // variables are already set, addres to jump is in r3
+ blx r3
+exit:
+ // Wait for OpenOCD
+ bkpt #0x00
diff --git a/contrib/loaders/flash/rsl10/rom_launcher.inc b/contrib/loaders/flash/rsl10/rom_launcher.inc
new file mode 100644
index 0000000..795c8e0
--- /dev/null
+++ b/contrib/loaders/flash/rsl10/rom_launcher.inc
@@ -0,0 +1,2 @@
+/* Autogenerated with ../../../../src/helper/bin2char.sh */
+0x98,0x47,0x00,0xbe,