@@ -16,48 +16,17 @@ endif
16
16
# If the build directory is not given, make it reflect the board name.
17
17
BUILD ?= build-$(BOARD )
18
18
19
- ifeq ($(BOARD ) ,RA4M1_CLICKER)
20
- BOARD_LOW = ra4m1_ek
21
- CMSIS_MCU_LOW = ra4m1
22
- CMSIS_MCU_CAP = RA4M1
23
- USE_FSP_LPM = 0
24
- endif
25
-
26
- ifeq ($(BOARD ) ,EK_RA4M1)
27
- BOARD_LOW = ra4m1_ek
28
- CMSIS_MCU_LOW = ra4m1
29
- CMSIS_MCU_CAP = RA4M1
30
- USE_FSP_LPM = 0
31
- endif
32
-
33
- ifeq ($(BOARD ) ,EK_RA4W1)
34
- BOARD_LOW = ra4w1_ek
35
- CMSIS_MCU_LOW = ra4w1
36
- CMSIS_MCU_CAP = RA4W1
37
- USE_FSP_LPM = 1
38
- endif
39
-
40
- ifeq ($(BOARD ) ,EK_RA6M1)
41
- BOARD_LOW = ra6m1_ek
42
- CMSIS_MCU_LOW = ra6m1
43
- CMSIS_MCU_CAP = RA6M1
44
- USE_FSP_LPM = 1
45
- endif
46
-
47
- ifeq ($(BOARD ) ,EK_RA6M2)
48
- BOARD_LOW = ra6m2_ek
49
- CMSIS_MCU_LOW = ra6m2
50
- CMSIS_MCU_CAP = RA6M2
51
- USE_FSP_LPM = 1
52
- endif
53
-
54
19
# select use wrapper function of FSP library
55
20
USE_FSP_FLASH = 1
56
21
57
22
include ../../py/mkenv.mk
58
23
-include mpconfigport.mk
59
24
include $(BOARD_DIR ) /mpconfigboard.mk
60
25
26
+ USE_FSP_LPM ?= 1
27
+ USE_FSP_QSPI ?= 0
28
+ FSP_BOARD_NAME ?= $(shell echo $(BOARD ) | tr '[:upper:]' '[:lower:]')
29
+
61
30
# Files that are generated and needed before the QSTR build.
62
31
# QSTR_GENERATED_HEADERS = $(BUILD)/pins_qstr.h $(BUILD)/modstm_qstr.h
63
32
QSTR_GENERATED_HEADERS = $(BUILD ) /pins_qstr.h
@@ -101,16 +70,18 @@ INC += -I$(TOP)/$(HAL_DIR)/ra/fsp/inc/api
101
70
INC += -I$(TOP ) /$(HAL_DIR ) /ra/fsp/inc/instances
102
71
INC += -I$(TOP ) /$(HAL_DIR ) /ra/fsp/src/bsp/cmsis/Device/RENESAS/Include
103
72
# INC += -Ilwip_inc
104
- ifeq ($(CMSIS_MCU ) ,$(filter $(CMSIS_MCU ) ,RA4M1 RA4W1 RA6M1 RA6M2) )
73
+ ifeq ($(CMSIS_MCU ) ,$(filter $(CMSIS_MCU ) ,RA4M1 RA4W1 RA6M1 RA6M2 RA6M5 ) )
105
74
INC += -Ira
106
75
endif
107
76
INC += -I$(BOARD_DIR ) /ra_gen
77
+ INC += -I$(BOARD_DIR ) /ra_cfg/driver
108
78
INC += -I$(BOARD_DIR ) /ra_cfg/fsp_cfg
109
79
INC += -I$(BOARD_DIR ) /ra_cfg/fsp_cfg/bsp
110
80
INC += -Idebug
111
81
112
82
CFLAGS += -D$(CMSIS_MCU )
113
83
CFLAGS += -DRA_HAL_H='<$(CMSIS_MCU ) _hal.h>'
84
+ CFLAGS += -DRA_CFG_H='<$(FSP_BOARD_NAME ) _conf.h>'
114
85
115
86
# Basic Cortex-M flags
116
87
CFLAGS_CORTEX_M = -mthumb
@@ -123,12 +94,19 @@ CFLAGS_CORTEX_M += -mfpu=fpv4-sp-d16 -mfloat-abi=hard
123
94
SUPPORTS_HARDWARE_FP_SINGLE = 1
124
95
endif
125
96
97
+ ifeq ($(MCU_SERIES ) ,$(filter $(MCU_SERIES ) ,m33) )
98
+ CFLAGS_CORTEX_M += -mfpu=fpv5-sp-d16 -mfloat-abi=hard
99
+ SUPPORTS_HARDWARE_FP_SINGLE = 1
100
+ endif
101
+
126
102
# Options for particular MCU series
127
103
CFLAGS_MCU_RA4M1 = $(CFLAGS_CORTEX_M ) -mtune=cortex-m4 -mcpu=cortex-m4
128
104
CFLAGS_MCU_RA4W1 = $(CFLAGS_CORTEX_M ) -mtune=cortex-m4 -mcpu=cortex-m4
129
105
CFLAGS_MCU_RA6M1 = $(CFLAGS_CORTEX_M ) -mtune=cortex-m4 -mcpu=cortex-m4
130
106
CFLAGS_MCU_RA6M2 = $(CFLAGS_CORTEX_M ) -mtune=cortex-m4 -mcpu=cortex-m4
107
+ CFLAGS_MCU_RA6M5 = $(CFLAGS_CORTEX_M ) -mtune=cortex-m33 -mcpu=cortex-m33
131
108
109
+ ASFLAGS += $(CFLAGS_CORTEX_M ) -mcpu=cortex-$(MCU_SERIES )
132
110
CFLAGS += $(INC ) -Wall -Wpointer-arith -Werror -Wdouble-promotion -Wfloat-conversion -std=gnu99 -nostdlib $(CFLAGS_EXTRA )
133
111
# CFLAGS += -D$(CMSIS_MCU)
134
112
CFLAGS += $(CFLAGS_MCU_$(CMSIS_MCU ) )
@@ -315,11 +293,13 @@ SRC_C += \
315
293
gccollect.c \
316
294
help.c \
317
295
machine_adc.c \
296
+ machine_dac.c \
318
297
machine_i2c.c \
319
298
machine_spi.c \
320
299
machine_uart.c \
321
300
machine_pin.c \
322
301
machine_rtc.c \
302
+ machine_sdcard.c \
323
303
modmachine.c \
324
304
extint.c \
325
305
usrsw.c \
@@ -365,6 +345,17 @@ HAL_SRC_C += $(addprefix $(HAL_DIR)/ra/fsp/src/,\
365
345
CFLAGS_FSP = -Wno-unused-variable -Wno-unused-function
366
346
$(BUILD ) /lib/fsp/ra/fsp/src/r_sci_uart/r_sci_uart.o : CFLAGS += $(CFLAGS_FSP )
367
347
348
+ ifeq ($(USE_FSP_QSPI ) , 1)
349
+ CFLAGS += -DUSE_FSP_QSPI
350
+ HAL_SRC_C += $(HAL_DIR ) /ra/fsp/src/r_qspi/r_qspi.c
351
+ endif
352
+
353
+ ifeq ($(USE_FSP_SDHI ) , 1)
354
+ CFLAGS += -DUSE_FSP_SDHI
355
+ HAL_SRC_C += $(HAL_DIR ) /ra/fsp/src/r_sdhi/r_sdhi.c \
356
+ $(HAL_DIR ) /ra/fsp/src/r_dtc/r_dtc.c
357
+ endif
358
+
368
359
ifeq ($(USE_FSP_LPM ) , 1)
369
360
CFLAGS += -DUSE_FSP_LPM
370
361
HAL_SRC_C += $(HAL_DIR ) /ra/fsp/src/r_lpm/r_lpm.c
@@ -377,16 +368,17 @@ HAL_SRC_C += $(HAL_DIR)/ra/fsp/src/r_flash_lp/r_flash_lp.c
377
368
endif
378
369
endif
379
370
380
- ifeq ($(CMSIS_MCU ) ,$(filter $(CMSIS_MCU ) ,RA6M1 RA6M2) )
371
+ ifeq ($(CMSIS_MCU ) ,$(filter $(CMSIS_MCU ) ,RA6M1 RA6M2 RA6M5 ) )
381
372
ifeq ($(USE_FSP_FLASH ) , 1)
382
373
CFLAGS += -DUSE_FSP_FLASH
383
374
HAL_SRC_C += $(HAL_DIR ) /ra/fsp/src/r_flash_hp/r_flash_hp.c
384
375
endif
385
376
endif
386
377
387
- ifeq ($(CMSIS_MCU ) ,$(filter $(CMSIS_MCU ) ,RA4M1 RA4W1 RA6M1 RA6M2) )
378
+ ifeq ($(CMSIS_MCU ) ,$(filter $(CMSIS_MCU ) ,RA4M1 RA4W1 RA6M1 RA6M2 RA6M5 ) )
388
379
HAL_SRC_C += $(addprefix ra/,\
389
380
ra_adc.c \
381
+ ra_dac.c \
390
382
ra_flash.c \
391
383
ra_gpio.c \
392
384
ra_i2c.c \
@@ -397,6 +389,7 @@ HAL_SRC_C += $(addprefix ra/,\
397
389
ra_sci.c \
398
390
ra_spi.c \
399
391
ra_timer.c \
392
+ ra_gpt.c \
400
393
ra_utils.c \
401
394
)
402
395
@@ -413,6 +406,12 @@ OBJ += $(addprefix $(BUILD)/, $(SRC_CXX:.cpp=.o))
413
406
OBJ += $(addprefix $(BUILD ) /, $(SRC_O ) )
414
407
OBJ += $(BUILD ) /pins_$(BOARD ) .o
415
408
409
+ ifeq ($(CMSIS_MCU ) ,RA6M5)
410
+ $(BUILD ) /shared/runtime/gchelper_thumb2.o : $(TOP ) /shared/runtime/gchelper_thumb2.s
411
+ $(ECHO ) " AS $<"
412
+ $(Q )$(AS ) $(ASFLAGS ) -o $@ $<
413
+ endif
414
+
416
415
# This file contains performance critical functions so turn up the optimisation
417
416
# level. It doesn't add much to the code size and improves performance a bit.
418
417
# Don't use -O3 with this file because gcc tries to optimise memset in terms of itself.
@@ -486,6 +485,9 @@ endif
486
485
ifeq ($(CMSIS_MCU ) ,$(filter $(CMSIS_MCU ) ,RA6M2) )
487
486
AF_FILE = boards/ra6m2_af.csv
488
487
endif
488
+ ifeq ($(CMSIS_MCU ) ,$(filter $(CMSIS_MCU ) ,RA6M5) )
489
+ AF_FILE = boards/ra6m5_af.csv
490
+ endif
489
491
GEN_PINS_SRC = $(BUILD ) /pins_$(BOARD ) .c
490
492
GEN_PINS_HDR = $(HEADER_BUILD ) /pins.h
491
493
GEN_PINS_QSTR = $(BUILD ) /pins_qstr.h
0 commit comments