project:cfg:BoardConfig_IPC: Added fastboot BoardConfig file and firmware post-scripts, distinguishing between the BoardConfigs for Luckfox Pico Pro and Luckfox Pico Max. project:app: Added fastboot_client and rk_smart_door for quick boot applications; updated rkipc app to adapt to the latest media library. media:samples: Added more usage examples. media:rockit: Fixed bugs; removed support for retrieving data frames from VPSS. media:isp: Updated rkaiq library and related tools to support connection to RKISP_Tuner. sysdrv:Makefile: Added support for compiling drv_ko on Luckfox Pico Ultra W using Ubuntu; added support for custom root filesystem. sysdrv:tools:board: Updated Buildroot optional mirror sources, updated some software versions, and stored device tree files and configuration files that undergo multiple modifications for U-Boot and kernel separately. sysdrv:source:mcu: Used RISC-V MCU SDK with RT-Thread system, mainly for initializing camera AE during quick boot. sysdrv:source:uboot: Added support for fastboot; added high baud rate DDR bin for serial firmware upgrades. sysdrv:source:kernel: Upgraded to version 5.10.160; increased NPU frequency for RV1106G3; added support for fastboot. Signed-off-by: luckfox-eng29 <eng29@luckfox.com>
159 lines
5.7 KiB
Makefile
159 lines
5.7 KiB
Makefile
|
|
ifeq ($(APP_PARAM), )
|
|
APP_PARAM:=../Makefile.param
|
|
include $(APP_PARAM)
|
|
endif
|
|
|
|
export LC_ALL=C
|
|
SHELL:=/bin/bash
|
|
|
|
CURRENT_DIR := $(shell pwd)
|
|
|
|
PKG_NAME := rkipc
|
|
PKG_BIN ?= out
|
|
PKG_BUILD ?= build
|
|
|
|
# debug: build cmake with more message
|
|
# PKG_CONF_OPTS += -DCMAKE_VERBOSE_MAKEFILE=ON
|
|
#
|
|
ifneq ($(RK_BUILD_VERSION_TYPE), DEBUG)
|
|
PKG_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release
|
|
# PKG_CONF_OPTS += -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
|
# PKG_CONF_OPTS += -DCMAKE_BUILD_TYPE=MinSizeRel
|
|
else
|
|
PKG_CONF_OPTS += -DCMAKE_BUILD_TYPE=Debug
|
|
endif
|
|
#
|
|
|
|
RK_RKIPC_CONFIG :=
|
|
ifneq (, $(filter RKIPC_RV1126_RKMEDIA, $(RK_APP_TYPE)))
|
|
RK_RKIPC_CONFIG := -DCOMPILE_FOR_RV1126_RKMEDIA=ON
|
|
else ifneq (, $(filter RKIPC_RV1126_ROCKIT, $(RK_APP_TYPE)))
|
|
RK_RKIPC_CONFIG := -DCOMPILE_FOR_RV1126_ROCKIT=ON
|
|
else ifneq (, $(filter RKIPC_RV1126_SNAPSHOT, $(RK_APP_TYPE)))
|
|
RK_RKIPC_CONFIG := -DCOMPILE_FOR_RV1126_SNAPSHOT=ON
|
|
else ifneq (, $(filter RKIPC_RV1126_BATTERY_IPC, $(RK_APP_TYPE)))
|
|
RK_RKIPC_CONFIG := -DCOMPILE_FOR_RV1126_BATTERY_IPC=ON
|
|
else ifneq (, $(filter RKIPC_RV1126_DUAL_IPC, $(RK_APP_TYPE)))
|
|
RK_RKIPC_CONFIG := -DCOMPILE_FOR_RV1126_DUAL_IPC=ON
|
|
else ifneq (, $(filter RKIPC_RV1126_AIISP, $(RK_APP_TYPE)))
|
|
RK_RKIPC_CONFIG := -DCOMPILE_FOR_RV1126_AIISP=ON
|
|
else ifneq (, $(filter RKIPC_RK3588, $(RK_APP_TYPE)))
|
|
RK_RKIPC_CONFIG := -DCOMPILE_FOR_RK3588=ON
|
|
else ifneq (, $(filter RKIPC_RK3588_MULTI_IPC, $(RK_APP_TYPE)))
|
|
RK_RKIPC_CONFIG := -DCOMPILE_FOR_RK3588_MULTI_IPC=ON
|
|
else ifneq (, $(filter RKIPC_RV1103, $(RK_APP_TYPE)))
|
|
RK_RKIPC_CONFIG := -DCOMPILE_FOR_RV1103_IPC=ON
|
|
else ifneq (, $(filter RKIPC_RV1106, $(RK_APP_TYPE)))
|
|
RK_RKIPC_CONFIG := -DCOMPILE_FOR_RV1106_IPC=ON
|
|
else ifneq (, $(filter RKIPC_RV1106_BATTERY_IPC, $(RK_APP_TYPE)))
|
|
RK_RKIPC_CONFIG := -DCOMPILE_FOR_RV1106_BATTERY_IPC_CLIENT=ON
|
|
else ifneq (, $(filter RKIPC_RV1106_BATTERY_IPC_TUYA, $(RK_APP_TYPE)))
|
|
RK_RKIPC_CONFIG := -DCOMPILE_FOR_RV1106_BATTERY_IPC_TUYA=ON
|
|
else ifneq (, $(filter RKIPC_RV1106_DUAL_IPC, $(RK_APP_TYPE)))
|
|
RK_RKIPC_CONFIG := -DCOMPILE_FOR_RV1106_DUAL_IPC=ON
|
|
else ifneq (, $(filter RKIPC_RV1106_WAKEUP_IPC, $(RK_APP_TYPE)))
|
|
RK_RKIPC_CONFIG := -DCOMPILE_FOR_RV1106_WAKEUP_IPC=ON
|
|
else ifneq (, $(filter RKIPC_RV1106_AIISP, $(RK_APP_TYPE)))
|
|
RK_RKIPC_CONFIG := -DCOMPILE_FOR_RV1106_AIISP=ON
|
|
endif
|
|
|
|
RK_APP_CFLAGS = -I $(RK_APP_MEDIA_INCLUDE_PATH) \
|
|
-I $(RK_APP_MEDIA_INCLUDE_PATH)/libdrm \
|
|
-I $(RK_APP_MEDIA_INCLUDE_PATH)/rkaiq \
|
|
-I $(RK_APP_MEDIA_INCLUDE_PATH)/rkaiq/uAPI \
|
|
-I $(RK_APP_MEDIA_INCLUDE_PATH)/rkaiq/uAPI2 \
|
|
-I $(RK_APP_MEDIA_INCLUDE_PATH)/rkaiq/algos \
|
|
-I $(RK_APP_MEDIA_INCLUDE_PATH)/rkaiq/common \
|
|
-I $(RK_APP_MEDIA_INCLUDE_PATH)/rkaiq/xcore \
|
|
-I $(RK_APP_MEDIA_INCLUDE_PATH)/rkaiq/iq_parser \
|
|
-I $(RK_APP_MEDIA_INCLUDE_PATH)/rkaiq/iq_parser_v2 \
|
|
-I $(RK_APP_OUTPUT)/include \
|
|
-I $(RK_APP_OUTPUT)/include/freetype2 \
|
|
-I $(RK_APP_MEDIA_INCLUDE_PATH)/easymedia
|
|
|
|
RK_APP_LDFLAGS = -L $(RK_APP_MEDIA_LIBS_PATH) -L$(RK_APP_OUTPUT)/lib
|
|
|
|
RK_APP_OPTS += -Wl,-rpath-link,$(RK_APP_MEDIA_LIBS_PATH):$(RK_APP_PATH_LIB_INCLUDE)/root/usr/lib:$(RK_APP_OUTPUT)/lib
|
|
PKG_CONF_OPTS += -DCMAKE_C_FLAGS="$(RK_APP_CFLAGS) $(RK_APP_LDFLAGS) $(RK_APP_OPTS)" \
|
|
-DCMAKE_CXX_FLAGS="$(RK_APP_CFLAGS) $(RK_APP_LDFLAGS) $(RK_APP_OPTS)"
|
|
|
|
PKG_CONF_OPTS += -DRKIPC_CROSS_COMPILE="$(RK_APP_CROSS)"
|
|
|
|
PKG_TOOLCHAIN_SYSROOT := $(shell $(RK_APP_CROSS)-gcc -print-sysroot)
|
|
PKG_CONF_OPTS += -DCMAKE_FIND_ROOT_PATH="$(CURRENT_DIR)/$(PKG_BIN);$(RK_APP_OUTPUT);$(PKG_TOOLCHAIN_SYSROOT)"
|
|
PKG_CONF_OPTS += -DCMAKE_SYSROOT="$(PKG_TOOLCHAIN_SYSROOT)"
|
|
|
|
PKG_CONF_OPTS += -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
|
|
PKG_CONF_OPTS += -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY
|
|
PKG_CONF_OPTS += -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
|
|
PKG_CONF_OPTS += -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
|
|
PKG_CONF_OPTS += -DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON
|
|
PKG_CONF_OPTS += -DCMAKE_SYSTEM_NAME=Linux
|
|
|
|
ifneq ($(RK_RKIPC_CONFIG),)
|
|
PKG_TARGET := rkipc-build
|
|
endif
|
|
|
|
ifeq ($(PKG_BIN),)
|
|
$(error ### $(CURRENT_DIR): PKG_BIN is NULL, Please Check !!!)
|
|
endif
|
|
|
|
all: $(PKG_TARGET)
|
|
@echo "build $(PKG_NAME) done"
|
|
|
|
rkipc-build: rkfsmk-build thirdlibs-build
|
|
@echo "RK_APP_CHIP is $(RK_APP_CHIP)"
|
|
@echo "RK_APP_TYPE is $(RK_APP_TYPE)"
|
|
rm -rf $(PKG_BIN) $(PKG_BUILD); \
|
|
mkdir -p $(PKG_BIN);
|
|
mkdir -p $(PKG_BUILD);
|
|
pushd $(PKG_BUILD)/; \
|
|
rm -rf CMakeCache.txt; \
|
|
cmake $(CURRENT_DIR)/$(PKG_NAME)/ \
|
|
-DCMAKE_C_COMPILER=$(RK_APP_CROSS)-gcc \
|
|
-DCMAKE_CXX_COMPILER=$(RK_APP_CROSS)-g++ \
|
|
-DCMAKE_INSTALL_PREFIX="$(CURRENT_DIR)/$(PKG_BIN)" \
|
|
-DCMAKE_COLOR_MAKEFILE=OFF \
|
|
-DCMAKE_SYSTEM_NAME=Linux \
|
|
$(RK_RKIPC_CONFIG) \
|
|
$(PKG_CONF_OPTS) ;\
|
|
make -j$(RK_APP_JOBS) || exit -1; \
|
|
make install; \
|
|
popd;
|
|
$(call MAROC_COPY_PKG_TO_APP_OUTPUT, $(RK_APP_OUTPUT), $(PKG_BIN))
|
|
|
|
thirdlibs-build:
|
|
@test ! -d $(RK_APP_COMPONENT)/third_libs || make -C $(RK_APP_COMPONENT)/third_libs
|
|
|
|
rkfsmk-build:
|
|
@test ! -d $(RK_APP_COMPONENT)/rkfsmk || make -C $(RK_APP_COMPONENT)/rkfsmk
|
|
|
|
clean:
|
|
@rm -rf $(PKG_BIN) $(PKG_BUILD)
|
|
|
|
distclean: clean
|
|
|
|
info:
|
|
ifneq ($(RK_RKIPC_CONFIG),)
|
|
@echo -e "$(C_YELLOW)-------------------------------------------------------------------------$(C_NORMAL)"
|
|
@echo -e "RK_APP_TYPE=$(RK_APP_TYPE)"
|
|
@echo -e "option support as follow:"
|
|
@echo -e " RKIPC_RV1126_RKMEDIA"
|
|
@echo -e " RKIPC_RV1126_ROCKIT"
|
|
@echo -e " RKIPC_RV1126_SNAPSHOT"
|
|
@echo -e " RKIPC_RV1126_BATTERY_IPC"
|
|
@echo -e " RKIPC_RV1126_DUAL_IPC"
|
|
@echo -e " RKIPC_RV1126_AIISP"
|
|
@echo -e " RKIPC_RK3588"
|
|
@echo -e " RKIPC_RK3588_MULTI_IPC"
|
|
@echo -e " RKIPC_RV1103"
|
|
@echo -e " RKIPC_RV1106"
|
|
@echo -e " RKIPC_RV1106_BATTERY_IPC"
|
|
@echo -e " RKIPC_RV1106_BATTERY_IPC_TUYA"
|
|
@echo -e " RKIPC_RV1106_DUAL_IPC"
|
|
@echo -e " RKIPC_RV1106_WAKEUP_IPC"
|
|
@echo -e " RKIPC_RV1106_AIISP"
|
|
@echo -e "$(C_YELLOW)-------------------------------------------------------------------------$(C_NORMAL)"
|
|
endif
|