From 10f67b53d3f287861314ba179d3bc4ef168ca4c4 Mon Sep 17 00:00:00 2001 From: aottaviano Date: Wed, 28 Jun 2023 18:34:24 +0200 Subject: [PATCH] treewide: Update carfield target --- include/archi/chips/carfield/memory_map.h | 14 ++++++++++++-- include/archi/chips/carfield/properties.h | 8 ++++---- include/archi/chips/carfield/pulp.h | 1 + include/hal/chips/carfield/pulp.h | 1 + rules/pulpos/targets/carfield.mk | 4 ++-- 5 files changed, 20 insertions(+), 8 deletions(-) diff --git a/include/archi/chips/carfield/memory_map.h b/include/archi/chips/carfield/memory_map.h index ba30bb5..9bd74da 100644 --- a/include/archi/chips/carfield/memory_map.h +++ b/include/archi/chips/carfield/memory_map.h @@ -59,6 +59,12 @@ #define ARCHI_CLIC_OFFSET 0x00010000 #define ARCHI_HMR_OFFSET 0x00005000 #define ARCHI_STDOUT_OFFSET 0x00006000 +#define ARCHI_FC_TIMER_OFFSET 0x00008000 +#define ARCHI_INSTR_ERR_OFFSET 0x00020000 +#define ARCHI_DATA_ERR_OFFSET 0x00020010 +#define ARCHI_SHADOW_ERR_OFFSET 0x00020020 + + #define ARCHI_SOC_CTRL_ADDR ( ARCHI_SAFETY_ISLAND_PERIPHERALS_ADDR + ARCHI_SOC_CTRL_OFFSET ) #define ARCHI_BOOT_ROM_ADDR ( ARCHI_SAFETY_ISLAND_PERIPHERALS_ADDR + ARCHI_BOOT_ROM_OFFSET ) @@ -68,8 +74,12 @@ #define ARCHI_HMR_ADDR ( ARCHI_SAFETY_ISLAND_PERIPHERALS_ADDR + ARCHI_HMR_OFFSET ) #define ARCHI_STDOUT_ADDR ( ARCHI_SAFETY_ISLAND_PERIPHERALS_ADDR + ARCHI_STDOUT_OFFSET ) +#define ARCHI_FC_TIMER_ADDR ( ARCHI_SAFETY_ISLAND_PERIPHERALS_ADDR + ARCHI_FC_TIMER_OFFSET ) +#define ARCHI_CLIC_ADDR ( ARCHI_SAFETY_ISLAND_PERIPHERALS_ADDR + ARCHI_CLIC_OFFSET ) +#define ARCHI_INSTR_ERR_ADDR ( ARCHI_SAFETY_ISLAND_PERIPHERALS_ADDR + ARCHI_INSTR_ERR_OFFSET ) +#define ARCHI_DATA_ERR_ADDR ( ARCHI_SAFETY_ISLAND_PERIPHERALS_ADDR + ARCHI_DATA_ERR_OFFSET ) +#define ARCHI_SHADOW_ERR_ADDR ( ARCHI_SAFETY_ISLAND_PERIPHERALS_ADDR + ARCHI_SHADOW_ERR_OFFSET ) + #define ARCHI_FC_TIMER_SIZE 0x00000800 -#define ARCHI_FC_TIMER_OFFSET 0x0000B000 -#define ARCHI_FC_TIMER_ADDR ( ARCHI_SAFETY_ISLAND_PERIPHERALS_ADDR + ARCHI_FC_TIMER_OFFSET ) #endif diff --git a/include/archi/chips/carfield/properties.h b/include/archi/chips/carfield/properties.h index 42e3864..5e3f734 100644 --- a/include/archi/chips/carfield/properties.h +++ b/include/archi/chips/carfield/properties.h @@ -34,11 +34,11 @@ #define ARCHI_HAS_L2_MULTI 1 // #define ARCHI_HAS_L1 1 -#define ARCHI_LOCAL_PRIV0_ADDR ( ARCHI_SAFETY_ISLAND_BASE_ADDR + ARCHI_SAFETY_ISLAND_MEM_OFFSET ) -#define ARCHI_LOCAL_PRIV0_SIZE 0x00010000 +//#define ARCHI_LOCAL_PRIV0_ADDR ( ARCHI_SAFETY_ISLAND_BASE_ADDR + ARCHI_SAFETY_ISLAND_MEM_OFFSET ) +//#define ARCHI_LOCAL_PRIV0_SIZE 0x00010000 -#define ARCHI_LOCAL_PRIV1_ADDR ( ARCHI_LOCAL_PRIV0_ADDR + ARCHI_LOCAL_PRIV0_SIZE ) -#define ARCHI_LOCAL_PRIV1_SIZE 0x00010000 +//#define ARCHI_LOCAL_PRIV1_ADDR ( ARCHI_LOCAL_PRIV0_ADDR + ARCHI_LOCAL_PRIV0_SIZE ) +//#define ARCHI_LOCAL_PRIV1_SIZE 0x00010000 // L2 alias #define ARCHI_L2_PRIV0_ADDR ARCHI_LOCAL_PRIV0_ADDR diff --git a/include/archi/chips/carfield/pulp.h b/include/archi/chips/carfield/pulp.h index f2a0f76..b90ef69 100644 --- a/include/archi/chips/carfield/pulp.h +++ b/include/archi/chips/carfield/pulp.h @@ -27,5 +27,6 @@ #include "archi/chips/carfield/memory_map.h" #include "archi/stdout/stdout_v3.h" +#include "archi/buss_err_unit/bus_err_unit_v1.h" #endif diff --git a/include/hal/chips/carfield/pulp.h b/include/hal/chips/carfield/pulp.h index 21d5af0..db97c99 100644 --- a/include/hal/chips/carfield/pulp.h +++ b/include/hal/chips/carfield/pulp.h @@ -22,6 +22,7 @@ #include "hal/apb_soc/safety_soc_ctrl.h" #include "hal/timer/timer_v2.h" +#include "hal/bus_err_unit/bus_err_unit_v1.h" //#include "hal/cluster_ctrl/cluster_ctrl_v2.h" // TODO Add me! #endif diff --git a/rules/pulpos/targets/carfield.mk b/rules/pulpos/targets/carfield.mk index d13ea2f..d6ea8fc 100644 --- a/rules/pulpos/targets/carfield.mk +++ b/rules/pulpos/targets/carfield.mk @@ -2,8 +2,8 @@ PULP_LDFLAGS += PULP_CFLAGS += -D__cv32e40p__ -U__riscv__ -UARCHI_CORE_HAS_PULPV2 -PULP_ARCH_CFLAGS ?= -march=rv32imc_zfinx_xcorev -mabi=ilp32 -mno-pulp-hwloop -PULP_ARCH_LDFLAGS ?= -march=rv32imc_zfinx_xcorev -mabi=ilp32 -mno-pulp-hwloop +PULP_ARCH_CFLAGS ?= -march=rv32imac_zfinx_xcorev -mabi=ilp32 -mno-pulp-hwloop +PULP_ARCH_LDFLAGS ?= -march=rv32imac_zfinx_xcorev -mabi=ilp32 -mno-pulp-hwloop PULP_ARCH_OBJDFLAGS ?= PULP_CFLAGS += -fdata-sections -ffunction-sections -include chips/carfield/config.h -I$(PULPRT_HOME)/include/chips/carfield