135 lines
3.8 KiB
Bash
135 lines
3.8 KiB
Bash
|
#!/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
|