#!/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