summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2023-05-19 16:02:26 +0700
committerhathach <[email protected]>2023-05-19 16:02:26 +0700
commit270136e84af4f01c394be17fc0688461cf3d1f1c (patch)
tree5de69a9cd0b7e9c108e0cb9f27fd71f9376375f7
parente8dd200fed6adeebd98ebc7abf09d45285da7abf (diff)
adding cpu core .mk for makefile
fix cortex m33 for nrf5340 dk
-rw-r--r--examples/make.mk3
-rw-r--r--hw/bsp/nrf/boards/pca10095/board.mk1
-rw-r--r--hw/bsp/nrf/family.mk9
-rw-r--r--tools/make/cpu/cortex-m33.mk11
-rw-r--r--tools/make/cpu/cortex-m4.mk11
-rw-r--r--tools/make/cpu/cortex-m7.mk11
6 files changed, 41 insertions, 5 deletions
diff --git a/examples/make.mk b/examples/make.mk
index 2ce6fb398..28ebc62da 100644
--- a/examples/make.mk
+++ b/examples/make.mk
@@ -2,6 +2,8 @@
# Common make definition for all examples
# ---------------------------------------
+TOOLCHAIN ?= gcc
+
#-------------- TOP and CURRENT_PATH ------------
# Set TOP to be the path to get from the current directory (where make was
@@ -75,6 +77,7 @@ else
endif
#-------------- Cross Compiler ------------
+
# Can be set by board, default to ARM GCC
CROSS_COMPILE ?= arm-none-eabi-
diff --git a/hw/bsp/nrf/boards/pca10095/board.mk b/hw/bsp/nrf/boards/pca10095/board.mk
index 5ad103d62..9c4edbafc 100644
--- a/hw/bsp/nrf/boards/pca10095/board.mk
+++ b/hw/bsp/nrf/boards/pca10095/board.mk
@@ -1,3 +1,4 @@
+CPU_CORE = cortex-m33
MCU_VARIANT = nrf5340_application
CFLAGS += -DNRF5340_XXAA -DNRF5340_XXAA_APPLICATION
diff --git a/hw/bsp/nrf/family.mk b/hw/bsp/nrf/family.mk
index d5042a160..13258c9e0 100644
--- a/hw/bsp/nrf/family.mk
+++ b/hw/bsp/nrf/family.mk
@@ -3,13 +3,12 @@ DEPS_SUBMODULES += lib/CMSIS_5 hw/mcu/nordic/nrfx
include $(TOP)/$(BOARD_PATH)/board.mk
+CPU_CORE ?= cortex-m4
+
+include $(TOP)/tools/make/cpu/$(CPU_CORE).mk
+
CFLAGS += \
-flto \
- -mthumb \
- -mabi=aapcs \
- -mcpu=cortex-m4 \
- -mfloat-abi=hard \
- -mfpu=fpv4-sp-d16 \
-DCFG_TUSB_MCU=OPT_MCU_NRF5X \
-DCONFIG_GPIO_AS_PINRESET
diff --git a/tools/make/cpu/cortex-m33.mk b/tools/make/cpu/cortex-m33.mk
new file mode 100644
index 000000000..cae8c6e3a
--- /dev/null
+++ b/tools/make/cpu/cortex-m33.mk
@@ -0,0 +1,11 @@
+ifeq ($(TOOLCHAIN),gcc)
+ CFLAGS += \
+ -mthumb \
+ -mcpu=cortex-m33 \
+ -mfloat-abi=hard \
+ -mfpu=fpv5-d16 \
+
+ #set(FREERTOS_PORT GCC_ARM_CM33_NONSECURE CACHE INTERNAL "")
+else ifeq ($(TOOLCHAIN),iar)
+ # TODO support IAR
+endif
diff --git a/tools/make/cpu/cortex-m4.mk b/tools/make/cpu/cortex-m4.mk
new file mode 100644
index 000000000..7a3e204e2
--- /dev/null
+++ b/tools/make/cpu/cortex-m4.mk
@@ -0,0 +1,11 @@
+ifeq ($(TOOLCHAIN),gcc)
+ CFLAGS += \
+ -mthumb \
+ -mcpu=cortex-m4 \
+ -mfloat-abi=hard \
+ -mfpu=fpv4-sp-d16 \
+
+ #set(FREERTOS_PORT GCC_ARM_CM4F CACHE INTERNAL "")
+else ifeq ($(TOOLCHAIN),iar)
+ # TODO support IAR
+endif
diff --git a/tools/make/cpu/cortex-m7.mk b/tools/make/cpu/cortex-m7.mk
new file mode 100644
index 000000000..47de4e07d
--- /dev/null
+++ b/tools/make/cpu/cortex-m7.mk
@@ -0,0 +1,11 @@
+ifeq ($(TOOLCHAIN),gcc)
+ CFLAGS += \
+ -mthumb \
+ -mcpu=cortex-m7 \
+ -mfloat-abi=hard \
+ -mfpu=fpv5-d16 \
+
+ #set(FREERTOS_PORT GCC_ARM_CM7 CACHE INTERNAL "")
+else ifeq ($(TOOLCHAIN),iar)
+ # TODO support IAR
+endif