mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
Split code into common and port specific code.
This commit is contained in:
parent
dd67d4c341
commit
bc6d1d22f0
321
src/Makefile
321
src/Makefile
@ -62,7 +62,7 @@ MPY_LIB_DIR=$(TOP_DIR)/../scripts/libraries
|
|||||||
FROZEN_MANIFEST=$(OMV_BOARD_CONFIG_DIR)/manifest.py
|
FROZEN_MANIFEST=$(OMV_BOARD_CONFIG_DIR)/manifest.py
|
||||||
|
|
||||||
# Additional qstr definitions for OpenMV
|
# Additional qstr definitions for OpenMV
|
||||||
OMV_QSTR_DEFS = $(TOP_DIR)/$(OMV_DIR)/py/qstrdefsomv.h
|
OMV_QSTR_DEFS = $(TOP_DIR)/$(OMV_DIR)/modules/qstrdefsomv.h
|
||||||
|
|
||||||
# Debugging/Optimization
|
# Debugging/Optimization
|
||||||
ifeq ($(DEBUG), 1)
|
ifeq ($(DEBUG), 1)
|
||||||
@ -99,6 +99,7 @@ include $(OMV_BOARD_CONFIG_DIR)/omv_boardconfig.mk
|
|||||||
# Set startup and system files based on MCU.
|
# Set startup and system files based on MCU.
|
||||||
SYSTEM ?= st/system_stm32fxxx
|
SYSTEM ?= st/system_stm32fxxx
|
||||||
STARTUP ?= st/startup_$(shell echo $(MCU) | tr '[:upper:]' '[:lower:]')
|
STARTUP ?= st/startup_$(shell echo $(MCU) | tr '[:upper:]' '[:lower:]')
|
||||||
|
LDSCRIPT ?= stm32fxxx
|
||||||
|
|
||||||
# Compiler Flags
|
# Compiler Flags
|
||||||
CFLAGS += -std=gnu99 -Wall -Werror -Warray-bounds -mthumb -nostartfiles -fdata-sections -ffunction-sections
|
CFLAGS += -std=gnu99 -Wall -Werror -Warray-bounds -mthumb -nostartfiles -fdata-sections -ffunction-sections
|
||||||
@ -108,61 +109,65 @@ CFLAGS += -D__FPU_PRESENT=1 -D__VFP_FP__ -DUSE_USB_FS -DUSE_DEVICE_MODE -DUSE_US
|
|||||||
-D$(TARGET) -DSTM32_HAL_H=$(HAL_INC) -DVECT_TAB_OFFSET=$(VECT_TAB_OFFSET) -DMAIN_APP_ADDR=$(MAIN_APP_ADDR)
|
-D$(TARGET) -DSTM32_HAL_H=$(HAL_INC) -DVECT_TAB_OFFSET=$(VECT_TAB_OFFSET) -DMAIN_APP_ADDR=$(MAIN_APP_ADDR)
|
||||||
CFLAGS += $(OMV_BOARD_EXTRA_CFLAGS)
|
CFLAGS += $(OMV_BOARD_EXTRA_CFLAGS)
|
||||||
|
|
||||||
ST_CFLAGS += -I. -Iinclude
|
HAL_CFLAGS += -I$(TOP_DIR)/$(CMSIS_DIR)/include/
|
||||||
ST_CFLAGS += -I$(TOP_DIR)/$(CMSIS_DIR)/include/
|
HAL_CFLAGS += -I$(TOP_DIR)/$(CMSIS_DIR)/include/st
|
||||||
ST_CFLAGS += -I$(TOP_DIR)/$(CMSIS_DIR)/include/st
|
HAL_CFLAGS += -I$(TOP_DIR)/$(HAL_DIR)/include/
|
||||||
ST_CFLAGS += -I$(TOP_DIR)/$(HAL_DIR)/include/
|
HAL_CFLAGS += -I$(TOP_DIR)/$(HAL_DIR)/include/Legacy/
|
||||||
ST_CFLAGS += -I$(TOP_DIR)/$(HAL_DIR)/include/Legacy/
|
|
||||||
|
|
||||||
MP_CFLAGS += -I$(BUILD)/$(MICROPY_DIR)/
|
MPY_CFLAGS += -I$(MP_BOARD_CONFIG_DIR)
|
||||||
MP_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/
|
MPY_CFLAGS += -I$(BUILD)/$(MICROPY_DIR)/
|
||||||
MP_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/py/
|
MPY_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/
|
||||||
MP_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/lib/mp-readline
|
MPY_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/py/
|
||||||
MP_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/lib/oofatfs
|
MPY_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/lib/mp-readline
|
||||||
MP_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/lib/lwip/src/include/
|
MPY_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/lib/oofatfs
|
||||||
MP_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/ports/stm32/
|
MPY_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/lib/lwip/src/include/
|
||||||
MP_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/ports/stm32/usbdev/core/inc/
|
MPY_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/ports/stm32/
|
||||||
MP_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/ports/stm32/usbdev/class/inc/
|
MPY_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/ports/stm32/usbdev/core/inc/
|
||||||
MP_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/ports/stm32/lwip_inc/
|
MPY_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/ports/stm32/usbdev/class/inc/
|
||||||
MP_CFLAGS += -I$(MP_BOARD_CONFIG_DIR)
|
MPY_CFLAGS += -I$(TOP_DIR)/$(MICROPY_DIR)/ports/stm32/lwip_inc/
|
||||||
|
|
||||||
# In addition to CFLAGS, the following options are needed to set varilables
|
# In addition to CFLAGS, the following options are needed to set varilables
|
||||||
# in MicroPython's Makefile, to enable or disable compiling additional modules.
|
# in MicroPython's Makefile, to enable or disable compiling additional modules.
|
||||||
MICROPY_ARGS = BOARD=$(TARGET) DEBUG=$(DEBUG) QSTR_DEFS="$(OMV_QSTR_DEFS)" MPY_LIB_DIR=$(MPY_LIB_DIR)
|
MICROPY_ARGS = BOARD=$(TARGET) DEBUG=$(DEBUG) QSTR_DEFS="$(OMV_QSTR_DEFS)" MPY_LIB_DIR=$(MPY_LIB_DIR)
|
||||||
ifeq ($(MICROPY_PY_WINC1500), 1)
|
ifeq ($(MICROPY_PY_WINC1500), 1)
|
||||||
MP_CFLAGS += -DMICROPY_PY_WINC1500=1
|
MPY_CFLAGS += -DMICROPY_PY_WINC1500=1
|
||||||
MICROPY_ARGS += MICROPY_PY_WINC1500=1
|
MICROPY_ARGS += MICROPY_PY_WINC1500=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(MICROPY_PY_IMU), 1)
|
ifeq ($(MICROPY_PY_IMU), 1)
|
||||||
MP_CFLAGS += -DMICROPY_PY_IMU=1
|
MPY_CFLAGS += -DMICROPY_PY_IMU=1
|
||||||
MICROPY_ARGS += MICROPY_PY_IMU=1
|
MICROPY_ARGS += MICROPY_PY_IMU=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(MICROPY_PY_ULAB), 1)
|
ifeq ($(MICROPY_PY_ULAB), 1)
|
||||||
MP_CFLAGS += -DMICROPY_PY_ULAB=1
|
MPY_CFLAGS += -DMICROPY_PY_ULAB=1
|
||||||
MICROPY_ARGS += MICROPY_PY_ULAB=1
|
MICROPY_ARGS += MICROPY_PY_ULAB=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(MICROPY_PY_LWIP), 1)
|
ifeq ($(MICROPY_PY_LWIP), 1)
|
||||||
MP_CFLAGS += -DMICROPY_PY_LWIP=1
|
MPY_CFLAGS += -DMICROPY_PY_LWIP=1
|
||||||
MICROPY_ARGS += MICROPY_PY_LWIP=1
|
MICROPY_ARGS += MICROPY_PY_LWIP=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(MICROPY_PY_NETWORK_CYW43), 1)
|
ifeq ($(MICROPY_PY_NETWORK_CYW43), 1)
|
||||||
MP_CFLAGS += -DMICROPY_PY_NETWORK_CYW43=1
|
MPY_CFLAGS += -DMICROPY_PY_NETWORK_CYW43=1
|
||||||
MICROPY_ARGS += MICROPY_PY_NETWORK_CYW43=1
|
MICROPY_ARGS += MICROPY_PY_NETWORK_CYW43=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(MICROPY_PY_AUDIO), 1)
|
ifeq ($(MICROPY_PY_AUDIO), 1)
|
||||||
MP_CFLAGS += -DMICROPY_PY_AUDIO=1
|
MPY_CFLAGS += -DMICROPY_PY_AUDIO=1
|
||||||
MICROPY_ARGS += MICROPY_PY_AUDIO=1
|
MICROPY_ARGS += MICROPY_PY_AUDIO=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(MICROPY_PY_MICRO_SPEECH), 1)
|
ifeq ($(MICROPY_PY_MICRO_SPEECH), 1)
|
||||||
MP_CFLAGS += -DMICROPY_PY_MICRO_SPEECH=1
|
MPY_CFLAGS += -DMICROPY_PY_MICRO_SPEECH=1
|
||||||
MICROPY_ARGS += MICROPY_PY_MICRO_SPEECH=1
|
MICROPY_ARGS += MICROPY_PY_MICRO_SPEECH=1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/
|
|
||||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/py/
|
|
||||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/img/
|
|
||||||
OMV_CFLAGS += -I$(TOP_DIR)/$(OMV_DIR)/sensors/
|
|
||||||
OMV_CFLAGS += -I$(OMV_BOARD_CONFIG_DIR)
|
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)/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)/$(LEPTON_DIR)/include/
|
||||||
OMV_CFLAGS += -I$(TOP_DIR)/$(MLX_DIR)/include/
|
OMV_CFLAGS += -I$(TOP_DIR)/$(MLX_DIR)/include/
|
||||||
OMV_CFLAGS += -I$(TOP_DIR)/$(LSM6DS3_DIR)/include/
|
OMV_CFLAGS += -I$(TOP_DIR)/$(LSM6DS3_DIR)/include/
|
||||||
@ -170,37 +175,38 @@ OMV_CFLAGS += -I$(TOP_DIR)/$(TENSORFLOW_DIR)/$(CPU)/
|
|||||||
OMV_CFLAGS += -I$(TOP_DIR)/$(WINC1500_DIR)/include/
|
OMV_CFLAGS += -I$(TOP_DIR)/$(WINC1500_DIR)/include/
|
||||||
OMV_CFLAGS += -I$(TOP_DIR)/$(LIBPDM_DIR)/
|
OMV_CFLAGS += -I$(TOP_DIR)/$(LIBPDM_DIR)/
|
||||||
|
|
||||||
UVC_CFLAGS = $(CFLAGS)
|
ifeq ($(OMV_ENABLE_BL), 1)
|
||||||
UVC_CFLAGS += -I$(OMV_BOARD_CONFIG_DIR)
|
BL_CFLAGS := $(CFLAGS) $(HAL_CFLAGS)
|
||||||
UVC_CFLAGS += -I$(TOP_DIR)/$(UVC_DIR)/include/
|
BL_CFLAGS += -I$(OMV_BOARD_CONFIG_DIR)
|
||||||
ifeq ($(MICROPY_PY_IMU), 1)
|
BL_CFLAGS += -I$(TOP_DIR)/$(BOOTLDR_DIR)/include/
|
||||||
# UVC firmware needs the IMU driver.
|
# Linker Flags
|
||||||
UVC_CFLAGS += -DMICROPY_PY_IMU=1
|
BL_LDFLAGS = -mcpu=$(CPU) -mabi=aapcs-linux -mthumb -mfpu=$(FPU) -mfloat-abi=hard\
|
||||||
|
-nostdlib -Wl,--gc-sections -Wl,-T$(BUILD)/$(BOOTLDR_DIR)/stm32fxxx.lds
|
||||||
endif
|
endif
|
||||||
|
|
||||||
BOOTLDR_CFLAGS = $(CFLAGS)
|
ifeq ($(OMV_ENABLE_UVC), 1)
|
||||||
BOOTLDR_CFLAGS += -I$(OMV_BOARD_CONFIG_DIR)
|
UVC_CFLAGS := $(CFLAGS) $(HAL_CFLAGS)
|
||||||
BOOTLDR_CFLAGS += -I$(TOP_DIR)/$(BOOTLDR_DIR)/include/
|
UVC_CFLAGS += -I$(OMV_BOARD_CONFIG_DIR)
|
||||||
|
UVC_CFLAGS += -I$(TOP_DIR)/$(UVC_DIR)/include/
|
||||||
CFLAGS += $(ST_CFLAGS) $(MP_CFLAGS) $(OMV_CFLAGS)
|
UVC_CFLAGS += $(OMV_CFLAGS) $(MPY_CFLAGS)
|
||||||
|
|
||||||
# Linker Flags
|
|
||||||
LDFLAGS = -mcpu=$(CPU) -mabi=aapcs-linux -mthumb -mfpu=$(FPU) -mfloat-abi=hard\
|
|
||||||
-nostdlib -Wl,--gc-sections -Wl,-T$(BUILD)/stm32fxxx.lds
|
|
||||||
|
|
||||||
# Linker Flags
|
|
||||||
BOOTLDR_LDFLAGS = -mcpu=$(CPU) -mabi=aapcs-linux -mthumb -mfpu=$(FPU) -mfloat-abi=hard\
|
|
||||||
-nostdlib -Wl,--gc-sections -Wl,-T$(BUILD)/$(BOOTLDR_DIR)/stm32fxxx.lds
|
|
||||||
|
|
||||||
# Linker Flags
|
# Linker Flags
|
||||||
UVC_LDFLAGS = -mcpu=$(CPU) -mabi=aapcs-linux -mthumb -mfpu=$(FPU) -mfloat-abi=hard\
|
UVC_LDFLAGS = -mcpu=$(CPU) -mabi=aapcs-linux -mthumb -mfpu=$(FPU) -mfloat-abi=hard\
|
||||||
-nostdlib -Wl,--gc-sections -Wl,-T$(BUILD)/$(UVC_DIR)/stm32fxxx.lds
|
-nostdlib -Wl,--gc-sections -Wl,-T$(BUILD)/$(UVC_DIR)/stm32fxxx.lds
|
||||||
|
endif
|
||||||
|
|
||||||
|
CFLAGS += $(HAL_CFLAGS) $(MPY_CFLAGS) $(OMV_CFLAGS)
|
||||||
|
|
||||||
|
# Linker Flags
|
||||||
|
LDFLAGS = -mcpu=$(CPU) -mabi=aapcs-linux -mthumb -mfpu=$(FPU) -mfloat-abi=hard\
|
||||||
|
-nostdlib -Wl,--gc-sections -Wl,-T$(BUILD)/$(LDSCRIPT).lds
|
||||||
|
|
||||||
#------------- Libraries ----------------#
|
#------------- Libraries ----------------#
|
||||||
LIBS = -lgcc
|
LIBS = -lgcc
|
||||||
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
|
||||||
|
|
||||||
|
#------------- Firmware Objects ----------------#
|
||||||
FIRM_OBJ += $(wildcard $(BUILD)/$(CMSIS_DIR)/src/dsp/CommonTables/*.o)
|
FIRM_OBJ += $(wildcard $(BUILD)/$(CMSIS_DIR)/src/dsp/CommonTables/*.o)
|
||||||
FIRM_OBJ += $(wildcard $(BUILD)/$(CMSIS_DIR)/src/dsp/FastMathFunctions/*.o)
|
FIRM_OBJ += $(wildcard $(BUILD)/$(CMSIS_DIR)/src/dsp/FastMathFunctions/*.o)
|
||||||
FIRM_OBJ += $(wildcard $(BUILD)/$(CMSIS_DIR)/src/dsp/MatrixFunctions/*.o)
|
FIRM_OBJ += $(wildcard $(BUILD)/$(CMSIS_DIR)/src/dsp/MatrixFunctions/*.o)
|
||||||
@ -225,113 +231,101 @@ FIRM_OBJ += $(wildcard $(BUILD)/$(WINC1500_DIR)/src/*.o)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
#------------- OpenMV Objects ----------------#
|
#------------- OpenMV Objects ----------------#
|
||||||
FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/, \
|
FIRM_OBJ += $(addprefix $(BUILD)/$(CMSIS_DIR)/src/, \
|
||||||
main.o \
|
$(STARTUP).o \
|
||||||
xalloc.o \
|
$(SYSTEM).o \
|
||||||
fb_alloc.o \
|
|
||||||
umm_malloc.o \
|
|
||||||
ff_wrapper.o \
|
|
||||||
ini.o \
|
|
||||||
framebuffer.o \
|
|
||||||
array.o \
|
|
||||||
usbdbg.o \
|
|
||||||
wifidbg.o \
|
|
||||||
cambus.o \
|
|
||||||
sensor.o \
|
|
||||||
stm32fxxx_hal_msp.o \
|
|
||||||
soft_i2c.o \
|
|
||||||
mutex.o \
|
|
||||||
trace.o \
|
|
||||||
)
|
)
|
||||||
|
|
||||||
FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/sensors/, \
|
FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/alloc/, \
|
||||||
ov2640.o \
|
xalloc.o \
|
||||||
ov5640.o \
|
fb_alloc.o \
|
||||||
ov7690.o \
|
umm_malloc.o \
|
||||||
ov7725.o \
|
)
|
||||||
ov9650.o \
|
|
||||||
mt9v034.o \
|
|
||||||
lepton.o \
|
|
||||||
hm01b0.o \
|
|
||||||
)
|
|
||||||
|
|
||||||
FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/img/,\
|
FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/common/, \
|
||||||
binary.o \
|
array.o \
|
||||||
blob.o \
|
ff_wrapper.o \
|
||||||
clahe.o \
|
ini.o \
|
||||||
draw.o \
|
ringbuf.o \
|
||||||
qrcode.o \
|
trace.o \
|
||||||
apriltag.o \
|
)
|
||||||
dmtx.o \
|
|
||||||
zbar.o \
|
|
||||||
fmath.o \
|
|
||||||
fsort.o \
|
|
||||||
qsort.o \
|
|
||||||
fft.o \
|
|
||||||
filter.o \
|
|
||||||
haar.o \
|
|
||||||
imlib.o \
|
|
||||||
collections.o \
|
|
||||||
stats.o \
|
|
||||||
integral.o \
|
|
||||||
integral_mw.o \
|
|
||||||
kmeans.o \
|
|
||||||
lab_tab.o \
|
|
||||||
xyz_tab.o \
|
|
||||||
yuv_tab.o \
|
|
||||||
rainbow_tab.o \
|
|
||||||
mathop.o \
|
|
||||||
pool.o \
|
|
||||||
point.o \
|
|
||||||
rectangle.o \
|
|
||||||
bmp.o \
|
|
||||||
ppm.o \
|
|
||||||
gif.o \
|
|
||||||
mjpeg.o \
|
|
||||||
fast.o \
|
|
||||||
agast.o \
|
|
||||||
orb.o \
|
|
||||||
template.o \
|
|
||||||
phasecorrelation.o \
|
|
||||||
font.o \
|
|
||||||
jpeg.o \
|
|
||||||
lbp.o \
|
|
||||||
eye.o \
|
|
||||||
hough.o \
|
|
||||||
line.o \
|
|
||||||
lsd.o \
|
|
||||||
sincos_tab.o \
|
|
||||||
edge.o \
|
|
||||||
hog.o \
|
|
||||||
selective_search.o \
|
|
||||||
)
|
|
||||||
|
|
||||||
FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/py/, \
|
FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/sensors/, \
|
||||||
py_helper.o \
|
ov2640.o \
|
||||||
py_omv.o \
|
ov5640.o \
|
||||||
py_sensor.o \
|
ov7690.o \
|
||||||
py_image.o \
|
ov7725.o \
|
||||||
py_clock.o \
|
ov9650.o \
|
||||||
py_lcd.o \
|
mt9v034.o \
|
||||||
py_lcd_cec.o \
|
lepton.o \
|
||||||
py_lcd_touch.o \
|
hm01b0.o \
|
||||||
py_tv.o \
|
)
|
||||||
py_fir.o \
|
|
||||||
py_gif.o \
|
|
||||||
py_mjpeg.o \
|
|
||||||
py_winc.o \
|
|
||||||
py_cpufreq.o \
|
|
||||||
py_tf.o \
|
|
||||||
py_imu.o \
|
|
||||||
py_audio.o \
|
|
||||||
py_micro_speech.o \
|
|
||||||
)
|
|
||||||
|
|
||||||
|
FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/modules/, \
|
||||||
|
py_clock.o \
|
||||||
|
py_gif.o \
|
||||||
|
py_helper.o \
|
||||||
|
py_image.o \
|
||||||
|
py_mjpeg.o \
|
||||||
|
py_omv.o \
|
||||||
|
py_sensor.o \
|
||||||
|
py_tf.o \
|
||||||
|
)
|
||||||
|
|
||||||
FIRM_OBJ += $(addprefix $(BUILD)/$(CMSIS_DIR)/src/,\
|
FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/imlib/, \
|
||||||
$(STARTUP).o \
|
agast.o \
|
||||||
$(SYSTEM).o \
|
apriltag.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 \
|
||||||
|
jpeg.o \
|
||||||
|
kmeans.o \
|
||||||
|
lab_tab.o \
|
||||||
|
lbp.o \
|
||||||
|
line.o \
|
||||||
|
lsd.o \
|
||||||
|
mathop.o \
|
||||||
|
mjpeg.o \
|
||||||
|
orb.o \
|
||||||
|
phasecorrelation.o \
|
||||||
|
point.o \
|
||||||
|
pool.o \
|
||||||
|
ppm.o \
|
||||||
|
qrcode.o \
|
||||||
|
qsort.o \
|
||||||
|
rainbow_tab.o \
|
||||||
|
rectangle.o \
|
||||||
|
selective_search.o \
|
||||||
|
sincos_tab.o \
|
||||||
|
stats.o \
|
||||||
|
template.o \
|
||||||
|
xyz_tab.o \
|
||||||
|
yuv_tab.o \
|
||||||
|
zbar.o \
|
||||||
|
)
|
||||||
|
|
||||||
|
FIRM_OBJ += $(wildcard $(BUILD)/$(OMV_DIR)/ports/$(PORT)/*.o)
|
||||||
|
FIRM_OBJ += $(wildcard $(BUILD)/$(OMV_DIR)/ports/$(PORT)/modules/*.o)
|
||||||
|
|
||||||
#------------- MicroPy Core -------------------#
|
#------------- MicroPy Core -------------------#
|
||||||
FIRM_OBJ += $(wildcard $(BUILD)/$(MICROPY_DIR)/py/*.o)
|
FIRM_OBJ += $(wildcard $(BUILD)/$(MICROPY_DIR)/py/*.o)
|
||||||
@ -585,15 +579,12 @@ UVC_OBJ += $(addprefix $(BUILD)/$(CMSIS_DIR)/src/,\
|
|||||||
$(SYSTEM).o \
|
$(SYSTEM).o \
|
||||||
)
|
)
|
||||||
|
|
||||||
UVC_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/, \
|
UVC_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/alloc/, \
|
||||||
fb_alloc.o \
|
fb_alloc.o \
|
||||||
framebuffer.o \
|
)
|
||||||
|
|
||||||
|
UVC_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/common/, \
|
||||||
array.o \
|
array.o \
|
||||||
cambus.o \
|
|
||||||
sensor.o \
|
|
||||||
stm32fxxx_hal_msp.o \
|
|
||||||
soft_i2c.o \
|
|
||||||
mutex.o \
|
|
||||||
trace.o \
|
trace.o \
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -608,7 +599,7 @@ UVC_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/sensors/, \
|
|||||||
hm01b0.o \
|
hm01b0.o \
|
||||||
)
|
)
|
||||||
|
|
||||||
UVC_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/img/,\
|
UVC_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/imlib/,\
|
||||||
lab_tab.o \
|
lab_tab.o \
|
||||||
xyz_tab.o \
|
xyz_tab.o \
|
||||||
yuv_tab.o \
|
yuv_tab.o \
|
||||||
@ -616,6 +607,15 @@ UVC_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/img/,\
|
|||||||
jpeg.o \
|
jpeg.o \
|
||||||
fmath.o \
|
fmath.o \
|
||||||
imlib.o \
|
imlib.o \
|
||||||
|
framebuffer.o \
|
||||||
|
)
|
||||||
|
|
||||||
|
UVC_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/ports/stm32/,\
|
||||||
|
sensor.o \
|
||||||
|
stm32fxxx_hal_msp.o \
|
||||||
|
soft_i2c.o \
|
||||||
|
mutex.o \
|
||||||
|
cambus.o \
|
||||||
)
|
)
|
||||||
|
|
||||||
UVC_OBJ += $(wildcard $(BUILD)/$(LEPTON_DIR)/src/*.o)
|
UVC_OBJ += $(wildcard $(BUILD)/$(LEPTON_DIR)/src/*.o)
|
||||||
@ -645,6 +645,7 @@ export TARGET
|
|||||||
export STARTUP
|
export STARTUP
|
||||||
export SYSTEM
|
export SYSTEM
|
||||||
export FROZEN_MANIFEST
|
export FROZEN_MANIFEST
|
||||||
|
export PORT
|
||||||
###################################################
|
###################################################
|
||||||
all: $(OPENMV)
|
all: $(OPENMV)
|
||||||
|
|
||||||
@ -676,12 +677,12 @@ UVC_OBJS: FIRMWARE_OBJS
|
|||||||
endif
|
endif
|
||||||
ifeq ($(OMV_ENABLE_BL), 1)
|
ifeq ($(OMV_ENABLE_BL), 1)
|
||||||
BOOTLOADER_OBJS: FIRMWARE_OBJS
|
BOOTLOADER_OBJS: FIRMWARE_OBJS
|
||||||
$(MAKE) -C $(BOOTLDR_DIR) BUILD=$(BUILD)/$(BOOTLDR_DIR) CFLAGS="$(BOOTLDR_CFLAGS) -MMD"
|
$(MAKE) -C $(BOOTLDR_DIR) BUILD=$(BUILD)/$(BOOTLDR_DIR) CFLAGS="$(BL_CFLAGS) -MMD"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# This target generates the main/app firmware image located at 0x08010000
|
# This target generates the main/app firmware image located at 0x08010000
|
||||||
$(FIRMWARE): FIRMWARE_OBJS
|
$(FIRMWARE): FIRMWARE_OBJS
|
||||||
$(CPP) -P -E -I$(OMV_BOARD_CONFIG_DIR) $(OMV_DIR)/stm32fxxx.ld.S > $(BUILD)/stm32fxxx.lds
|
$(CPP) -P -E -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)
|
$(CC) $(LDFLAGS) $(FIRM_OBJ) -o $(FW_DIR)/$(FIRMWARE).elf $(LIBS)
|
||||||
$(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
|
||||||
$(PYTHON) $(MKDFU) -D $(DFU_DEVICE) -b $(MAIN_APP_ADDR):$(FW_DIR)/$(FIRMWARE).bin $(FW_DIR)/$(FIRMWARE).dfu
|
$(PYTHON) $(MKDFU) -D $(DFU_DEVICE) -b $(MAIN_APP_ADDR):$(FW_DIR)/$(FIRMWARE).bin $(FW_DIR)/$(FIRMWARE).dfu
|
||||||
@ -690,7 +691,7 @@ ifeq ($(OMV_ENABLE_BL), 1)
|
|||||||
# This target generates the bootloader.
|
# This target generates the bootloader.
|
||||||
$(BOOTLOADER): FIRMWARE_OBJS BOOTLOADER_OBJS
|
$(BOOTLOADER): FIRMWARE_OBJS BOOTLOADER_OBJS
|
||||||
$(CPP) -P -E -I$(OMV_BOARD_CONFIG_DIR) $(BOOTLDR_DIR)/stm32fxxx.ld.S > $(BUILD)/$(BOOTLDR_DIR)/stm32fxxx.lds
|
$(CPP) -P -E -I$(OMV_BOARD_CONFIG_DIR) $(BOOTLDR_DIR)/stm32fxxx.ld.S > $(BUILD)/$(BOOTLDR_DIR)/stm32fxxx.lds
|
||||||
$(CC) $(BOOTLDR_LDFLAGS) $(BOOT_OBJ) -o $(FW_DIR)/$(BOOTLOADER).elf -lgcc
|
$(CC) $(BL_LDFLAGS) $(BOOT_OBJ) -o $(FW_DIR)/$(BOOTLOADER).elf -lgcc
|
||||||
$(OBJCOPY) -Obinary $(FW_DIR)/$(BOOTLOADER).elf $(FW_DIR)/$(BOOTLOADER).bin
|
$(OBJCOPY) -Obinary $(FW_DIR)/$(BOOTLOADER).elf $(FW_DIR)/$(BOOTLOADER).bin
|
||||||
$(PYTHON) $(MKDFU) -D $(DFU_DEVICE) -b 0x08000000:$(FW_DIR)/$(BOOTLOADER).bin $(FW_DIR)/$(BOOTLOADER).dfu
|
$(PYTHON) $(MKDFU) -D $(DFU_DEVICE) -b 0x08000000:$(FW_DIR)/$(BOOTLOADER).bin $(FW_DIR)/$(BOOTLOADER).dfu
|
||||||
endif
|
endif
|
||||||
|
|||||||
159
src/omv/Makefile
159
src/omv/Makefile
@ -7,23 +7,18 @@
|
|||||||
#
|
#
|
||||||
# OMV Makefile
|
# OMV Makefile
|
||||||
|
|
||||||
SRCS += $(addprefix , \
|
SRCS += $(addprefix alloc/, \
|
||||||
main.c \
|
xalloc.c \
|
||||||
xalloc.c \
|
fb_alloc.c \
|
||||||
fb_alloc.c \
|
umm_malloc.c \
|
||||||
umm_malloc.c \
|
)
|
||||||
ff_wrapper.c \
|
|
||||||
ini.c \
|
SRCS += $(addprefix common/, \
|
||||||
framebuffer.c \
|
array.c \
|
||||||
array.c \
|
ff_wrapper.c \
|
||||||
usbdbg.c \
|
ini.c \
|
||||||
wifidbg.c \
|
ringbuf.c \
|
||||||
cambus.c \
|
trace.c \
|
||||||
sensor.c \
|
|
||||||
stm32fxxx_hal_msp.c \
|
|
||||||
soft_i2c.c \
|
|
||||||
mutex.c \
|
|
||||||
trace.c \
|
|
||||||
)
|
)
|
||||||
|
|
||||||
SRCS += $(addprefix sensors/, \
|
SRCS += $(addprefix sensors/, \
|
||||||
@ -37,78 +32,72 @@ SRCS += $(addprefix sensors/, \
|
|||||||
hm01b0.c \
|
hm01b0.c \
|
||||||
)
|
)
|
||||||
|
|
||||||
SRCS += $(addprefix img/, \
|
SRCS += $(addprefix modules/, \
|
||||||
binary.c \
|
py_clock.c \
|
||||||
blob.c \
|
py_gif.c \
|
||||||
clahe.c \
|
py_helper.c \
|
||||||
draw.c \
|
py_image.c \
|
||||||
qrcode.c \
|
py_mjpeg.c \
|
||||||
apriltag.c \
|
py_omv.c \
|
||||||
dmtx.c \
|
py_sensor.c \
|
||||||
zbar.c \
|
py_tf.c \
|
||||||
fmath.c \
|
|
||||||
fsort.c \
|
|
||||||
qsort.c \
|
|
||||||
fft.c \
|
|
||||||
filter.c \
|
|
||||||
haar.c \
|
|
||||||
imlib.c \
|
|
||||||
collections.c \
|
|
||||||
stats.c \
|
|
||||||
integral.c \
|
|
||||||
integral_mw.c \
|
|
||||||
kmeans.c \
|
|
||||||
lab_tab.c \
|
|
||||||
xyz_tab.c \
|
|
||||||
yuv_tab.c \
|
|
||||||
rainbow_tab.c \
|
|
||||||
mathop.c \
|
|
||||||
pool.c \
|
|
||||||
point.c \
|
|
||||||
rectangle.c \
|
|
||||||
bmp.c \
|
|
||||||
ppm.c \
|
|
||||||
gif.c \
|
|
||||||
mjpeg.c \
|
|
||||||
fast.c \
|
|
||||||
agast.c \
|
|
||||||
orb.c \
|
|
||||||
template.c \
|
|
||||||
phasecorrelation.c \
|
|
||||||
font.c \
|
|
||||||
jpeg.c \
|
|
||||||
lbp.c \
|
|
||||||
eye.c \
|
|
||||||
hough.c \
|
|
||||||
line.c \
|
|
||||||
lsd.c \
|
|
||||||
sincos_tab.c \
|
|
||||||
edge.c \
|
|
||||||
hog.c \
|
|
||||||
selective_search.c \
|
|
||||||
)
|
)
|
||||||
|
|
||||||
SRCS += $(addprefix py/, \
|
SRCS += $(addprefix imlib/, \
|
||||||
py_helper.c \
|
agast.c \
|
||||||
py_omv.c \
|
apriltag.c \
|
||||||
py_sensor.c \
|
binary.c \
|
||||||
py_image.c \
|
blob.c \
|
||||||
py_clock.c \
|
bmp.c \
|
||||||
py_lcd.c \
|
clahe.c \
|
||||||
py_lcd_cec.c \
|
collections.c \
|
||||||
py_lcd_touch.c \
|
dmtx.c \
|
||||||
py_tv.c \
|
draw.c \
|
||||||
py_fir.c \
|
edge.c \
|
||||||
py_gif.c \
|
eye.c \
|
||||||
py_mjpeg.c \
|
fast.c \
|
||||||
py_winc.c \
|
fft.c \
|
||||||
py_cpufreq.c \
|
filter.c \
|
||||||
py_tf.c \
|
fmath.c \
|
||||||
py_imu.c \
|
font.c \
|
||||||
py_audio.c \
|
framebuffer.c \
|
||||||
py_micro_speech.c \
|
fsort.c \
|
||||||
|
gif.c \
|
||||||
|
haar.c \
|
||||||
|
hog.c \
|
||||||
|
hough.c \
|
||||||
|
imlib.c \
|
||||||
|
integral.c \
|
||||||
|
integral_mw.c \
|
||||||
|
jpeg.c \
|
||||||
|
kmeans.c \
|
||||||
|
lab_tab.c \
|
||||||
|
lbp.c \
|
||||||
|
line.c \
|
||||||
|
lsd.c \
|
||||||
|
mathop.c \
|
||||||
|
mjpeg.c \
|
||||||
|
orb.c \
|
||||||
|
phasecorrelation.c \
|
||||||
|
point.c \
|
||||||
|
pool.c \
|
||||||
|
ppm.c \
|
||||||
|
qrcode.c \
|
||||||
|
qsort.c \
|
||||||
|
rainbow_tab.c \
|
||||||
|
rectangle.c \
|
||||||
|
selective_search.c \
|
||||||
|
sincos_tab.c \
|
||||||
|
stats.c \
|
||||||
|
template.c \
|
||||||
|
xyz_tab.c \
|
||||||
|
yuv_tab.c \
|
||||||
|
zbar.c \
|
||||||
)
|
)
|
||||||
|
|
||||||
|
SRCS += $(wildcard ports/$(PORT)/*.c)
|
||||||
|
SRCS += $(wildcard ports/$(PORT)/modules/*.c)
|
||||||
|
|
||||||
OBJS = $(addprefix $(BUILD)/, $(SRCS:.c=.o))
|
OBJS = $(addprefix $(BUILD)/, $(SRCS:.c=.o))
|
||||||
OBJ_DIRS = $(sort $(dir $(OBJS)))
|
OBJ_DIRS = $(sort $(dir $(OBJS)))
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user