Files
kunlun/build/build_app_iot_sniffer.sh

135 lines
3.8 KiB
Bash
Raw Normal View History

2024-09-28 14:24:04 +08:00
#!/bin/bash
DEF_CHIP_ID=""
DEF_APP_NAME=""
DEF_APP_ID=19
DEF_IMG_TYPE="cco"
DEF_CUSTOMER=""
DEF_CUST_APP="iot_sniffer"
DEF_RUN_IN="flash"
DEF_DBG_REF="release"
DEF_PHASE_OPTION="PLC_SUPPORT_3_PHASE=0"
# flash size always be 2m
DEF_FLASH_SIZE="2m"
DEF_FLASH_SIZE_nM=2
# psram size always be 0m
DEF_PSRAM_SIZE="0m"
DEF_PSRAM_SIZE_nM=0
GROUP_CHIP_ID=("HZ" "WQ")
GROUP_APP_STR=("ge" "at" "sila" "bypass")
GROUP_CUSTOMER=("htzd" "wqrd" "gldq" "ledc" "stamp_22p")
INPUT_CHIP=$(echo $1 | tr '[a-z]' '[A-Z]')
INPUT_APP=$(echo $2 | tr '[A-Z]' '[a-z]')
INPUT_CUSTOM=$(echo $3 | tr '[A-Z]' '[a-z]')
SRC_ENV_FILE="env_flash_cco.sh"
CHIP_ID_ENV="export HW_CHIP_ID="
PSRAM_SIZE_ENV="export psram_size="
FLASH_SIZE_ENV="export flash_size="
usage() {
echo "$0 [CHIP_ID] [APP_NAME] [CUSTOMER] [NOT_CLEAN]"
echo "* [CHIP_ID] -- Necessary, HZ/WQ."
echo "* [APP_NAME] -- Necessary, ge/at/sila/bypass."
echo "* [CUSTOMER] -- Optional, htzd/wqrd/gldq/ledc, default compile all customer."
exit 1
}
for STR in ${GROUP_CHIP_ID[@]}; do
if [ "${INPUT_CHIP}" == "$STR" ]; then
DEF_CHIP_ID="${INPUT_CHIP}"
break
fi
done
for STR in ${GROUP_APP_STR[@]}; do
if [ "$INPUT_APP" == "$STR" ]; then
DEF_APP_NAME=$STR
break
fi
done
if [ "$DEF_CHIP_ID" == "" ] || [ "${DEF_APP_NAME}" == "" ]; then
usage
fi
if [ "${DEF_APP_NAME}" == "ge" ]; then
custom_app_id=0
no_sg_network_connection=0
elif [ "${DEF_APP_NAME}" == "at" ]; then
custom_app_id=1
no_sg_network_connection=1
elif [ "${DEF_APP_NAME}" == "sila" ]; then
custom_app_id=2
no_sg_network_connection=1
elif [ "${DEF_APP_NAME}" == "bypass" ]; then
custom_app_id=3
no_sg_network_connection=1
else
custom_app_id=0
no_sg_network_connection=0
fi
sed -i "s/[ ]*#define[ ]*IOT_SNIFFER_PROTO_DEFALT.*$/#define IOT_SNIFFER_PROTO_DEFALT $custom_app_id/g" ../app/iot_sniffer/inc/iot_sniffer_task.h
sed -i "s/[ ]*#define[ ]*PHY_PRIVATE_OFFSET_PHASE.*$/#define PHY_PRIVATE_OFFSET_PHASE $no_sg_network_connection/g" ../inc/config/plc_config.h
if [ "$INPUT_CUSTOM" != "" ]; then
for STR in ${GROUP_CUSTOMER[@]}; do
if [ "$INPUT_CUSTOM" == "$STR" ]; then
DEF_CUSTOMER=$STR
fi
done
fi
if [ "${DEF_CUSTOMER}" != "" ]; then
GROUP_CUSTOMER[0]=${DEF_CUSTOMER}
GROUP_CUSTOMER[1]="NULL"
fi
rm -f ../Makefile 2>/dev/null
ln -s ./build/Makefile ../Makefile
set -o errexit
cp ${SRC_ENV_FILE} env_tmp.sh
sed -i '/psram_enable/d' env_tmp.sh
#environment variable definition.
export smart_cco_sta=1
export psram_enable=0
export layout_index=1 #alway 2m flash without psram
ENV_STRING=${PSRAM_SIZE_ENV}${DEF_PSRAM_SIZE_nM}
echo $ENV_STRING >> env_tmp.sh
ENV_STRING=${FLASH_SIZE_ENV}${DEF_FLASH_SIZE_nM}
echo $ENV_STRING >> env_tmp.sh
ENV_STRING=${CHIP_ID_ENV}${DEF_CHIP_ID}
echo $ENV_STRING >> env_tmp.sh
cat env_tmp.sh
. env_tmp.sh
if [ "${DEF_CUSTOMER}" == "htzd" ] || [ "${DEF_CUSTOMER}" == "" ]; then
make APP=${DEF_APP_ID} -C .. clobber && make PLATFORM=CHIP APP=${DEF_APP_ID} FLASH_SIZE=${DEF_FLASH_SIZE_nM} -C ..
cp ../ap/.output/lib/ht_cco.bin ../tools/gen_img/iot_ht_3p.bin
cp ../ap/.output/lib/ht_cco.out ../tools/gen_img/ht_3p.out
fi
make APP=${DEF_APP_ID} -C .. clobber && make PLATFORM=CHIP APP=${DEF_APP_ID} FLASH_SIZE=${DEF_FLASH_SIZE_nM} ${DEF_PHASE_OPTION} -C ..
cp ../ap/.output/lib/ht_cco.bin ../tools/gen_img/iot_ht_1p.bin
cp ../ap/.output/lib/ht_cco.out ../tools/gen_img/ht.out
rm env_tmp.sh
for STR in ${GROUP_CUSTOMER[@]}; do
if [ "${STR}" == "NULL" ]; then
break
fi
cd ../tools/gen_img
./gen_img.sh -d ${DEF_CHIP_ID} -c ${STR} -i ${DEF_IMG_TYPE} -r ${DEF_RUN_IN} -m lzma -s ${DEF_FLASH_SIZE} -a ${DEF_CUST_APP} -v ${DEF_DBG_REF} -p ${DEF_PSRAM_SIZE_nM}
cd -
done
mkdir -p ../bin && cp -rf ../tools/gen_img/customer ../bin