Files
kunlun/build/kl3_1901_at_app.sh

85 lines
2.6 KiB
Bash
Raw Permalink Normal View History

2024-09-28 14:24:04 +08:00
#!/bin/bash
DEF_IMAGE_TYPE="cco"
DEF_FLASH="4m"
DEF_PSRAM="4m"
DEF_REL="release"
DEF_CHIP_TYPE="FPGA"
IMG_TYPE=$(echo $1 | tr '[A-Z]' '[a-z]')
INPUT_CUS_APP=17
INPUT_PLC_APP=18
INPUT_FLASH_SIZE=$(echo $2 | tr '[A-Z]' '[a-z]')
INPUT_PSRAM_SIZE=$(echo $3 | tr '[A-Z]' '[a-z]')
INPUT_CHIP=$(echo $4 | tr '[a-z]' '[A-Z]')
DBUG_RELS=$(echo $5 | tr '[A-Z]' '[a-z]')
GROUP_IMAGE_TYPE=("cco" "sta")
GROUP_FLASH=("4m")
GROUP_PSRAM=("0m" "2m" "4m" "8m")
CHIP_TYPE_STRING=("CHIP" "FPGA")
GROUP_REL=("debug" "release")
if [ "?" == "$1" ]; then
echo "*./k13_1901_at_app.sh [IMAGE_TYPE] [FLASH_SIZE] [PSRAM_SIZE] [CHIP_TYPE] [DEBUG_TYPE]"
echo "* [IMAGE_TYPE] -- Optional, cco or sta."
echo "* [FLASH_SIZE] -- Optional, flash size, 4m."
echo "* [PSRAM_SIZE] -- Optional, psram size, 0m/2m/4m/8m."
echo "* [CHIP_TYPE] -- Optional, chip type, CHIP/FPGA."
echo "* [DEBUG_TYPE] -- Optional, release or debug."
exit 0
fi
#DEF_REL
for k in $@; do
if [ "$k" == "debug" ]; then
DEF_REL="debug"
fi
done
#DEF_IMAGE_TYPE
for k in $@; do
for arg in ${GROUP_IMAGE_TYPE[@]}; do
if [ "$k" == "$arg" ]; then
DEF_IMAGE_TYPE="$k"
fi
done
done
#DEF_CHIP_TYPE
for k in $@; do
for arg in ${CHIP_TYPE_STRING[@]}; do
if [ "$k" == "$arg" ]; then
DEF_CHIP_TYPE="$k"
fi
done
done
if [ "$INPUT_FLASH_SIZE" != "" ]; then
for arg in ${GROUP_FLASH[@]}; do
if [ "$INPUT_FLASH_SIZE" == "$arg" ]; then
DEF_FLASH="$INPUT_FLASH_SIZE"
fi
done
fi
if [ "$INPUT_PSRAM_SIZE" != "" ]; then
for arg in ${GROUP_PSRAM[@]}; do
if [ "$INPUT_PSRAM_SIZE" == "$arg" ]; then
DEF_PSRAM="$INPUT_PSRAM_SIZE"
fi
done
fi
#plc_config.h文件里面的SUPPORT_IEEE_1901宏定义必须设置为1不然无法组网。
sed -i "s/#define *SUPPORT_IEEE_1901 *0/#define SUPPORT_IEEE_1901 1/g" ../inc/config/plc_config.h
#iot_app_api.h文件里面的iot_app_id_t枚举中目前只有将IOT_PLC_APP_DEMO_ID设置为48才能正常注册app。
sed -i "s/IOT_PLC_APP_DEMO_ID,/IOT_PLC_APP_DEMO_ID = 48,/g" ../export/inc/app/iot_app_api.h
#app_main.h文件里面HISION_PROTO宏定义为0要设置为1。
sed -i "s/#define *HISION_PROTO *0/#define HISION_PROTO 1/g" ../app/iot_cus_at_app/app_main.h
#app_main.c里面的app_load_nv_conf()的调用必须注释调,目前底层不支持
sed -i "s/\/*app_load_nv_conf()/\/\/app_load_nv_conf()/g" ../app/iot_cus_at_app/app_main.c
./build_flash_kl3.sh $DEF_IMAGE_TYPE $INPUT_CUS_APP $INPUT_PLC_APP $INPUT_FLASH_SIZE $INPUT_PSRAM_SIZE NA $INPUT_CHIP $DEF_REL
exit 0