diff options
author | Toms Stūrmanis <toms.sturmanis@gmail.com> | 2022-08-11 20:22:09 +0300 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2022-09-13 22:07:43 +0000 |
commit | ca52cfb2b34d684d10e9c91eeb2c6a66a1448b9f (patch) | |
tree | 1ccc461a778833381c7b8fe54c20f2a02543ffc8 /contrib | |
parent | 7dff68f65d93db45954be08967b54251ac9861f8 (diff) | |
download | riscv-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/Makefile | 30 | ||||
-rw-r--r-- | contrib/loaders/flash/rsl10/rom_launcher.S | 28 | ||||
-rw-r--r-- | contrib/loaders/flash/rsl10/rom_launcher.inc | 2 |
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, |