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>
181 lines
8.3 KiB
Makefile
181 lines
8.3 KiB
Makefile
ifeq ($(APP_PARAM), )
|
|
APP_PARAM:=../Makefile.param
|
|
include $(APP_PARAM)
|
|
endif
|
|
|
|
export LC_ALL=C
|
|
SHELL:=/bin/bash
|
|
# default build adbd with static link
|
|
# PKG_WPA_RTK_BUILD_STATIC ?= -static -pthread
|
|
# arch=arm default use thumb-2 compile
|
|
ifeq ($(RK_APP_ARCH_TYPE),arm)
|
|
PKG_USE_THUMB2 ?= YES
|
|
endif
|
|
|
|
CURRENT_DIR := $(shell pwd)
|
|
PKG_TARBALL_WPA_RTK_TOOLS := wpa_supplicant_hostapd-0.8_rtw-2-ga8ef7c824.20200911.tar.gz
|
|
PKG_NAME_WPA_RTK_TOOLS:= wpa_supplicant_hostapd-0.8_rtw-2-ga8ef7c824.20200911
|
|
PKG_NAME_WPA_TOOLS:= wpa_supplicant-2.6
|
|
PKG_NAME_HOSTAPD_TOOLS:= hostapd-2.6
|
|
|
|
PKG_TARBALL_LIBNL := libnl-3.4.0.tar.gz
|
|
PKG_NAME_LIBNL := libnl-3.4.0
|
|
ifeq ($(RK_APP_ARCH_TYPE),arm)
|
|
PKG_OS_COMPILE_FLAG_OPENSSL := linux-armv4
|
|
else
|
|
PKG_OS_COMPILE_FLAG_OPENSSL := linux-aarch64
|
|
endif
|
|
|
|
PKG_BIN := out
|
|
PKG_BIN_INSTALL_DIR := install_out
|
|
PKG_BIN_INSTALL := $(PKG_BIN_INSTALL_DIR)/root
|
|
|
|
PKG_CONF_OPTS += $(RK_APP_OPTS) -Os \
|
|
-I $(CURRENT_DIR)/$(PKG_BIN)/include/libnl3 \
|
|
-L $(CURRENT_DIR)/$(PKG_BIN)/lib \
|
|
-l nl-3 \
|
|
-l nl-genl-3
|
|
ifeq ($(RK_APP_CHIP),rv1126)
|
|
PKG_CONF_OPTS += -lpthread
|
|
endif
|
|
ifeq ($(PKG_USE_THUMB2),YES)
|
|
PKG_CONF_OPTS += -mthumb -Wa,-mimplicit-it=thumb -mthumb-interwork
|
|
endif
|
|
|
|
ifeq ($(RK_ENABLE_WIFI),y)
|
|
PKG_TARGET += build-wifi
|
|
else
|
|
ifneq (, $(filter RK_WIFI_APP,$(RK_APP_TYPE)))
|
|
PKG_TARGET += build-wifi
|
|
endif
|
|
endif
|
|
|
|
all: $(PKG_TARGET)
|
|
@echo "build wifi app done"
|
|
|
|
build-wifi: libnl
|
|
@test -f $(CURRENT_DIR)/$(PKG_BIN)/bin/wpa_supplicant_rtk || (\
|
|
rm -rf $(CURRENT_DIR)/$(PKG_NAME_WPA_RTK_TOOLS); \
|
|
tar -xf $(PKG_TARBALL_WPA_RTK_TOOLS); \
|
|
mkdir -p $(CURRENT_DIR)/$(PKG_NAME_WPA_RTK_TOOLS)/$(PKG_BIN); \
|
|
mkdir -p $(CURRENT_DIR)/$(PKG_BIN)/bin; \
|
|
pushd $(CURRENT_DIR)/$(PKG_NAME_WPA_RTK_TOOLS)/; \
|
|
CC="$(RK_APP_CROSS)-gcc" GCC="$(RK_APP_CROSS)-gcc" CXX="$(RK_APP_CROSS)-g++" CPP="$(RK_APP_CROSS)-cpp" \
|
|
CFLAGS="$(PKG_CONF_OPTS)" CPPFLAGS="$(PKG_CONF_OPTS)" \
|
|
CXXFLAGS="$(PKG_CONF_OPTS)" LDFLAGS="$(PKG_CONF_OPTS) $(PKG_WPA_RTK_BUILD_STATIC)" \
|
|
make -j$(RK_APP_JOBS) -C $(CURRENT_DIR)/$(PKG_NAME_WPA_RTK_TOOLS)/wpa_supplicant/ ;\
|
|
cp -f $(CURRENT_DIR)/$(PKG_NAME_WPA_RTK_TOOLS)/wpa_supplicant/wpa_supplicant $(CURRENT_DIR)/$(PKG_BIN)/bin/wpa_supplicant_nl80211_rtk ; \
|
|
cp -f $(CURRENT_DIR)/$(PKG_NAME_WPA_RTK_TOOLS)/wpa_supplicant/wpa_cli $(CURRENT_DIR)/$(PKG_BIN)/bin/wpa_cli_rtk ; \
|
|
make -j$(RK_APP_JOBS) -C $(CURRENT_DIR)/$(PKG_NAME_WPA_RTK_TOOLS)/wpa_supplicant/ clean ;\
|
|
sed -i 's/CONFIG_DRIVER_NL80211=y/#CONFIG_DRIVER_NL80211=y/g' $(CURRENT_DIR)/$(PKG_NAME_WPA_RTK_TOOLS)/wpa_supplicant/.config ; \
|
|
CC="$(RK_APP_CROSS)-gcc" GCC="$(RK_APP_CROSS)-gcc" CXX="$(RK_APP_CROSS)-g++" CPP="$(RK_APP_CROSS)-cpp" \
|
|
CFLAGS="$(PKG_CONF_OPTS)" CPPFLAGS="$(PKG_CONF_OPTS)" \
|
|
CXXFLAGS="$(PKG_CONF_OPTS)" LDFLAGS="$(PKG_CONF_OPTS) $(PKG_WPA_RTK_BUILD_STATIC)" \
|
|
make -j$(RK_APP_JOBS) -C $(CURRENT_DIR)/$(PKG_NAME_WPA_RTK_TOOLS)/wpa_supplicant/ ;\
|
|
cp -f $(CURRENT_DIR)/$(PKG_NAME_WPA_RTK_TOOLS)/wpa_supplicant/wpa_supplicant $(CURRENT_DIR)/$(PKG_BIN)/bin/wpa_supplicant_rtk ; \
|
|
popd; )
|
|
@test -f $(CURRENT_DIR)/$(PKG_BIN)/bin/wpa_supplicant || (\
|
|
mkdir -p $(CURRENT_DIR)/$(PKG_NAME_WPA_TOOLS)/$(PKG_BIN); \
|
|
pushd $(CURRENT_DIR)/$(PKG_NAME_WPA_TOOLS)/; \
|
|
CC="$(RK_APP_CROSS)-gcc" GCC="$(RK_APP_CROSS)-gcc" CXX="$(RK_APP_CROSS)-g++" CPP="$(RK_APP_CROSS)-cpp" \
|
|
CFLAGS="$(PKG_CONF_OPTS)" CPPFLAGS="$(PKG_CONF_OPTS)" \
|
|
CXXFLAGS="$(PKG_CONF_OPTS)" LDFLAGS="$(PKG_CONF_OPTS) $(PKG_WPA_RTK_BUILD_STATIC)" \
|
|
make -j$(RK_APP_JOBS) -C $(CURRENT_DIR)/$(PKG_NAME_WPA_TOOLS)/wpa_supplicant/ ;\
|
|
cp -f $(CURRENT_DIR)/$(PKG_NAME_WPA_TOOLS)/wpa_supplicant/wpa_supplicant $(CURRENT_DIR)/$(PKG_BIN)/bin/ ; \
|
|
cp -f $(CURRENT_DIR)/$(PKG_NAME_WPA_TOOLS)/wpa_supplicant/wpa_cli $(CURRENT_DIR)/$(PKG_BIN)/bin/ ; \
|
|
cp -f $(CURRENT_DIR)/$(PKG_NAME_WPA_TOOLS)/wpa_supplicant/libwpa_client.so $(CURRENT_DIR)/$(PKG_BIN)/lib/ ; \
|
|
popd; )
|
|
@test -f $(CURRENT_DIR)/$(PKG_BIN)/bin/hostapd || (\
|
|
mkdir -p $(CURRENT_DIR)/$(PKG_NAME_HOSTAPD_TOOLS)/$(PKG_BIN); \
|
|
pushd $(CURRENT_DIR)/$(PKG_NAME_HOSTAPD_TOOLS)/; \
|
|
CC="$(RK_APP_CROSS)-gcc" GCC="$(RK_APP_CROSS)-gcc" CXX="$(RK_APP_CROSS)-g++" CPP="$(RK_APP_CROSS)-cpp" \
|
|
CFLAGS="$(PKG_CONF_OPTS)" CPPFLAGS="$(PKG_CONF_OPTS)" \
|
|
CXXFLAGS="$(PKG_CONF_OPTS)" LDFLAGS="$(PKG_CONF_OPTS) $(PKG_WPA_RTK_BUILD_STATIC)" \
|
|
make -j$(RK_APP_JOBS) -C $(CURRENT_DIR)/$(PKG_NAME_HOSTAPD_TOOLS)/hostapd/ ;\
|
|
cp -f $(CURRENT_DIR)/$(PKG_NAME_HOSTAPD_TOOLS)/hostapd/hostapd_cli $(CURRENT_DIR)/$(PKG_BIN)/bin/ ; \
|
|
cp -f $(CURRENT_DIR)/$(PKG_NAME_HOSTAPD_TOOLS)/hostapd/hostapd $(CURRENT_DIR)/$(PKG_BIN)/bin/ ; \
|
|
popd; )
|
|
|
|
#build test app
|
|
make -C $(CURRENT_DIR)/wifi/ clean;
|
|
@CC="$(RK_APP_CROSS)-gcc" GCC="$(RK_APP_CROSS)-gcc" \
|
|
CXX="$(RK_APP_CROSS)-g++" CPP="$(RK_APP_CROSS)-cpp" \
|
|
make -C $(CURRENT_DIR)/wifi/;
|
|
|
|
$(RK_APP_CROSS)-strip -s $(CURRENT_DIR)/$(PKG_BIN)/bin/wpa_supplicant ;
|
|
$(RK_APP_CROSS)-strip -s $(CURRENT_DIR)/$(PKG_BIN)/bin/wpa_cli ;
|
|
$(RK_APP_CROSS)-strip -s $(CURRENT_DIR)/$(PKG_BIN)/bin/wpa_supplicant_rtk ;
|
|
$(RK_APP_CROSS)-strip -s $(CURRENT_DIR)/$(PKG_BIN)/bin/wpa_supplicant_nl80211_rtk ;
|
|
$(RK_APP_CROSS)-strip -s $(CURRENT_DIR)/$(PKG_BIN)/bin/wpa_cli_rtk ;
|
|
|
|
$(RK_APP_CROSS)-strip -s $(CURRENT_DIR)/wifi/test/rkwifi_server ;
|
|
@chmod +x $(CURRENT_DIR)/wifi/test/rkwifi_server ;
|
|
@mkdir -p $(CURRENT_DIR)/$(PKG_BIN_INSTALL) \
|
|
$(CURRENT_DIR)/$(PKG_BIN_INSTALL)/etc \
|
|
$(CURRENT_DIR)/$(PKG_BIN_INSTALL)/usr/bin \
|
|
$(CURRENT_DIR)/$(PKG_BIN_INSTALL)/usr/lib;
|
|
@cp -fa $(CURRENT_DIR)/$(PKG_BIN)/bin/wpa_supplicant \
|
|
$(CURRENT_DIR)/$(PKG_BIN)/bin/wpa_cli \
|
|
$(CURRENT_DIR)/$(PKG_BIN)/bin/wpa_supplicant_rtk \
|
|
$(CURRENT_DIR)/$(PKG_BIN)/bin/wpa_supplicant_nl80211_rtk \
|
|
$(CURRENT_DIR)/$(PKG_BIN)/bin/wpa_cli_rtk \
|
|
$(CURRENT_DIR)/$(PKG_BIN_INSTALL)/usr/bin;
|
|
ifeq ($(RK_APP_CHIP),rv1126)
|
|
@cp -fa $(CURRENT_DIR)/wpa_supplicant_rv1126.conf $(CURRENT_DIR)/$(PKG_BIN_INSTALL)/etc/wpa_supplicant.conf;
|
|
else
|
|
@cp -fa $(CURRENT_DIR)/wpa_supplicant.conf $(CURRENT_DIR)/$(PKG_BIN_INSTALL)/etc;
|
|
endif
|
|
@cp -fa $(CURRENT_DIR)/wifi/test/rkwifi_server $(CURRENT_DIR)/$(PKG_BIN_INSTALL)/usr/bin;
|
|
@cp -fa $(CURRENT_DIR)/bin/wifi_start.sh $(CURRENT_DIR)/$(PKG_BIN_INSTALL)/usr/bin;
|
|
@cp -fa $(CURRENT_DIR)/wifi/librkwifibt.so $(CURRENT_DIR)/$(PKG_BIN_INSTALL)/usr/lib;
|
|
@cp -fa $(CURRENT_DIR)/$(PKG_BIN)/lib/libwpa_client.so $(CURRENT_DIR)/$(PKG_BIN_INSTALL)/usr/lib;
|
|
|
|
ifneq ($(findstring $(RK_ENABLE_WIFI_CHIP),"AP6XXX"),)
|
|
@mkdir -p $(CURRENT_DIR)/$(PKG_BIN_INSTALL)/vendor/etc/firmware;
|
|
@cp -fa $(CURRENT_DIR)/AP6256/nvram_ap6256.txt $(CURRENT_DIR)/$(PKG_BIN_INSTALL)/vendor/etc/firmware;
|
|
@cp -fa $(CURRENT_DIR)/AP6256/fw_bcm43456c5_ag.bin $(CURRENT_DIR)/$(PKG_BIN_INSTALL)/vendor/etc/firmware;
|
|
endif
|
|
|
|
ifeq ($(RK_APP_CHIP),rv1106)
|
|
$(RK_APP_CROSS)-strip -s $(CURRENT_DIR)/$(PKG_BIN)/bin/hostapd ;
|
|
@cp -fa $(CURRENT_DIR)/$(PKG_BIN)/bin/hostapd $(CURRENT_DIR)/$(PKG_BIN_INSTALL)/usr/bin;
|
|
@cp -fa $(CURRENT_DIR)/precompile/$(RK_APP_CROSS)/lib/* $(CURRENT_DIR)/$(PKG_BIN_INSTALL)/usr/lib;
|
|
@cp -fa $(CURRENT_DIR)/precompile/$(RK_APP_CROSS)/bin/iperf $(CURRENT_DIR)/$(PKG_BIN_INSTALL)/usr/bin/;
|
|
@cp -fa $(CURRENT_DIR)/precompile/$(RK_APP_CROSS)/bin/dnsmasq $(CURRENT_DIR)/$(PKG_BIN_INSTALL)/usr/bin/;
|
|
endif
|
|
|
|
$(call MAROC_COPY_PKG_TO_APP_OUTPUT, $(RK_APP_OUTPUT), $(PKG_BIN_INSTALL_DIR))
|
|
|
|
libnl:
|
|
@test -f $(CURRENT_DIR)/$(PKG_BIN)/lib/libnl-3.a || (\
|
|
rm -rf $(CURRENT_DIR)/$(PKG_BIN); \
|
|
rm -fr $(CURRENT_DIR)/$(PKG_NAME_LIBNL)/; \
|
|
tar -xf $(PKG_TARBALL_LIBNL); \
|
|
mkdir -p $(CURRENT_DIR)/$(PKG_BIN); \
|
|
pushd $(CURRENT_DIR)/$(PKG_NAME_LIBNL)/; \
|
|
CC="$(RK_APP_CROSS)-gcc" GCC="$(RK_APP_CROSS)-gcc" \
|
|
CXX="$(RK_APP_CROSS)-g++" CPP="$(RK_APP_CROSS)-cpp" \
|
|
./configure \
|
|
--prefix=$(CURRENT_DIR)/$(PKG_BIN) --host=arm-linux --enable-static ;\
|
|
make -j$(RK_APP_JOBS) > /dev/null || exit -1; \
|
|
make install > /dev/null; \
|
|
rm $(CURRENT_DIR)/$(PKG_BIN)/lib/lib*0 ;\
|
|
popd; )
|
|
|
|
clean: distclean
|
|
|
|
distclean:
|
|
@make -j$(RK_APP_JOBS) -C $(CURRENT_DIR)/$(PKG_NAME_WPA_TOOLS)/wpa_supplicant/ clean;
|
|
@make -C $(CURRENT_DIR)/wifi/ clean;
|
|
@rm -fr $(CURRENT_DIR)/$(PKG_NAME_LIBNL)/;
|
|
@rm -rf $(PKG_NAME_WPA_RTK_TOOLS);
|
|
@rm -rf $(PKG_BIN);
|
|
@rm -rf $(PKG_BIN_INSTALL_DIR);
|
|
@rm -rf $(PKG_NAME_WPA_TOOLS)/$(PKG_BIN);
|
|
|
|
info:
|
|
ifneq ($(RK_ENABLE_WIFI),)
|
|
@echo -e "$(C_YELLOW)-------------------------------------------------------------------------$(C_NORMAL)"
|
|
@echo -e "$(C_YELLOW)-------------------------------------------------------------------------$(C_NORMAL)"
|
|
endif
|