From babf8b1c4e7857b5a0a12fcd30450d6ff2314177 Mon Sep 17 00:00:00 2001 From: Michael Rogenmoser Date: Fri, 22 Jan 2021 17:52:42 +0100 Subject: [PATCH] Add ibex compatibility to pulpissimo --- include/archi/chips/pulpissimo/pulp.h | 4 ++++ include/hal/chips/pulpissimo/pulp.h | 4 ++++ rules/pulpos/targets/pulpissimo.mk | 9 +++++++++ 3 files changed, 17 insertions(+) diff --git a/include/archi/chips/pulpissimo/pulp.h b/include/archi/chips/pulpissimo/pulp.h index d94bf2b..454bcab 100644 --- a/include/archi/chips/pulpissimo/pulp.h +++ b/include/archi/chips/pulpissimo/pulp.h @@ -24,7 +24,11 @@ //#include "archi/periph_v2.h" #include "archi/gpio/gpio_v3.h" #include "archi/riscv/priv_1_10.h" +#ifdef __ibex__ +#include "archi/ibex/mhpm.h" +#else // __ibex__ #include "archi/riscv/pcer_v2.h" +#endif // __ibex__ #include "archi/chips/pulpissimo/memory_map.h" #include "archi/chips/pulpissimo/apb_soc.h" diff --git a/include/hal/chips/pulpissimo/pulp.h b/include/hal/chips/pulpissimo/pulp.h index 8d10be9..04f2764 100644 --- a/include/hal/chips/pulpissimo/pulp.h +++ b/include/hal/chips/pulpissimo/pulp.h @@ -17,7 +17,11 @@ #ifndef __HAL_CHIPS_PULPISSIMO_PULP_H__ #define __HAL_CHIPS_PULPISSIMO_PULP_H__ +#ifdef __ibex__ +#include "hal/ibex/ibex.h" +#else // __ibex__ #include "hal/riscv/riscv_v5.h" +#endif // __ibex__ #include "hal/itc/itc_v1.h" #include "hal/timer/timer_v2.h" #include "hal/soc_eu/soc_eu_v2.h" diff --git a/rules/pulpos/targets/pulpissimo.mk b/rules/pulpos/targets/pulpissimo.mk index 31fa720..782b300 100644 --- a/rules/pulpos/targets/pulpissimo.mk +++ b/rules/pulpos/targets/pulpissimo.mk @@ -1,8 +1,17 @@ +ifdef USE_IBEX +PULP_LDFLAGS += +PULP_CFLAGS += -D__ibex__ -U__riscv__ -UARCHI_CORE_HAS_PULPV2 -DRV_ISA_RV32 +PULP_ARCH_CFLAGS ?= -march=rv32imc +PULP_ARCH_LDFLAGS ?= -march=rv32imc +PULP_ARCH_OBJDFLAGS ?= -Mmarch=rv32imc +else PULP_LDFLAGS += PULP_CFLAGS += -D__riscv__ PULP_ARCH_CFLAGS ?= -march=rv32imcxgap9 PULP_ARCH_LDFLAGS ?= -march=rv32imcxgap9 PULP_ARCH_OBJDFLAGS ?= -Mmarch=rv32imcxgap9 +endif + PULP_CFLAGS += -fdata-sections -ffunction-sections -include chips/pulpissimo/config.h -I$(PULPRT_HOME)/include/chips/pulpissimo PULP_OMP_CFLAGS += -fopenmp -mnativeomp PULP_LDFLAGS += -nostartfiles -nostdlib -Wl,--gc-sections -L$(PULPRT_HOME)/kernel -Tchips/pulpissimo/link.ld -lgcc