From 564ca51f85da06936221112fceb7f9405f1f1b75 Mon Sep 17 00:00:00 2001 From: bluew Date: Fri, 8 Apr 2022 01:00:46 +0200 Subject: [PATCH] pulpissimo_cv32e40p: Use plusargs to pass simulation parameters --- configs/pulpissimo_cv32e40p.sh | 2 ++ rules/pulpos/default_rules.mk | 27 ++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/configs/pulpissimo_cv32e40p.sh b/configs/pulpissimo_cv32e40p.sh index 24a391f..33820d1 100644 --- a/configs/pulpissimo_cv32e40p.sh +++ b/configs/pulpissimo_cv32e40p.sh @@ -3,6 +3,8 @@ export PULPRT_TARGET=pulpissimo export PULPRUN_TARGET=pulpissimo export USE_CV32E40P=1 +# use plusarg to pass simulation boot parameters instead of floating parameters +export CONFIG_PLUSARG_SIM=1 if [ -n "${ZSH_VERSION:-}" ]; then DIR="$(readlink -f -- "${(%):-%x}")" diff --git a/rules/pulpos/default_rules.mk b/rules/pulpos/default_rules.mk index a9c3d7c..105510f 100644 --- a/rules/pulpos/default_rules.mk +++ b/rules/pulpos/default_rules.mk @@ -151,7 +151,29 @@ endif # # VSIM Flags # -vsim_flags ?= +ENTRY_POINT=0x1c008080 -dpicpppath /usr/bin/g++ -permit_unmatched_virtual_intf -gBAUDRATE=115200 +vsim_flags ?= +ENTRY_POINT=0x1c008080 -permit_unmatched_virtual_intf -gBAUDRATE=115200 + +ifdef CONFIG_PLUSARG_SIM + +ifdef bootmode +ifeq ($(bootmode), spi) +vsim_flags += +bootmode=spi_flash +else ifeq ($(bootmode), hyperflash) +vsim_flags += +bootmode=hyper_flash +else ifeq ($(bootmode), fast_debug) +vsim_flags += +bootmode=fast_debug_preload +else ifeq ($(bootmode), jtag) +vsim_flags += +bootmode=jtag +else +$(error Illegal value supplied for bootmode. Legal values are 'spi', 'hyperflash', 'fast_debug' and 'jtag') +endif +else +# default bootmode +vsim_flags += +bootmode=jtag +endif + +else + ifdef bootmode ifeq ($(bootmode), spi) vsim_flags += -gSTIM_FROM=SPI_FLASH -gLOAD_L2=STANDALONE -gUSE_S25FS256S_MODEL=1 @@ -173,6 +195,9 @@ endif else vsim_flags += -gLOAD_L2=JTAG endif +endif + + ifdef vsim_additional_flags vsim_flags += $(vsim_additional_flags) endif