mirror of
https://github.com/openmv/openmv.git
synced 2025-09-26 23:09:13 +08:00
ports/alif: Fix build.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
This commit is contained in:
parent
b4820a1541
commit
3147ca3f3b
@ -4,7 +4,7 @@ CPU=cortex-m55
|
||||
FPU=fpv5-d16
|
||||
FABI=hard
|
||||
PORT=alif
|
||||
HAL_DIR=hal/alif
|
||||
HAL_DIR=lib/alif
|
||||
PINS_AF_H='<alif_pins.h>'
|
||||
ARM_MATH=ARM_MATH_HELIUM
|
||||
JLINK_DEVICE=AE302F80F55D5_HP
|
||||
|
@ -110,7 +110,7 @@ SRC_C += $(addprefix $(PORT_DIR)/, \
|
||||
alif_services.c \
|
||||
)
|
||||
|
||||
SRC_C += $(addprefix $(OMV_COMMON_DIR)/, \
|
||||
SRC_C += $(addprefix $(TOP_DIR)/$(COMMON_DIR)/, \
|
||||
nosys_stubs.c \
|
||||
)
|
||||
|
||||
@ -168,7 +168,7 @@ $(BUILD)/$(TINYUSB_DIR)/%.o : $(TOP_DIR)/$(TINYUSB_DIR)/%.c
|
||||
$(ECHO) "CC $(shell realpath --relative-to=pwd $<)"
|
||||
$(CC) $(CFLAGS) -c -o $@ $<
|
||||
|
||||
$(BUILD)/$(OMV_COMMON_DIR)/%.o : $(TOP_DIR)/$(OMV_COMMON_DIR)/%.c
|
||||
$(BUILD)/$(COMMON_DIR)/%.o : $(TOP_DIR)/$(COMMON_DIR)/%.c
|
||||
$(ECHO) "CC $(shell realpath --relative-to=pwd $<)"
|
||||
$(CC) $(CFLAGS) -c -o $@ $<
|
||||
|
||||
@ -179,7 +179,7 @@ $(BUILD)/%.o : %.s
|
||||
FIRMWARE_OBJS: | $(OBJS_DIR) $(OBJS)
|
||||
|
||||
$(FIRMWARE): FIRMWARE_OBJS
|
||||
$(CPP) -P -E -DBOOTLOADER -DLINKER_SCRIPT -DCORE_$(MCU_CORE) -I$(OMV_COMMON_DIR) \
|
||||
$(CPP) -P -E -DBOOTLOADER -DLINKER_SCRIPT -DCORE_$(MCU_CORE) -I$(TOP_DIR)/$(COMMON_DIR) \
|
||||
-I$(OMV_BOARD_CONFIG_DIR) $(PORT_DIR)/$(LDSCRIPT).ld.S > $(BUILD)/$(LDSCRIPT).lds
|
||||
$(CC) $(LDFLAGS) $(OBJS) -o $(FW_DIR)/$(FIRMWARE).elf
|
||||
$(OBJCOPY) -Obinary $(FW_DIR)/$(FIRMWARE).elf $(FW_DIR)/$(FIRMWARE).bin
|
||||
|
@ -68,6 +68,7 @@ CFLAGS += -D__VFP_FP__ \
|
||||
-DETHOS_U \
|
||||
-DPINS_AF_H=$(PINS_AF_H) \
|
||||
-DCMSIS_MCU_H=$(CMSIS_MCU_H) \
|
||||
-DALIF_CMSIS_H=$(CMSIS_MCU_H) \
|
||||
-DOMV_NOSYS_STUBS_ENABLE=1 \
|
||||
-DTUSB_ALIF_NO_IRQ_CFG \
|
||||
-DWITH_MM_FIXED_RANGE #WITH_MM_DYNAMIC -DNO_MSIZE
|
||||
@ -80,8 +81,7 @@ CFLAGS += -DRTE_LPUART_SELECT_DMA0=1 \
|
||||
-DRTE_LPPDM_SELECT_DMA0=1
|
||||
endif
|
||||
|
||||
CFLAGS_H += -DALIF_CMSIS_H=$(CMSIS_MCU_H)
|
||||
|
||||
CLANG_ENABLE = 1
|
||||
CLANG_FLAGS = -fshort-enums \
|
||||
--target=armv8.1m-none-eabi \
|
||||
-march=armv8.1-m.main+mve.fp+fp.dp \
|
||||
@ -92,20 +92,12 @@ CLANG_FLAGS = -fshort-enums \
|
||||
-DALIF_CMSIS_H=$(CMSIS_MCU_H) \
|
||||
$(filter-out -march%,$(CFLAGS))
|
||||
|
||||
HAL_CFLAGS += -I$(TOP_DIR)/$(CMSIS_DIR)/include/
|
||||
HAL_CFLAGS += -I$(TOP_DIR)/$(CMSIS_DIR)/include/alif
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/$(COMMON_DIR)
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/modules/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/ports/$(PORT)/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/ports/$(PORT)/modules/
|
||||
OMV_CFLAGS += -I$(OMV_BOARD_CONFIG_DIR)
|
||||
|
||||
HAL_CFLAGS += -I$(OMV_BOARD_CONFIG_DIR)
|
||||
HAL_CFLAGS += -I$(TOP_DIR)/$(HAL_DIR)/drivers/include/
|
||||
HAL_CFLAGS += -I$(TOP_DIR)/$(HAL_DIR)/ospi_xip/source/ospi/
|
||||
HAL_CFLAGS += -I$(TOP_DIR)/$(HAL_DIR)/se_services/include
|
||||
HAL_CFLAGS += -I$(TOP_DIR)/$(HAL_DIR)/Device/common/config/
|
||||
HAL_CFLAGS += -I$(TOP_DIR)/$(HAL_DIR)/Device/common/include/
|
||||
HAL_CFLAGS += -I$(TOP_DIR)/$(HAL_DIR)/Device/core/$(MCU_CORE)/config/
|
||||
HAL_CFLAGS += -I$(TOP_DIR)/$(HAL_DIR)/Device/core/$(MCU_CORE)/include/
|
||||
HAL_CFLAGS += -I$(TOP_DIR)/$(HAL_DIR)/Device/$(MCU_SERIES)/$(MCU_VARIANT)/
|
||||
|
||||
MPY_CFLAGS += -I$(MP_BOARD_CONFIG_DIR)
|
||||
MPY_CFLAGS += -I$(MP_BOARD_CONFIG_DIR)
|
||||
MPY_CFLAGS += -I$(BUILD)/$(MICROPY_DIR)
|
||||
MPY_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)
|
||||
@ -161,28 +153,6 @@ VELA_ARGS="--system-config RTSS_HE_SRAM_MRAM \
|
||||
--memory-mode Shared_Sram"
|
||||
endif
|
||||
|
||||
OMV_CFLAGS += -I$(OMV_BOARD_CONFIG_DIR)
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/alloc/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/common/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/imlib/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/modules/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/sensors/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/templates/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/ports/$(PORT)/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/ports/$(PORT)/modules/
|
||||
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(LEPTON_DIR)/include/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(LSM6DSM_DIR)/include/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(VL53L5CX_DIR)/include/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(VL53L8CX_DIR)/include/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(WINC1500_DIR)/include/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(MLX90621_DIR)/include/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(MLX90640_DIR)/include/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(MLX90641_DIR)/include/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(PIXART_DIR)/include/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(DAVE2D_DIR)/include
|
||||
|
||||
CFLAGS += $(HAL_CFLAGS) $(MPY_CFLAGS) $(OMV_CFLAGS)
|
||||
|
||||
# Linker Flags
|
||||
@ -206,140 +176,18 @@ LDFLAGS += -Wl,--wrap=mp_usbd_task \
|
||||
-Wl,--wrap=mp_hal_stdout_tx_strn
|
||||
endif
|
||||
|
||||
# CMSIS Objects
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(CMSIS_DIR)/src/dsp/CommonTables/*.o)
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(CMSIS_DIR)/src/dsp/FastMathFunctions/*.o)
|
||||
# Firmware objects from .mk files.
|
||||
include lib/cmsis/cmsis.mk
|
||||
include lib/alif/alif.mk
|
||||
include common/common.mk
|
||||
include drivers/drivers.mk
|
||||
include lib/imlib/imlib.mk
|
||||
include lib/tflm/tflm.mk
|
||||
include ports/ports.mk
|
||||
include common/micropy.mk
|
||||
|
||||
# HAL Objects
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(HAL_DIR)/drivers/source/*.o)
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(HAL_DIR)/Device/common/source/*.o)
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(HAL_DIR)/Device/core/$(MCU_CORE)/source/*.o)
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(HAL_DIR)/ospi_xip/source/ospi/*.o)
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(HAL_DIR)/se_services/source/*.o)
|
||||
|
||||
# Drivers
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(LEPTON_DIR)/src/*.o)
|
||||
ifeq ($(MICROPY_PY_IMU), 1)
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(LSM6DSM_DIR)/src/*.o)
|
||||
endif
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(MLX90621_DIR)/src/*.o)
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(MLX90640_DIR)/src/*.o)
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(MLX90641_DIR)/src/*.o)
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(VL53L5CX_DIR)/src/*.o)
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(VL53L8CX_DIR)/src/*.o)
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(PIXART_DIR)/src/*.o)
|
||||
ifeq ($(MCU_CORE),M55_HP)
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(DAVE2D_DIR)/src/*.o)
|
||||
endif
|
||||
|
||||
# OpenMV Objects
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/alloc/, \
|
||||
xalloc.o \
|
||||
fb_alloc.o \
|
||||
umm_malloc.o \
|
||||
unaligned_memcpy.o \
|
||||
)
|
||||
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/common/, \
|
||||
array.o \
|
||||
ringbuf.o \
|
||||
trace.o \
|
||||
mutex.o \
|
||||
vospi.o \
|
||||
pendsv.o \
|
||||
usbdbg.o \
|
||||
tinyusb_debug.o \
|
||||
file_utils.o \
|
||||
mp_utils.o \
|
||||
nosys_stubs.o \
|
||||
omv_csi.o \
|
||||
)
|
||||
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/sensors/, \
|
||||
ov2640.o \
|
||||
ov5640.o \
|
||||
ov7670.o \
|
||||
ov7690.o \
|
||||
ov7725.o \
|
||||
ov9650.o \
|
||||
mt9v0xx.o \
|
||||
mt9m114.o \
|
||||
lepton.o \
|
||||
hm01b0.o \
|
||||
hm0360.o \
|
||||
gc2145.o \
|
||||
pag7920.o \
|
||||
pag7936.o \
|
||||
paj6100.o \
|
||||
frogeye2020.o \
|
||||
)
|
||||
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/imlib/, \
|
||||
agast.o \
|
||||
apriltag.o \
|
||||
bayer.o \
|
||||
binary.o \
|
||||
blob.o \
|
||||
bmp.o \
|
||||
clahe.o \
|
||||
collections.o \
|
||||
dmtx.o \
|
||||
draw.o \
|
||||
edge.o \
|
||||
eye.o \
|
||||
fast.o \
|
||||
fft.o \
|
||||
filter.o \
|
||||
fmath.o \
|
||||
font.o \
|
||||
framebuffer.o \
|
||||
fsort.o \
|
||||
gif.o \
|
||||
haar.o \
|
||||
hog.o \
|
||||
hough.o \
|
||||
imlib.o \
|
||||
integral.o \
|
||||
integral_mw.o \
|
||||
isp.o \
|
||||
jpegd.o \
|
||||
jpege.o \
|
||||
lodepng.o \
|
||||
png.o \
|
||||
kmeans.o \
|
||||
lab_tab.o \
|
||||
lbp.o \
|
||||
line.o \
|
||||
lsd.o \
|
||||
mathop.o \
|
||||
mjpeg.o \
|
||||
orb.o \
|
||||
phasecorrelation.o \
|
||||
point.o \
|
||||
ppm.o \
|
||||
qrcode.o \
|
||||
qsort.o \
|
||||
rainbow_tab.o \
|
||||
rectangle.o \
|
||||
selective_search.o \
|
||||
sincos_tab.o \
|
||||
stats.o \
|
||||
stereo.o \
|
||||
template.o \
|
||||
xyz_tab.o \
|
||||
yuv.o \
|
||||
zbar.o \
|
||||
)
|
||||
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(OMV_DIR)/ports/$(PORT)/*.o)
|
||||
|
||||
#------------- MicroPy Objects -------------------#
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(MICROPY_DIR)/modules/*.o)
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(MICROPY_DIR)/ports/$(PORT)/modules/*.o)
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(MICROPY_DIR)/py/*.o)
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(MICROPY_DIR)/boards/$(TARGET)/*.o)
|
||||
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/,\
|
||||
# Firmware objects from port.
|
||||
MPY_FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/,\
|
||||
alif_flash.o \
|
||||
cyw43_port_spi.o \
|
||||
fatfs_port.o \
|
||||
@ -350,7 +198,6 @@ FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/,\
|
||||
machine_rtc.o \
|
||||
modalif.o \
|
||||
mphalport.o \
|
||||
mpnetworkport.o \
|
||||
mpuart.o \
|
||||
msc_disk.o \
|
||||
ospi_ext.o \
|
||||
@ -360,300 +207,42 @@ FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/,\
|
||||
pins_board.o \
|
||||
se_services.o \
|
||||
vfs_rom_ioctl.o \
|
||||
)
|
||||
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/, \
|
||||
lib/tinyusb/src/tusb.o \
|
||||
lib/tinyusb/src/class/cdc/cdc_device.o \
|
||||
lib/tinyusb/src/class/msc/msc_device.o \
|
||||
lib/tinyusb/src/common/tusb_fifo.o \
|
||||
lib/tinyusb/src/device/usbd.o \
|
||||
lib/tinyusb/src/device/usbd_control.o \
|
||||
)
|
||||
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/shared/,\
|
||||
libc/printf.o \
|
||||
libc/string0.o \
|
||||
readline/readline.o \
|
||||
runtime/gchelper_thumb2.o \
|
||||
runtime/gchelper_native.o \
|
||||
runtime/interrupt_char.o \
|
||||
runtime/mpirq.o \
|
||||
runtime/pyexec.o \
|
||||
runtime/softtimer.o \
|
||||
runtime/stdout_helpers.o \
|
||||
runtime/sys_stdio_mphal.o \
|
||||
timeutils/timeutils.o \
|
||||
tinyusb/mp_usbd.o \
|
||||
tinyusb/mp_usbd_cdc.o \
|
||||
tinyusb/mp_usbd_descriptor.o \
|
||||
)
|
||||
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(MICROPY_DIR)/lib/mbedtls/library/*.o)
|
||||
FIRM_OBJ += $(wildcard $(BUILD)/$(MICROPY_DIR)/lib/mbedtls_errors/*.o)
|
||||
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/extmod/,\
|
||||
machine_adc.o \
|
||||
machine_adc_block.o \
|
||||
machine_bitstream.o \
|
||||
machine_i2c.o \
|
||||
machine_i2s.o \
|
||||
machine_mem.o \
|
||||
machine_pinbase.o \
|
||||
machine_pulse.o \
|
||||
machine_pwm.o \
|
||||
machine_signal.o \
|
||||
machine_spi.o \
|
||||
machine_timer.o \
|
||||
machine_uart.o \
|
||||
machine_usb_device.o \
|
||||
machine_wdt.o \
|
||||
modasyncio.o \
|
||||
modbinascii.o \
|
||||
modbtree.o \
|
||||
modcryptolib.o \
|
||||
moddeflate.o \
|
||||
modframebuf.o \
|
||||
modhashlib.o \
|
||||
modheapq.o \
|
||||
modjson.o \
|
||||
modmachine.o \
|
||||
modmarshal.o \
|
||||
modnetwork.o \
|
||||
modonewire.o \
|
||||
modopenamp.o \
|
||||
modopenamp_remoteproc.o \
|
||||
modopenamp_remoteproc_store.o \
|
||||
modos.o \
|
||||
modplatform.o \
|
||||
modrandom.o \
|
||||
modre.o \
|
||||
modselect.o \
|
||||
modsocket.o \
|
||||
modtls_axtls.o \
|
||||
modtls_mbedtls.o \
|
||||
modtime.o \
|
||||
moductypes.o \
|
||||
modvfs.o \
|
||||
network_esp_hosted.o \
|
||||
network_ninaw10.o \
|
||||
network_wiznet5k.o \
|
||||
os_dupterm.o \
|
||||
vfs.o \
|
||||
vfs_blockdev.o \
|
||||
vfs_fat.o \
|
||||
vfs_fat_diskio.o \
|
||||
vfs_fat_file.o \
|
||||
vfs_lfs.o \
|
||||
vfs_rom.o \
|
||||
vfs_rom_file.o \
|
||||
vfs_posix.o \
|
||||
vfs_posix_file.o \
|
||||
vfs_reader.o \
|
||||
virtpin.o \
|
||||
)
|
||||
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/lib/oofatfs/,\
|
||||
ff.o \
|
||||
ffunicode.o \
|
||||
)
|
||||
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/drivers/,\
|
||||
bus/softspi.o \
|
||||
dht/dht.o \
|
||||
)
|
||||
|
||||
ifeq ($(MICROPY_PY_ULAB), 1)
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/modules/ulab/code/,\
|
||||
ndarray.o \
|
||||
ndarray_operators.o \
|
||||
ndarray_properties.o \
|
||||
numpy/approx.o \
|
||||
numpy/bitwise.o \
|
||||
numpy/carray/carray.o \
|
||||
numpy/carray/carray_tools.o \
|
||||
numpy/compare.o \
|
||||
numpy/create.o \
|
||||
numpy/fft/fft.o \
|
||||
numpy/fft/fft_tools.o \
|
||||
numpy/filter.o \
|
||||
numpy/io/io.o \
|
||||
numpy/linalg/linalg.o \
|
||||
numpy/linalg/linalg_tools.o \
|
||||
numpy/ndarray/ndarray_iter.o \
|
||||
numpy/numerical.o \
|
||||
numpy/numpy.o \
|
||||
numpy/poly.o \
|
||||
numpy/random/random.o \
|
||||
numpy/stats.o \
|
||||
numpy/transform.o \
|
||||
numpy/vector.o \
|
||||
scipy/integrate/integrate.o \
|
||||
scipy/linalg/linalg.o \
|
||||
scipy/optimize/optimize.o \
|
||||
scipy/scipy.o \
|
||||
scipy/signal/signal.o \
|
||||
scipy/special/special.o \
|
||||
ulab.o \
|
||||
ulab_tools.o \
|
||||
user/user.o \
|
||||
utils/utils.o \
|
||||
)
|
||||
endif
|
||||
|
||||
ifeq ($(MICROPY_PY_LWIP), 1)
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/,\
|
||||
lib/lwip/src/core/*.o \
|
||||
lib/lwip/src/core/*/*.o \
|
||||
lib/lwip/src/netif/*.o \
|
||||
lib/lwip/src/apps/*/*.o \
|
||||
extmod/modlwip.o \
|
||||
extmod/modwebsocket.o \
|
||||
extmod/modwebrepl.o \
|
||||
extmod/network_lwip.o \
|
||||
)
|
||||
endif
|
||||
|
||||
ifeq ($(MICROPY_PY_NETWORK), 1)
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/shared/,\
|
||||
netutils/dhcpserver.o \
|
||||
netutils/netutils.o \
|
||||
netutils/trace.o \
|
||||
)
|
||||
endif
|
||||
|
||||
ifeq ($(MICROPY_SSL_MBEDTLS), 1)
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/,\
|
||||
mbedtls/mbedtls_port.o \
|
||||
)
|
||||
endif
|
||||
|
||||
ifeq ($(MICROPY_PY_NETWORK_CYW43), 1)
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/lib/cyw43-driver/,\
|
||||
src/cyw43_bthci_uart.o \
|
||||
src/cyw43_ctrl.o \
|
||||
src/cyw43_lwip.o \
|
||||
src/cyw43_ll.o \
|
||||
src/cyw43_sdio.o \
|
||||
src/cyw43_spi.o \
|
||||
src/cyw43_stats.o \
|
||||
)
|
||||
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/,\
|
||||
extmod/network_cyw43.o \
|
||||
)
|
||||
endif
|
||||
|
||||
ifeq ($(MICROPY_BLUETOOTH_NIMBLE),1)
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/lib/mynewt-nimble/,\
|
||||
ext/tinycrypt/src/*.o \
|
||||
nimble/host/services/gap/src/*.o \
|
||||
nimble/host/services/gatt/src/*.o \
|
||||
nimble/host/src/*.o \
|
||||
nimble/host/util/src/*.o \
|
||||
nimble/transport/uart/src/*.o \
|
||||
porting/nimble/src/*.o \
|
||||
)
|
||||
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/,\
|
||||
mpbthciport.o \
|
||||
mpnimbleport.o \
|
||||
extmod/nimble/modbluetooth_nimble.o \
|
||||
extmod/nimble/nimble/nimble_npl_os.o \
|
||||
extmod/nimble/hal/hal_uart.o \
|
||||
extmod/modbluetooth.o \
|
||||
)
|
||||
endif
|
||||
|
||||
ifeq ($(MICROPY_PY_OPENAMP),1)
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/openamp/metal/,\
|
||||
device.o \
|
||||
dma.o \
|
||||
init.o \
|
||||
io.o \
|
||||
irq.o \
|
||||
log.o \
|
||||
shmem.o \
|
||||
softirq.o \
|
||||
version.o \
|
||||
system/micropython/condition.o \
|
||||
system/micropython/device.o \
|
||||
system/micropython/io.o \
|
||||
system/micropython/irq.o \
|
||||
system/micropython/shmem.o \
|
||||
system/micropython/time.o \
|
||||
)
|
||||
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/, \
|
||||
mpmetalport.o \
|
||||
mpremoteprocport.o \
|
||||
lib/open-amp/lib/virtio/virtio.o \
|
||||
lib/open-amp/lib/virtio/virtqueue.o \
|
||||
lib/open-amp/lib/virtio_mmio/virtio_mmio_drv.o \
|
||||
lib/open-amp/lib/rpmsg/rpmsg.o \
|
||||
lib/open-amp/lib/rpmsg/rpmsg_virtio.o \
|
||||
lib/open-amp/lib/remoteproc/elf_loader.o \
|
||||
lib/open-amp/lib/remoteproc/remoteproc.o \
|
||||
lib/open-amp/lib/remoteproc/remoteproc_virtio.o \
|
||||
lib/open-amp/lib/remoteproc/rsc_table_parser.o \
|
||||
)
|
||||
endif
|
||||
)
|
||||
|
||||
# Libraries
|
||||
ifeq ($(MICROPY_PY_ML_TFLM), 1)
|
||||
OMV_CFLAGS += -I$(BUILD)/$(TENSORFLOW_DIR)/
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(TENSORFLOW_DIR)/libtflm/include
|
||||
OMV_CFLAGS += -I$(TOP_DIR)/$(TENSORFLOW_DIR)/libtflm/include/third_party/ethos_u_core_driver/include/
|
||||
|
||||
FIRM_OBJ += $(addprefix $(BUILD)/$(TENSORFLOW_DIR)/, \
|
||||
tflm_backend.o \
|
||||
)
|
||||
LIBS += $(TOP_DIR)/$(TENSORFLOW_DIR)/libtflm/lib/libtflm-$(CPU)-u55-release.a
|
||||
endif
|
||||
|
||||
export VELA_ARGS
|
||||
export CLANG_FLAGS
|
||||
export USE_CLANG=1
|
||||
|
||||
all: $(FIRMWARE) .WAIT $(ROMFS_IMAGE)
|
||||
###################################################
|
||||
all: $(ROMFS_IMAGE)
|
||||
$(SIZE) $(FW_DIR)/$(FIRMWARE).elf
|
||||
|
||||
FIRMWARE_OBJS:
|
||||
$(MAKE) -C $(CMSIS_DIR) BUILD=$(BUILD)/$(CMSIS_DIR) CFLAGS="$(CFLAGS) -MMD"
|
||||
$(MAKE) -C $(HAL_DIR) BUILD=$(BUILD)/$(HAL_DIR) CFLAGS="$(CFLAGS) -MMD"
|
||||
ifeq ($(MCU_CORE),M55_HP)
|
||||
$(MAKE) -C $(DAVE2D_DIR) BUILD=$(BUILD)/$(DAVE2D_DIR) CFLAGS="$(CFLAGS) -MMD"
|
||||
endif
|
||||
$(MAKE) -C $(MICROPY_DIR)/ports/$(PORT) -f alif.mk BUILD=$(BUILD)/$(MICROPY_DIR) $(MPY_MKARGS) obj
|
||||
ifeq (0, 1)
|
||||
$(MAKE) -C $(LEPTON_DIR) BUILD=$(BUILD)/$(LEPTON_DIR) CFLAGS="$(CFLAGS) -MMD"
|
||||
endif
|
||||
ifeq ($(MICROPY_PY_IMU), 1)
|
||||
$(MAKE) -C $(LSM6DSM_DIR) BUILD=$(BUILD)/$(LSM6DSM_DIR) CFLAGS="$(CFLAGS) -MMD"
|
||||
endif
|
||||
$(MAKE) -C $(MLX90621_DIR) BUILD=$(BUILD)/$(MLX90621_DIR) CFLAGS="$(CFLAGS) -MMD"
|
||||
$(MAKE) -C $(MLX90640_DIR) BUILD=$(BUILD)/$(MLX90640_DIR) CFLAGS="$(CFLAGS) -MMD"
|
||||
$(MAKE) -C $(MLX90641_DIR) BUILD=$(BUILD)/$(MLX90641_DIR) CFLAGS="$(CFLAGS) -MMD"
|
||||
$(MAKE) -C $(VL53L5CX_DIR) BUILD=$(BUILD)/$(VL53L5CX_DIR) CFLAGS="$(CFLAGS) $(CFLAGS_H) -MMD"
|
||||
$(MAKE) -C $(VL53L8CX_DIR) BUILD=$(BUILD)/$(VL53L8CX_DIR) CFLAGS="$(CFLAGS) $(CFLAGS_H) -MMD"
|
||||
ifeq ($(MICROPY_PY_ML_TFLM), 1)
|
||||
$(MAKE) -C $(TENSORFLOW_DIR) BUILD=$(BUILD)/$(TENSORFLOW_DIR) CFLAGS="$(CFLAGS) -MMD"
|
||||
endif
|
||||
$(MAKE) -C $(OMV_DIR) BUILD=$(BUILD)/$(OMV_DIR) CFLAGS="$(CFLAGS) $(CFLAGS_H) -MMD"
|
||||
# This target builds MicroPython.
|
||||
MICROPYTHON: | FIRM_DIRS
|
||||
$(MAKE) -C $(MICROPY_DIR)/ports/$(PORT) -f alif.mk BUILD=$(BUILD)/$(MICROPY_DIR) $(MPY_MKARGS) obj
|
||||
|
||||
$(ROMFS_IMAGE): $(ROMFS_CONFIG)
|
||||
$(ECHO) "GEN $(FW_DIR)/romfs_$(MCU_CORE).img"
|
||||
$(PYTHON) $(TOOLS)/$(MKROMFS) --top-dir $(TOP_DIR) --build-dir $(BUILD) --out-dir $(FW_DIR) \
|
||||
--partition $(ROMFS_PART) --vela-args $(VELA_ARGS) --config $(ROMFS_CONFIG)
|
||||
touch $@
|
||||
$(OMV_FIRM_OBJ): | MICROPYTHON
|
||||
|
||||
$(FIRMWARE): FIRMWARE_OBJS
|
||||
$(CPP) -P -E -DLINKER_SCRIPT -DCORE_$(MCU_CORE) -I$(OMV_COMMON_DIR) -I$(OMV_BOARD_CONFIG_DIR) \
|
||||
$(OMV_DIR)/ports/$(PORT)/$(LDSCRIPT).ld.S > $(BUILD)/$(LDSCRIPT).lds
|
||||
$(CC) $(LDFLAGS) $(FIRM_OBJ) -o $(FW_DIR)/$(FIRMWARE).elf $(LIBS) -lm
|
||||
# This target builds the firmware.
|
||||
$(FIRMWARE): $(OMV_FIRM_OBJ)
|
||||
$(CPP) -P -E -DLINKER_SCRIPT -DCORE_$(MCU_CORE) \
|
||||
-I$(COMMON_DIR) -I$(OMV_BOARD_CONFIG_DIR) \
|
||||
ports/$(PORT)/$(LDSCRIPT).ld.S > $(BUILD)/$(LDSCRIPT).lds
|
||||
$(CC) $(LDFLAGS) $(OMV_FIRM_OBJ) $(MPY_FIRM_OBJ) -o $(FW_DIR)/$(FIRMWARE).elf $(LIBS) -lm
|
||||
$(OBJCOPY) -Obinary $(FW_DIR)/$(FIRMWARE).elf $(FW_DIR)/$(FIRMWARE).bin
|
||||
BIN_SIZE=$$(stat -c%s "$(FW_DIR)/$(FIRMWARE).bin"); \
|
||||
PADDED_SIZE=$$(( (BIN_SIZE + 15) / 16 * 16 )); \
|
||||
if [ $$BIN_SIZE -lt $$PADDED_SIZE ]; then \
|
||||
dd if=/dev/zero bs=1 count=$$((PADDED_SIZE - BIN_SIZE)) >> $(FW_DIR)/$(FIRMWARE).bin; \
|
||||
fi
|
||||
|
||||
# This target generates the romfs image.
|
||||
$(ROMFS_IMAGE): $(ROMFS_CONFIG) | $(FIRMWARE)
|
||||
$(ECHO) "GEN $(FW_DIR)/romfs_$(MCU_CORE).img"
|
||||
$(PYTHON) $(TOOLS_DIR)/$(MKROMFS) \
|
||||
--top-dir $(TOP_DIR) --build-dir $(BUILD) --out-dir $(FW_DIR) \
|
||||
--partition $(ROMFS_PART) --vela-args $(VELA_ARGS) --config $(ROMFS_CONFIG)
|
||||
touch $@
|
||||
|
||||
include common/mkrules.mk
|
||||
|
@ -42,8 +42,11 @@ endif
|
||||
.PHONY: $(FW_DIR)/firmware_M55_HE.bin
|
||||
.PHONY: $(FW_DIR)/firmware_M55_HP.bin
|
||||
|
||||
# Targets in this Makefile will not run in parallel to get a readable romfs output
|
||||
.NOTPARALLEL:
|
||||
|
||||
SERIAL_PORT ?= /dev/ttyUSB0
|
||||
ALIF_TOOLS = $(TOOLS)/alif/toolkit
|
||||
ALIF_TOOLS = $(TOOLS_DIR)/alif/toolkit
|
||||
ALIF_TOC_CONFIG = $(OMV_PORT_DIR)/alif_cfg.json
|
||||
|
||||
$(FW_DIR):
|
||||
|
Loading…
Reference in New Issue
Block a user