mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
ports/mimxrt: Fix build.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
This commit is contained in:
parent
3147ca3f3b
commit
2e760d50cb
@ -25,13 +25,12 @@ MCU_SERIES := $(shell echo $(MCU) | cut -c1-10)
|
|||||||
LDSCRIPT ?= mimxrt
|
LDSCRIPT ?= mimxrt
|
||||||
SYSTEM ?= mimxrt/system_$(MCU_SERIES)
|
SYSTEM ?= mimxrt/system_$(MCU_SERIES)
|
||||||
STARTUP ?= mimxrt/startup_$(MCU_SERIES)
|
STARTUP ?= mimxrt/startup_$(MCU_SERIES)
|
||||||
HAL_DIR ?= hal/mimxrt/$(MCU_SERIES)
|
HAL_DIR ?= lib/mimxrt/$(MCU_SERIES)
|
||||||
|
|
||||||
ROMFS_IMAGE := $(FW_DIR)/romfs.stamp
|
ROMFS_IMAGE := $(FW_DIR)/romfs.stamp
|
||||||
ROMFS_CONFIG := $(OMV_BOARD_CONFIG_DIR)/romfs.json
|
ROMFS_CONFIG := $(OMV_BOARD_CONFIG_DIR)/romfs.json
|
||||||
|
|
||||||
# Compiler Flags
|
# Compiler Flags
|
||||||
# TODO: -Wdouble-promotion
|
|
||||||
CFLAGS += -std=gnu99 \
|
CFLAGS += -std=gnu99 \
|
||||||
-Wall \
|
-Wall \
|
||||||
-Werror \
|
-Werror \
|
||||||
@ -84,10 +83,11 @@ LDFLAGS = -mthumb \
|
|||||||
-Wl,-T$(BUILD)/$(LDSCRIPT).lds \
|
-Wl,-T$(BUILD)/$(LDSCRIPT).lds \
|
||||||
-Wl,-Map=$(BUILD)/$(FIRMWARE).map
|
-Wl,-Map=$(BUILD)/$(FIRMWARE).map
|
||||||
|
|
||||||
HAL_CFLAGS += -I$(TOP_DIR)/$(CMSIS_DIR)/include
|
OMV_CFLAGS += -I$(TOP_DIR)/$(COMMON_DIR)
|
||||||
HAL_CFLAGS += -I$(TOP_DIR)/$(CMSIS_DIR)/include/mimxrt
|
OMV_CFLAGS += -I$(TOP_DIR)/modules
|
||||||
HAL_CFLAGS += -I$(TOP_DIR)/$(HAL_DIR)
|
OMV_CFLAGS += -I$(TOP_DIR)/ports/$(PORT)
|
||||||
HAL_CFLAGS += -I$(TOP_DIR)/$(HAL_DIR)/drivers
|
OMV_CFLAGS += -I$(TOP_DIR)/ports/$(PORT)/modules
|
||||||
|
OMV_CFLAGS += -I$(OMV_BOARD_CONFIG_DIR)
|
||||||
|
|
||||||
MPY_CFLAGS += -I$(MP_BOARD_CONFIG_DIR)
|
MPY_CFLAGS += -I$(MP_BOARD_CONFIG_DIR)
|
||||||
MPY_CFLAGS += -I$(BUILD)/$(MICROPY_DIR)
|
MPY_CFLAGS += -I$(BUILD)/$(MICROPY_DIR)
|
||||||
@ -110,8 +110,8 @@ MPY_CFLAGS += -DMICROPY_BLUETOOTH_NIMBLE=$(MICROPY_BLUETOOTH_NIMBLE)
|
|||||||
MPY_CFLAGS += -DMICROPY_PY_BLUETOOTH_USE_SYNC_EVENTS=1
|
MPY_CFLAGS += -DMICROPY_PY_BLUETOOTH_USE_SYNC_EVENTS=1
|
||||||
MPY_CFLAGS += -DMICROPY_VFS_FAT=1
|
MPY_CFLAGS += -DMICROPY_VFS_FAT=1
|
||||||
|
|
||||||
MPY_MKARGS += MCU_DIR=$(TOP_DIR)/$(HAL_DIR)
|
|
||||||
MPY_MKARGS += CMSIS_DIR=$(TOP_DIR)/$(CMSIS_DIR)
|
MPY_MKARGS += CMSIS_DIR=$(TOP_DIR)/$(CMSIS_DIR)
|
||||||
|
MPY_MKARGS += MCU_DIR=$(TOP_DIR)/$(HAL_DIR)
|
||||||
MPY_MKARGS += SUPPORTS_HARDWARE_FP_SINGLE=1
|
MPY_MKARGS += SUPPORTS_HARDWARE_FP_SINGLE=1
|
||||||
MPY_MKARGS += MICROPY_VFS_LFS2=0
|
MPY_MKARGS += MICROPY_VFS_LFS2=0
|
||||||
MPY_MKARGS += MICROPY_PY_LWIP=$(MICROPY_PY_LWIP)
|
MPY_MKARGS += MICROPY_PY_LWIP=$(MICROPY_PY_LWIP)
|
||||||
@ -123,160 +123,20 @@ MPY_MKARGS += MICROPY_BLUETOOTH_NIMBLE=$(MICROPY_BLUETOOTH_NIMBLE)
|
|||||||
MPY_MKARGS += MICROPY_PY_OPENAMP=$(MICROPY_PY_OPENAMP)
|
MPY_MKARGS += MICROPY_PY_OPENAMP=$(MICROPY_PY_OPENAMP)
|
||||||
MPY_MKARGS += MICROPY_PY_OPENAMP_REMOTEPROC=$(MICROPY_PY_OPENAMP_REMOTEPROC)
|
MPY_MKARGS += MICROPY_PY_OPENAMP_REMOTEPROC=$(MICROPY_PY_OPENAMP_REMOTEPROC)
|
||||||
|
|
||||||
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)/$(GENX320_DIR)/include
|
|
||||||
OMV_CFLAGS += -I$(TOP_DIR)/$(BOSON_DIR)/include
|
|
||||||
OMV_CFLAGS += -I$(TOP_DIR)/$(LEPTON_DIR)/include
|
|
||||||
OMV_CFLAGS += -I$(TOP_DIR)/$(LSM6DS3_DIR)/include
|
|
||||||
OMV_CFLAGS += -I$(TOP_DIR)/$(LSM6DSOX_DIR)/include
|
|
||||||
OMV_CFLAGS += -I$(TOP_DIR)/$(VL53L5CX_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
|
|
||||||
|
|
||||||
CFLAGS += $(HAL_CFLAGS) $(MPY_CFLAGS) $(OMV_CFLAGS)
|
CFLAGS += $(HAL_CFLAGS) $(MPY_CFLAGS) $(OMV_CFLAGS)
|
||||||
|
|
||||||
#------------- Firmware Objects ----------------#
|
# Firmware objects from .mk files.
|
||||||
FIRM_OBJ += $(wildcard $(BUILD)/$(CMSIS_DIR)/src/dsp/*/*.o)
|
include lib/cmsis/cmsis.mk
|
||||||
FIRM_OBJ += $(wildcard $(BUILD)/$(HAL_DIR)/drivers/*.o)
|
include lib/mimxrt/mimxrt.mk
|
||||||
FIRM_OBJ += $(wildcard $(BUILD)/$(GENX320_DIR)/src/*.o)
|
include common/common.mk
|
||||||
FIRM_OBJ += $(wildcard $(BUILD)/$(BOSON_DIR)/src/*.o)
|
include drivers/drivers.mk
|
||||||
FIRM_OBJ += $(wildcard $(BUILD)/$(LEPTON_DIR)/src/*.o)
|
include lib/imlib/imlib.mk
|
||||||
ifeq ($(MICROPY_PY_IMU), 1)
|
include lib/tflm/tflm.mk
|
||||||
FIRM_OBJ += $(wildcard $(BUILD)/$(LSM6DS3_DIR)/src/*.o)
|
include ports/ports.mk
|
||||||
FIRM_OBJ += $(wildcard $(BUILD)/$(LSM6DSOX_DIR)/src/*.o)
|
include common/micropy.mk
|
||||||
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)/$(PIXART_DIR)/src/*.o)
|
|
||||||
|
|
||||||
#------------- OpenMV Objects ----------------#
|
# Firmware objects from port.
|
||||||
FIRM_OBJ += $(addprefix $(BUILD)/$(CMSIS_DIR)/src/, \
|
MPY_FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/,\
|
||||||
$(STARTUP).o \
|
|
||||||
$(SYSTEM).o \
|
|
||||||
)
|
|
||||||
|
|
||||||
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 \
|
|
||||||
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 \
|
|
||||||
boson.o \
|
|
||||||
lepton.o \
|
|
||||||
hm01b0.o \
|
|
||||||
hm0360.o \
|
|
||||||
gc2145.o \
|
|
||||||
genx320.o \
|
|
||||||
pag7920.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)/,\
|
|
||||||
boards/$(MCU_SERIES)_clock_config.o \
|
boards/$(MCU_SERIES)_clock_config.o \
|
||||||
dma_manager.o \
|
dma_manager.o \
|
||||||
eth.o \
|
eth.o \
|
||||||
@ -292,11 +152,9 @@ FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/,\
|
|||||||
machine_rtc.o \
|
machine_rtc.o \
|
||||||
machine_sdcard.o \
|
machine_sdcard.o \
|
||||||
machine_spi.o \
|
machine_spi.o \
|
||||||
mbedtls/mbedtls_port.o \
|
|
||||||
mimxrt_flash.o \
|
mimxrt_flash.o \
|
||||||
mimxrt_sdram.o \
|
mimxrt_sdram.o \
|
||||||
modmimxrt.o \
|
modmimxrt.o \
|
||||||
mpnetworkport.o \
|
|
||||||
msc_disk.o \
|
msc_disk.o \
|
||||||
network_lan.o \
|
network_lan.o \
|
||||||
mphalport.o \
|
mphalport.o \
|
||||||
@ -307,308 +165,56 @@ FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/,\
|
|||||||
systick.o \
|
systick.o \
|
||||||
ticks.o \
|
ticks.o \
|
||||||
usbd.o \
|
usbd.o \
|
||||||
)
|
hal/pwm_backport.o \
|
||||||
|
hal/flexspi_nor_flash.o \
|
||||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/hal/,\
|
hal/qspi_nor_flash_config.o \
|
||||||
pwm_backport.o \
|
)
|
||||||
flexspi_nor_flash.o \
|
|
||||||
qspi_nor_flash_config.o \
|
|
||||||
)
|
|
||||||
|
|
||||||
|
# Ethernet physical driver.
|
||||||
ifeq ($(MICROPY_PY_LWIP), 1)
|
ifeq ($(MICROPY_PY_LWIP), 1)
|
||||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/hal/,\
|
MPY_FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/hal/,\
|
||||||
phy/mdio/enet/fsl_enet_mdio.o \
|
phy/mdio/enet/fsl_enet_mdio.o \
|
||||||
phy/device/phydp83825/fsl_phydp83825.o \
|
phy/device/phydp83825/fsl_phydp83825.o \
|
||||||
phy/device/phydp83848/fsl_phydp83848.o \
|
phy/device/phydp83848/fsl_phydp83848.o \
|
||||||
phy/device/phyksz8081/fsl_phyksz8081.o \
|
phy/device/phyksz8081/fsl_phyksz8081.o \
|
||||||
phy/device/phylan8720/fsl_phylan8720.o \
|
phy/device/phylan8720/fsl_phylan8720.o \
|
||||||
phy/device/phyrtl8211f/fsl_phyrtl8211f.o\
|
phy/device/phyrtl8211f/fsl_phyrtl8211f.o\
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Libraries
|
||||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/shared/,\
|
|
||||||
libc/printf.o \
|
|
||||||
libc/string0.o \
|
|
||||||
netutils/netutils.o \
|
|
||||||
netutils/trace.o \
|
|
||||||
netutils/dhcpserver.o \
|
|
||||||
runtime/gchelper_thumb2.o \
|
|
||||||
runtime/gchelper_native.o \
|
|
||||||
runtime/interrupt_char.o \
|
|
||||||
runtime/mpirq.o \
|
|
||||||
runtime/pyexec.o \
|
|
||||||
runtime/stdout_helpers.o \
|
|
||||||
runtime/sys_stdio_mphal.o \
|
|
||||||
runtime/softtimer.o \
|
|
||||||
timeutils/timeutils.o \
|
|
||||||
readline/readline.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)/lib/tinyusb/src/, \
|
|
||||||
class/cdc/cdc_device.o \
|
|
||||||
class/dfu/dfu_rt_device.o \
|
|
||||||
class/hid/hid_device.o \
|
|
||||||
class/midi/midi_device.o \
|
|
||||||
class/msc/msc_device.o \
|
|
||||||
class/usbtmc/usbtmc_device.o \
|
|
||||||
class/vendor/vendor_device.o \
|
|
||||||
common/tusb_fifo.o \
|
|
||||||
device/usbd.o \
|
|
||||||
device/usbd_control.o \
|
|
||||||
tusb.o \
|
|
||||||
portable/chipidea/ci_hs/dcd_ci_hs.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 \
|
|
||||||
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_CYW43), 1)
|
|
||||||
FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/,\
|
|
||||||
lib/cyw43-driver/src/*.o \
|
|
||||||
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_AUDIO), 1)
|
ifeq ($(MICROPY_PY_AUDIO), 1)
|
||||||
LIBS += $(TOP_DIR)/$(LIBPDM_DIR)/libPDMFilter_CM7_GCC_wc32.a
|
LIBS += $(TOP_DIR)/$(LIBPDM_DIR)/libPDMFilter_CM7_GCC_wc32.a
|
||||||
endif
|
endif
|
||||||
|
|
||||||
#------------- ML libraries ----------------#
|
|
||||||
ifeq ($(MICROPY_PY_ML_TFLM), 1)
|
ifeq ($(MICROPY_PY_ML_TFLM), 1)
|
||||||
OMV_CFLAGS += -I$(BUILD)/$(TENSORFLOW_DIR)/
|
|
||||||
FIRM_OBJ += $(addprefix $(BUILD)/$(TENSORFLOW_DIR)/, \
|
|
||||||
tflm_backend.o \
|
|
||||||
)
|
|
||||||
LIBS += $(TOP_DIR)/$(TENSORFLOW_DIR)/libtflm/lib/libtflm-$(CPU)+fp-release.a
|
LIBS += $(TOP_DIR)/$(TENSORFLOW_DIR)/libtflm/lib/libtflm-$(CPU)+fp-release.a
|
||||||
endif
|
endif
|
||||||
|
|
||||||
###################################################
|
###################################################
|
||||||
all: $(FIRMWARE) .WAIT $(ROMFS_IMAGE)
|
all: $(ROMFS_IMAGE)
|
||||||
$(SIZE) $(FW_DIR)/$(FIRMWARE).elf
|
$(SIZE) $(FW_DIR)/$(FIRMWARE).elf
|
||||||
|
|
||||||
$(BUILD):
|
# This target builds MicroPython.
|
||||||
$(MKDIR) -p $@
|
MICROPYTHON: | FIRM_DIRS
|
||||||
|
$(MAKE) -C $(MICROPY_DIR)/ports/$(PORT) BUILD=$(BUILD)/$(MICROPY_DIR) $(MPY_MKARGS)
|
||||||
|
|
||||||
$(FW_DIR):
|
$(OMV_FIRM_OBJ): | MICROPYTHON
|
||||||
$(MKDIR) -p $@
|
|
||||||
|
|
||||||
FIRMWARE_OBJS: | $(BUILD) $(FW_DIR)
|
# This target builds the firmware.
|
||||||
$(MAKE) -C $(CMSIS_DIR) BUILD=$(BUILD)/$(CMSIS_DIR) CFLAGS="$(CFLAGS) -MMD"
|
$(FIRMWARE): $(OMV_FIRM_OBJ)
|
||||||
$(MAKE) -C $(HAL_DIR) BUILD=$(BUILD)/$(HAL_DIR) CFLAGS="$(CFLAGS) -MMD"
|
$(CPP) -P -E -DLINKER_SCRIPT -I$(COMMON_DIR) -I$(OMV_BOARD_CONFIG_DIR) \
|
||||||
$(MAKE) -C $(MICROPY_DIR)/ports/$(PORT) BUILD=$(BUILD)/$(MICROPY_DIR) $(MPY_MKARGS)
|
ports/$(PORT)/$(LDSCRIPT).ld.S > $(BUILD)/$(LDSCRIPT).lds
|
||||||
$(MAKE) -C $(GENX320_DIR) BUILD=$(BUILD)/$(GENX320_DIR) CFLAGS="$(CFLAGS) -MMD"
|
$(CC) $(LDFLAGS) $(OMV_FIRM_OBJ) $(MPY_FIRM_OBJ) -o $(FW_DIR)/$(FIRMWARE).elf $(LIBS) -lm
|
||||||
$(MAKE) -C $(BOSON_DIR) BUILD=$(BUILD)/$(BOSON_DIR) CFLAGS="$(CFLAGS) -MMD"
|
|
||||||
$(MAKE) -C $(LEPTON_DIR) BUILD=$(BUILD)/$(LEPTON_DIR) CFLAGS="$(CFLAGS) -MMD"
|
|
||||||
ifeq ($(MICROPY_PY_IMU), 1)
|
|
||||||
$(MAKE) -C $(LSM6DS3_DIR) BUILD=$(BUILD)/$(LSM6DS3_DIR) CFLAGS="$(CFLAGS) -MMD"
|
|
||||||
$(MAKE) -C $(LSM6DSOX_DIR) BUILD=$(BUILD)/$(LSM6DSOX_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) -MMD"
|
|
||||||
$(MAKE) -C $(PIXART_DIR) BUILD=$(BUILD)/$(PIXART_DIR) CFLAGS="$(CFLAGS) -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) -MMD"
|
|
||||||
|
|
||||||
$(ROMFS_IMAGE): $(ROMFS_CONFIG)
|
|
||||||
$(ECHO) "GEN romfs image"
|
|
||||||
$(PYTHON) $(TOOLS)/$(MKROMFS) --top-dir $(TOP_DIR) --out-dir $(FW_DIR) \
|
|
||||||
--build-dir $(BUILD) --config $(ROMFS_CONFIG)
|
|
||||||
touch $@
|
|
||||||
|
|
||||||
# This target generates the main/app firmware image located at 0x08010000
|
|
||||||
$(FIRMWARE): FIRMWARE_OBJS
|
|
||||||
$(CPP) -P -E -DLINKER_SCRIPT -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
|
|
||||||
$(OBJCOPY) -Obinary -R .big_const* $(FW_DIR)/$(FIRMWARE).elf $(FW_DIR)/$(FIRMWARE).bin
|
$(OBJCOPY) -Obinary -R .big_const* $(FW_DIR)/$(FIRMWARE).elf $(FW_DIR)/$(FIRMWARE).bin
|
||||||
|
|
||||||
size:
|
# This target generates the romfs image.
|
||||||
$(SIZE) --format=SysV $(FW_DIR)/$(FIRMWARE).elf
|
$(ROMFS_IMAGE): $(ROMFS_CONFIG) | $(FIRMWARE)
|
||||||
|
$(ECHO) "GEN romfs image"
|
||||||
|
$(PYTHON) $(TOOLS_DIR)/$(MKROMFS) \
|
||||||
|
--top-dir $(TOP_DIR) --out-dir $(FW_DIR) \
|
||||||
|
--build-dir $(BUILD) --config $(ROMFS_CONFIG)
|
||||||
|
touch $@
|
||||||
|
|
||||||
# Flash the main firmware image
|
# Flash the main firmware image
|
||||||
flash_image::
|
flash_image::
|
||||||
@ -617,3 +223,5 @@ flash_image::
|
|||||||
# Flash the main firmware image using dfu_util
|
# Flash the main firmware image using dfu_util
|
||||||
flash_image_dfu_util::
|
flash_image_dfu_util::
|
||||||
dfu-util -a 0 -d $(DFU_DEVICE) -D $(FW_DIR)/$(FIRMWARE).dfu
|
dfu-util -a 0 -d $(DFU_DEVICE) -D $(FW_DIR)/$(FIRMWARE).dfu
|
||||||
|
|
||||||
|
include common/mkrules.mk
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user