summaryrefslogtreecommitdiff
path: root/scripts/standalone.mk
diff options
context:
space:
mode:
authorNathaniel Graff <nathaniel.graff@sifive.com>2019-03-06 13:08:22 -0800
committerNathaniel Graff <nathaniel.graff@sifive.com>2019-03-06 13:39:36 -0800
commit6aab6996dbd890c5788bf4e330454a3490268174 (patch)
tree83596e3e6ed4d1fa832f6771cdee2ee35c070b95 /scripts/standalone.mk
parentcc49f2721ad0c59ce829b4547644345e7a399068 (diff)
Add support for Segger J-Link
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
Diffstat (limited to 'scripts/standalone.mk')
-rw-r--r--scripts/standalone.mk16
1 files changed, 16 insertions, 0 deletions
diff --git a/scripts/standalone.mk b/scripts/standalone.mk
index e80e0c1..921d6a1 100644
--- a/scripts/standalone.mk
+++ b/scripts/standalone.mk
@@ -54,6 +54,7 @@ ifeq ($(RISCV_PATH),)
RISCV_GCC := $(CROSS_COMPILE)-gcc
RISCV_GXX := $(CROSS_COMPILE)-g++
RISCV_OBJDUMP := $(CROSS_COMPILE)-objdump
+RISCV_OBJCOPY := $(CROSS_COMPILE)-objcopy
RISCV_GDB := $(CROSS_COMPILE)-gdb
RISCV_AR := $(CROSS_COMPILE)-ar
RISCV_SIZE := $(CROSS_COMPILE)-size
@@ -61,12 +62,16 @@ else
RISCV_GCC := $(abspath $(RISCV_PATH)/bin/$(CROSS_COMPILE)-gcc)
RISCV_GXX := $(abspath $(RISCV_PATH)/bin/$(CROSS_COMPILE)-g++)
RISCV_OBJDUMP := $(abspath $(RISCV_PATH)/bin/$(CROSS_COMPILE)-objdump)
+RISCV_OBJCOPY := $(abspath $(RISCV_PATH)/bin/$(CROSS_COMPILE)-objcopy)
RISCV_GDB := $(abspath $(RISCV_PATH)/bin/$(CROSS_COMPILE)-gdb)
RISCV_AR := $(abspath $(RISCV_PATH)/bin/$(CROSS_COMPILE)-ar)
RISCV_SIZE := $(abspath $(RISCV_PATH)/bin/$(CROSS_COMPILE)-size)
PATH := $(abspath $(RISCV_PATH)/bin):$(PATH)
endif
+SEGGER_JLINK_EXE := JLinkExe
+SEGGER_JLINK_GDB_SERVER := JLinkGDBServer
+
#############################################################
# Software
#############################################################
@@ -84,6 +89,9 @@ software: $(PROGRAM_ELF)
ifneq ($(COREIP_MEM_WIDTH),)
software: $(PROGRAM_HEX)
endif
+ifneq ($(SEGGER_JLINK_OB),)
+software: $(PROGRAM_HEX)
+endif
PROGRAM_SRCS = $(wildcard $(SRC_DIR)/*.c) $(wildcard $(SRC_DIR)/*.h) $(wildcard $(SRC_DIR)/*.S)
@@ -104,6 +112,14 @@ $(PROGRAM_ELF): \
$(RISCV_SIZE) $@
+ifneq ($(SEGGER_JLINK_OB),)
+# If we're using Segger J-Link OB, use objcopy to create an Intel hex file for programming
+$(PROGRAM_HEX): \
+ $(RISCV_OBJCOPY) \
+ $(PROGRAM_ELF)
+ $< -O ihex $(PROGRAM_ELF) $@
+endif
+
.PHONY: clean-software
clean-software:
$(MAKE) -C $(SRC_DIR) clean