
充电桩共包含10多个模块,以往每次释放正式版本都需要测试人员手动重复打包10多次,通过该 shell 脚本,只需要输入选项即可对特定的模块或者所有模块进行打包操作,减少重复动作,简化版本发布流程
已完成的功能
- 提供菜单供测试人员选择常见的几种打包规则
- 已实现所有ECU的打包功能
待优化的功能(公司倒闭,不用优化了🤡)
- 判断测试人员上传的bin和hex升级包是否有缺失并作出对应提示
- 优化程序的判断逻辑,目前只是简单的将所有打包步骤写成方法,导致大量重复代码
程序运行演示

具体实现
#!/bin/bash
# 创建FotaPackageTool工作目录
funCreateDir(){
if [ -d "./FotaPackageTool" ]; then
echo "已有FotaPackageTool工作目录" >> ./FotaPackageTool/package.log
else
mkdir FotaPackageTool
echo "已创建FotaPackageTool工作目录" >> ./FotaPackageTool/package.log
fi
if [ -d "./FotaPackageTool/binfiles" ]; then
echo "已有FotaPackageTool/binfiles bin文件转存目录" >> ./FotaPackageTool/package.log
else
mkdir FotaPackageTool/binfiles
echo "已创建FotaPackageTool/binfiles bin文件转存目录" >> ./FotaPackageTool/package.log
fi
if [ -d "./FotaPackageTool/module_tmp" ]; then
echo "已有FotaPackageTool/module_tmp hex,s19文件转存目录" >> ./FotaPackageTool/package.log
else
mkdir FotaPackageTool/module_tmp
echo "已创建FotaPackageTool/module_tmp hex,s19文件转存目录" >> ./FotaPackageTool/package.log
fi
}
# 清空module文件夹
funClearModule(){
echo "开始清空module目录" >> ./FotaPackageTool/package.log
rm -rf ./module/*
}
# 清空./FotaPackageTool/binfiles中转文件夹
funClearBinfiles(){
echo "开始清空./FotaPackageTool/binfiles中转文件夹" >> ./FotaPackageTool/package.log
rm -rf ./FotaPackageTool/binfiles/*
}
# 清空FotaPackageTool文件夹里的旧包
funClearOldFotaPackage(){
echo "开始清空module目录" >> ./FotaPackageTool/package.log
rm -rf ./FotaPackageTool/*.gz
}
# 转移.bin文件到中转目录
funMoveBin(){
mv ./module/*.bin ./FotaPackageTool/binfiles/
}
# 转移TBOX1.zip文件到中转目录
funMoveZip(){
mv ./module/*.zip ./FotaPackageTool/binfiles/
}
# 转移TBox2.tar.gz文件到中转目录
funMoveGz(){
mv ./module/*.tar.gz ./FotaPackageTool/binfiles/
}
# 转移HMI.tar文件到中转目录
funMoveTar(){
mv ./module/*.tar ./FotaPackageTool/binfiles/
}
#更新release-time
funUpdatePackageTime(){
echo "开始填充release-time" >> ./FotaPackageTool/package.log
# 获取当前时间
releasetime=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
# 替换文件中的引号内内容
sed -i 's/release-time = "[^"]*"/release-time = "'"${releasetime}"'"/g' ./FotaPackageTool/config_fota.bak
}
#打包HMI
funPackageHMI(){
echo "开始打包HMI" >> ./FotaPackageTool/package.log
# 将TB2.tar.gz文件拷贝到module文件夹
cp ./FotaPackageTool/module_tmp/hmi*.tar ./module/
# 将module文件夹里的以TB2*.tar.gz结尾的文件名存成变量
hmi_tar_file=$(cd ./module && ls hmi*.tar)
# 拷贝一次空的config_fota文件,写入CCU版本的文件名
cp ./FotaPackageTool/config_fota.bak config_fota.txt
sed -i "s/ad-video = \"\"/ad-video = \"$hmi_tar_file\"/g" config_fota.txt
# 执行打包命令并等待"FOTA打包已创建成功"的日志出现
echo "执行FOTA打包命令" >> ./FotaPackageTool/package.log
./ics_fota -auto -conf config_fota.txt >> ./FotaPackageTool/ics_fota_HMI.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_HMI.log; then
echo "捕捉到ics_fota_HMI日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 获取OUTPUT文件夹中最新生成的文件夹名
latest_dir=$(ls -l OUTPUT/ |tail -n 1|awk '{print $9}')
# 获取config_fota.txt中的系统版本号
SW_Version=$(cat config_fota.txt |grep 系统版本号|awk '{print $3}'|sed 's/\"//g')
# 将OUTPUT中最新的文件夹内的*.FOTA.tar.gz拷贝到FotaPackageOutput文件夹中并改名
echo "将($latest_dir)中的FOTA包移动到FotaPackageTool目录" >> ./FotaPackageTool/package.log
mv ./OUTPUT/"$latest_dir"/*.tar.gz ./FotaPackageTool/"$SW_Version"_HMI.tar.gz
unset latest_dir
}
# 打包TBOX1
funPackageTBOX1(){
echo "开始打包TBox1" >> ./FotaPackageTool/package.log
# 将MCU1.hex文件拷贝到module文件夹
cp ./FotaPackageTool/module_tmp/MCU1*.hex ./module/
# 执行ics_fota命令
echo "开始生成TBOX1.bin文件" >> ./FotaPackageTool/package.log
./ics_fota -auto >> ./FotaPackageTool/ics_fota_MCU.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_MCU.log; then
echo "捕捉到ics_fota_MCU日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 将module文件夹里的以.bin结尾的文件名存成变量
mcu_bin_file1=$(cd ./module && ls TBOX1*.bin)
# 将TBOX1的update.zip拷贝到module目录
cp ./FotaPackageTool/module_tmp/update.zip ./module
mpu_zip_file=$(cd ./module && ls update.zip)
# 拷贝一次空的config_fota文件,写入MCU版本的文件名
cp ./FotaPackageTool/config_fota.bak config_fota.txt
sed -i "s/TBOX1-MPU = \"\"/TBOX1-MPU = \"$mpu_zip_file\"/g" config_fota.txt
sed -i "s/TBOX1-MCU = \"\"/TBOX1-MCU = \"$mcu_bin_file1\"/g" config_fota.txt
# 生成bin文件后,指定config_fota文件第二次打包
echo "开始指定.bin文件生成FOTA包" >> ./FotaPackageTool/package.log
./ics_fota -auto -conf config_fota.txt >> ./FotaPackageTool/ics_fota_TBOX1.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_TBOX1.log; then
echo "捕捉到ics_fota_TBOX1日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 获取OUTPUT文件夹中最新生成的文件夹名
latest_dir=$(ls -l OUTPUT/ |tail -n 1|awk '{print $9}')
# 获取config_fota.txt中的系统版本号
SW_Version=$(cat config_fota.txt |grep 系统版本号|awk '{print $3}'|sed 's/\"//g')
# 将OUTPUT中最新的文件夹内的*.FOTA.tar.gz拷贝到FotaPackageOutput文件夹中并改名
echo "将($latest_dir)中的FOTA包移动到FotaPackageTool目录" >> ./FotaPackageTool/package.log
mv ./OUTPUT/"$latest_dir"/*.tar.gz ./FotaPackageTool/"$SW_Version"_TBOX1.tar.gz
unset latest_dir
}
# 打包TBOX2
funPackageTBOX2(){
echo "开始打包TBOX2" >> ./FotaPackageTool/package.log
# 将TB2.tar.gz文件拷贝到module文件夹
cp ./FotaPackageTool/module_tmp/TB2*.tar.gz ./module/
# 将module文件夹里的以TB2*.tar.gz结尾的文件名存成变量
tbox2_tar_file=$(cd ./module && ls TB2*.tar.gz)
# 拷贝一次空的config_fota文件,写入CCU版本的文件名
cp ./FotaPackageTool/config_fota.bak config_fota.txt
sed -i "s/TBOX2-MPU = \"\"/TBOX2-MPU = \"$tbox2_tar_file\"/g" config_fota.txt
# 生成bin文件后,指定config_fota文件第二次打包
./ics_fota -auto -conf config_fota.txt >> ./FotaPackageTool/ics_fota_TBOX2.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_TBOX2.log; then
echo "捕捉到ics_fota_TBOX2日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 获取OUTPUT文件夹中最新生成的文件夹名
latest_dir=$(ls -l OUTPUT/ |tail -n 1|awk '{print $9}')
# 获取config_fota.txt中的系统版本号
SW_Version=$(cat config_fota.txt |grep 系统版本号|awk '{print $3}'|sed 's/\"//g')
# 将OUTPUT中最新的文件夹内的*.FOTA.tar.gz拷贝到FotaPackageOutput文件夹中并改名
echo "将($latest_dir)中的FOTA包移动到FotaPackageTool目录" >> ./FotaPackageTool/package.log
mv ./OUTPUT/"$latest_dir"/*.tar.gz ./FotaPackageTool/"$SW_Version"_TBOX2.tar.gz
unset latest_dir
}
# 打包CCU
funPackageCCU(){
echo "开始打包CCU" >> ./FotaPackageTool/package.log
# 将ccu.s19文件拷贝到module文件夹
cp ./FotaPackageTool/module_tmp/CCU*.s19 ./module/
# 执行ics_fota命令
echo "开始生成.bin文件" >> ./FotaPackageTool/package.log
./ics_fota -auto >> ./FotaPackageTool/ics_fota_CCU_1.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_CCU_1.log; then
echo "捕捉到ics_fota_CCU_1日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 将module文件夹里的以.bin结尾的文件名存成变量
ccu_bin_file1=$(cd ./module && ls CCU1*.bin)
ccu_bin_file2=$(cd ./module && ls CCU2*.bin)
# 拷贝一次空的config_fota文件,写入CCU版本的文件名
cp ./FotaPackageTool/config_fota.bak config_fota.txt
sed -i "s/CCU1 = \"\"/CCU1 = \"$ccu_bin_file1\"/g" config_fota.txt
sed -i "s/CCU2 = \"\"/CCU2 = \"$ccu_bin_file2\"/g" config_fota.txt
# 生成bin文件后,指定config_fota文件第二次打包
./ics_fota -auto -conf config_fota.txt >> ./FotaPackageTool/ics_fota_CCU_2.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_CCU_2.log; then
echo "捕捉到ics_fota_CCU_2日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 获取OUTPUT文件夹中最新生成的文件夹名
latest_dir=$(ls -l OUTPUT/ |tail -n 1|awk '{print $9}')
# 获取config_fota.txt中的系统版本号
SW_Version=$(cat config_fota.txt |grep 系统版本号|awk '{print $3}'|sed 's/\"//g')
# 将OUTPUT中最新的文件夹内的*.FOTA.tar.gz拷贝到FotaPackageOutput文件夹中并改名
echo "将($latest_dir)中的FOTA包移动到FotaPackageTool目录" >> ./FotaPackageTool/package.log
mv ./OUTPUT/"$latest_dir"/*.tar.gz ./FotaPackageTool/"$SW_Version"_CCU.tar.gz
unset latest_dir
}
# 打包SECC
funPackageSECC(){
echo "开始打包SECC" >> ./FotaPackageTool/package.log
# 将secc.s19文件拷贝到module文件夹
cp ./FotaPackageTool/module_tmp/SECC*.s19 ./module/
# 执行ics_fota命令
echo "开始生成.bin文件" >> ./FotaPackageTool/package.log
./ics_fota -auto >> ./FotaPackageTool/ics_fota_SECC_1.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_SECC_1.log; then
echo "捕捉到ics_fota_SECC_1日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 将module文件夹里的以.bin结尾的文件名存成变量
secc_bin_file1=$(cd ./module && ls SECC1*.bin)
secc_bin_file2=$(cd ./module && ls SECC2*.bin)
# 拷贝一次空的config_fota文件,写入CCU版本的文件名
cp ./FotaPackageTool/config_fota.bak config_fota.txt
sed -i "s/SECC1 = \"\"/SECC1 = \"$secc_bin_file1\"/g" config_fota.txt
sed -i "s/SECC2 = \"\"/SECC2 = \"$secc_bin_file2\"/g" config_fota.txt
# 生成bin文件后,指定config_fota文件第二次打包
./ics_fota -auto -conf config_fota.txt >> ./FotaPackageTool/ics_fota_SECC_2.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_SECC_2.log; then
echo "捕捉到ics_fota_SECC_2日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 获取OUTPUT文件夹中最新生成的文件夹名
latest_dir=$(ls -l OUTPUT/ |tail -n 1|awk '{print $9}')
# 获取config_fota.txt中的系统版本号
SW_Version=$(cat config_fota.txt |grep 系统版本号|awk '{print $3}'|sed 's/\"//g')
# 将OUTPUT中最新的文件夹内的*.FOTA.tar.gz拷贝到FotaPackageOutput文件夹中并改名
echo "将($latest_dir)中的FOTA包移动到FotaPackageTool目录" >> ./FotaPackageTool/package.log
mv ./OUTPUT/"$latest_dir"/*.tar.gz ./FotaPackageTool/"$SW_Version"_SECC.tar.gz
unset latest_dir
}
# 打包HCU
funPackageHCU(){
echo "开始打包HCU" >> ./FotaPackageTool/package.log
# 将AFC.hex文件拷贝到module文件夹
cp ./FotaPackageTool/module_tmp/AFC*.hex ./module/
# 执行ics_fota命令
echo "开始生成.bin文件" >> ./FotaPackageTool/package.log
./ics_fota -auto >> ./FotaPackageTool/ics_fota_HCU_1.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_HCU_1.log; then
echo "捕捉到ics_fota_HCU_1日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 将module文件夹里的以.bin结尾的文件名存成变量
hcu_bin_file1=$(cd ./module && ls HCU*.bin)
# 拷贝一次空的config_fota文件,写入CCU版本的文件名
cp ./FotaPackageTool/config_fota.bak config_fota.txt
sed -i "s/HCU = \"\"/HCU = \"$hcu_bin_file1\"/g" config_fota.txt
# 生成bin文件后,指定config_fota文件第二次打包
./ics_fota -auto -conf config_fota.txt >> ./FotaPackageTool/ics_fota_HCU_2.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_HCU_2.log; then
echo "捕捉到ics_fota_HCU_2日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 获取OUTPUT文件夹中最新生成的文件夹名
latest_dir=$(ls -l OUTPUT/ |tail -n 1|awk '{print $9}')
# 获取config_fota.txt中的系统版本号
SW_Version=$(cat config_fota.txt |grep 系统版本号|awk '{print $3}'|sed 's/\"//g')
# 将OUTPUT中最新的文件夹内的*.FOTA.tar.gz拷贝到FotaPackageOutput文件夹中并改名
echo "将($latest_dir)中的FOTA包移动到FotaPackageTool目录" >> ./FotaPackageTool/package.log
mv ./OUTPUT/"$latest_dir"/*.tar.gz ./FotaPackageTool/"$SW_Version"_HCU.tar.gz
unset latest_dir
}
# 打包DCDC和ACDC
funPackagePM(){
echo "开始打包DCDC和ACDC" >> ./FotaPackageTool/package.log
# 将ac*.hex和dc*.hex文件拷贝到module文件夹
cp ./FotaPackageTool/module_tmp/AC*.hex ./module/
cp ./FotaPackageTool/module_tmp/DC*.hex ./module/
# 执行ics_fota命令
echo "开始生成.bin文件" >> ./FotaPackageTool/package.log
./ics_fota -auto >> ./FotaPackageTool/ics_fota_PM_1.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_PM_1.log; then
echo "捕捉到ics_fota_PM_1日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 将module文件夹里的以.bin结尾的文件名存成变量
dc_bin_file1=$(cd ./module && ls DCDC1*.bin)
dc_bin_file2=$(cd ./module && ls DCDC2*.bin)
dc_bin_file3=$(cd ./module && ls DCDC3*.bin)
dc_bin_file4=$(cd ./module && ls DCDC4*.bin)
ac_bin_file1=$(cd ./module && ls ACDC1*.bin)
ac_bin_file2=$(cd ./module && ls ACDC2*.bin)
# 拷贝一次空的config_fota文件,写入CCU版本的文件名
cp ./FotaPackageTool/config_fota.bak config_fota.txt
sed -i "s/DCCC1 = \"\"/DCCC1 = \"$dc_bin_file1\"/g" config_fota.txt
sed -i "s/DCCC2 = \"\"/DCCC2 = \"$dc_bin_file2\"/g" config_fota.txt
sed -i "s/DCCC3 = \"\"/DCCC3 = \"$dc_bin_file3\"/g" config_fota.txt
sed -i "s/DCCC4 = \"\"/DCCC4 = \"$dc_bin_file4\"/g" config_fota.txt
sed -i "s/ACCC1 = \"\"/ACCC1 = \"$ac_bin_file1\"/g" config_fota.txt
sed -i "s/ACCC2 = \"\"/ACCC2 = \"$ac_bin_file2\"/g" config_fota.txt
# 生成bin文件后,指定config_fota文件第二次打包
./ics_fota -auto -conf config_fota.txt >> ./FotaPackageTool/ics_fota_PM_2.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_PM_2.log; then
echo "捕捉到ics_fota_PM_2日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 获取OUTPUT文件夹中最新生成的文件夹名
latest_dir=$(ls -l OUTPUT/ |tail -n 1|awk '{print $9}')
# 获取config_fota.txt中的系统版本号
SW_Version=$(cat config_fota.txt |grep 系统版本号|awk '{print $3}'|sed 's/\"//g')
# 将OUTPUT中最新的文件夹内的*.FOTA.tar.gz拷贝到FotaPackageOutput文件夹中并改名
echo "将($latest_dir)中的FOTA包移动到FotaPackageTool目录" >> ./FotaPackageTool/package.log
mv ./OUTPUT/"$latest_dir"/*.tar.gz ./FotaPackageTool/"$SW_Version"_PM.tar.gz
unset latest_dir
}
# 打包CMU
funPackageCMU(){
echo "开始打包CMU" >> ./FotaPackageTool/package.log
# 将cmu.hex文件拷贝到module文件夹
cp ./FotaPackageTool/module_tmp/CMU*.hex ./module/
# 执行ics_fota命令
echo "开始生成.bin文件" >> ./FotaPackageTool/package.log
./ics_fota -auto >> ./FotaPackageTool/ics_fota_CMU_1.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_CMU_1.log; then
echo "捕捉到ics_fota_CMU_1日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 将module文件夹里的以.bin结尾的文件名存成变量
cmu_bin_file1=$(cd ./module && ls CMU1*.bin)
cmu_bin_file2=$(cd ./module && ls CMU2*.bin)
cmu_bin_file3=$(cd ./module && ls CMU3*.bin)
cmu_bin_file4=$(cd ./module && ls CMU4*.bin)
# 拷贝一次空的config_fota文件,写入CCU版本的文件名
cp ./FotaPackageTool/config_fota.bak config_fota.txt
sed -i "s/CMU1 = \"\"/CMU1 = \"$cmu_bin_file1\"/g" config_fota.txt
sed -i "s/CMU2 = \"\"/CMU2 = \"$cmu_bin_file2\"/g" config_fota.txt
sed -i "s/CMU3 = \"\"/CMU3 = \"$cmu_bin_file3\"/g" config_fota.txt
sed -i "s/CMU4 = \"\"/CMU4 = \"$cmu_bin_file4\"/g" config_fota.txt
# 生成bin文件后,指定config_fota文件第二次打包
./ics_fota -auto -conf config_fota.txt >> ./FotaPackageTool/ics_fota_CMU_2.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_CMU_2.log; then
echo "捕捉到ics_fota_CMU_2日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 获取OUTPUT文件夹中最新生成的文件夹名
latest_dir=$(ls -l OUTPUT/ |tail -n 1|awk '{print $9}')
# 获取config_fota.txt中的系统版本号
SW_Version=$(cat config_fota.txt |grep 系统版本号|awk '{print $3}'|sed 's/\"//g')
# 将OUTPUT中最新的文件夹内的*.FOTA.tar.gz拷贝到FotaPackageOutput文件夹中并改名
echo "将($latest_dir)中的FOTA包移动到FotaPackageTool目录" >> ./FotaPackageTool/package.log
mv ./OUTPUT/"$latest_dir"/*.tar.gz ./FotaPackageTool/"$SW_Version"_CMU.tar.gz
unset latest_dir
}
# 打包BMS
funPackageBMS(){
echo "开始打包EMS" >> ./FotaPackageTool/package.log
# 将bmu.s19文件拷贝到module文件夹
cp ./FotaPackageTool/module_tmp/BMU*.s19 ./module/
# 执行ics_fota命令
echo "开始生成.bin文件" >> ./FotaPackageTool/package.log
./ics_fota -auto >> ./FotaPackageTool/ics_fota_BMS_1.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_BMS_1.log; then
echo "捕捉到ics_fota_BMS_1日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 将module文件夹里的以.bin结尾的文件名存成变量
bms_bin_file1=$(cd ./module && ls BMS1*.bin)
bms_bin_file2=$(cd ./module && ls BMS2*.bin)
# 拷贝一次空的config_fota文件,写入CCU版本的文件名
cp ./FotaPackageTool/config_fota.bak config_fota.txt
sed -i "s/BMS1 = \"\"/BMS1 = \"$bms_bin_file1\"/g" config_fota.txt
sed -i "s/BMS2 = \"\"/BMS2 = \"$bms_bin_file2\"/g" config_fota.txt
# 生成bin文件后,指定config_fota文件第二次打包
./ics_fota -auto -conf config_fota.txt >> ./FotaPackageTool/ics_fota_BMS_2.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_BMS_2.log; then
echo "捕捉到ics_fota_BMS_2日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 获取OUTPUT文件夹中最新生成的文件夹名
latest_dir=$(ls -l OUTPUT/ |tail -n 1|awk '{print $9}')
# 获取config_fota.txt中的系统版本号
SW_Version=$(cat config_fota.txt |grep 系统版本号|awk '{print $3}'|sed 's/\"//g')
# 将OUTPUT中最新的文件夹内的*.FOTA.tar.gz拷贝到FotaPackageOutput文件夹中并改名
echo "将($latest_dir)中的FOTA包移动到FotaPackageTool目录" >> ./FotaPackageTool/package.log
mv ./OUTPUT/"$latest_dir"/*.tar.gz ./FotaPackageTool/"$SW_Version"_BMS.tar.gz
unset latest_dir
}
# 打包EMS
funPackageEMS(){
echo "开始打包BMS" >> ./FotaPackageTool/package.log
# 将bmu.s19文件拷贝到module文件夹
cp ./FotaPackageTool/module_tmp/EMS*.s19 ./module/
# 执行ics_fota命令
echo "开始生成.bin文件" >> ./FotaPackageTool/package.log
./ics_fota -auto >> ./FotaPackageTool/ics_fota_EMS_1.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_EMS_1.log; then
echo "捕捉到ics_fota_EMS_1日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 将module文件夹里的以.bin结尾的文件名存成变量
ems_bin_file1=$(cd ./module && ls EMS*.bin)
# 拷贝一次空的config_fota文件,写入EMS版本的文件名
cp ./FotaPackageTool/config_fota.bak config_fota.txt
sed -i "s/EMS = \"\"/EMS = \"$ems_bin_file1\"/g" config_fota.txt
# 生成bin文件后,指定config_fota文件第二次打包
./ics_fota -auto -conf config_fota.txt >> ./FotaPackageTool/ics_fota_EMS_2.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_EMS_2.log; then
echo "捕捉到ics_fota_EMS_2日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 获取OUTPUT文件夹中最新生成的文件夹名
latest_dir=$(ls -l OUTPUT/ |tail -n 1|awk '{print $9}')
# 获取config_fota.txt中的系统版本号
SW_Version=$(cat config_fota.txt |grep 系统版本号|awk '{print $3}'|sed 's/\"//g')
# 将OUTPUT中最新的文件夹内的*.FOTA.tar.gz拷贝到FotaPackageOutput文件夹中并改名
echo "将($latest_dir)中的FOTA包移动到FotaPackageTool目录" >> ./FotaPackageTool/package.log
mv ./OUTPUT/"$latest_dir"/*.tar.gz ./FotaPackageTool/"$SW_Version"_EMS.tar.gz
unset latest_dir
}
# 打包所有
funPackageALL(){
echo "开始打包全部" >> ./FotaPackageTool/package.log
# 将binfiles中的.bin和tar.gz和.zip拷贝到module目录
cp ./FotaPackageTool/binfiles/* ./module
# 拷贝一次空的config_fota文件,写入全部ECU版本的文件名
hmi_tar_file=$(cd ./module && ls hmi*.tar)
mpu_zip_file=$(cd ./module && ls update.zip)
mcu_bin_file1=$(cd ./module && ls TBOX1*.bin)
tbox2_tar_file=$(cd ./module && ls TB2*.tar.gz)
ccu_bin_file1=$(cd ./module && ls CCU1*.bin)
ccu_bin_file2=$(cd ./module && ls CCU2*.bin)
secc_bin_file1=$(cd ./module && ls SECC1*.bin)
secc_bin_file2=$(cd ./module && ls SECC2*.bin)
hcu_bin_file1=$(cd ./module && ls HCU*.bin)
dc_bin_file1=$(cd ./module && ls DCDC1*.bin)
dc_bin_file2=$(cd ./module && ls DCDC2*.bin)
dc_bin_file3=$(cd ./module && ls DCDC3*.bin)
dc_bin_file4=$(cd ./module && ls DCDC4*.bin)
ac_bin_file1=$(cd ./module && ls ACDC1*.bin)
ac_bin_file2=$(cd ./module && ls ACDC2*.bin)
cmu_bin_file1=$(cd ./module && ls CMU1*.bin)
cmu_bin_file2=$(cd ./module && ls CMU2*.bin)
cmu_bin_file3=$(cd ./module && ls CMU3*.bin)
cmu_bin_file4=$(cd ./module && ls CMU4*.bin)
bms_bin_file1=$(cd ./module && ls BMS1*.bin)
bms_bin_file2=$(cd ./module && ls BMS2*.bin)
ems_bin_file1=$(cd ./module && ls EMS*.bin)
cp ./FotaPackageTool/config_fota.bak config_fota.txt
sed -i "s/ad-video = \"\"/ad-video = \"$hmi_tar_file\"/g" config_fota.txt
sed -i "s/TBOX1-MPU = \"\"/TBOX1-MPU = \"$mpu_zip_file\"/g" config_fota.txt
sed -i "s/TBOX1-MCU = \"\"/TBOX1-MCU = \"$mcu_bin_file1\"/g" config_fota.txt
sed -i "s/TBOX2-MPU = \"\"/TBOX2-MPU = \"$tbox2_tar_file\"/g" config_fota.txt
sed -i "s/CCU1 = \"\"/CCU1 = \"$ccu_bin_file1\"/g" config_fota.txt
sed -i "s/CCU2 = \"\"/CCU2 = \"$ccu_bin_file2\"/g" config_fota.txt
sed -i "s/SECC1 = \"\"/SECC1 = \"$secc_bin_file1\"/g" config_fota.txt
sed -i "s/SECC2 = \"\"/SECC2 = \"$secc_bin_file2\"/g" config_fota.txt
sed -i "s/HCU = \"\"/HCU = \"$hcu_bin_file1\"/g" config_fota.txt
sed -i "s/DCDC1 = \"\"/DCDC1 = \"$dc_bin_file1\"/g" config_fota.txt
sed -i "s/DCDC2 = \"\"/DCDC2 = \"$dc_bin_file2\"/g" config_fota.txt
sed -i "s/DCDC3 = \"\"/DCDC3 = \"$dc_bin_file3\"/g" config_fota.txt
sed -i "s/DCDC4 = \"\"/DCDC4 = \"$dc_bin_file4\"/g" config_fota.txt
sed -i "s/ACDC1 = \"\"/ACDC1 = \"$ac_bin_file1\"/g" config_fota.txt
sed -i "s/ACDC2 = \"\"/ACDC2 = \"$ac_bin_file2\"/g" config_fota.txt
sed -i "s/CMU1 = \"\"/CMU1 = \"$cmu_bin_file1\"/g" config_fota.txt
sed -i "s/CMU2 = \"\"/CMU2 = \"$cmu_bin_file2\"/g" config_fota.txt
sed -i "s/CMU3 = \"\"/CMU3 = \"$cmu_bin_file3\"/g" config_fota.txt
sed -i "s/CMU4 = \"\"/CMU4 = \"$cmu_bin_file4\"/g" config_fota.txt
sed -i "s/BMS1 = \"\"/BMS1 = \"$bms_bin_file1\"/g" config_fota.txt
sed -i "s/BMS2 = \"\"/BMS2 = \"$bms_bin_file2\"/g" config_fota.txt
sed -i "s/EMS = \"\"/EMS = \"$ems_bin_file1\"/g" config_fota.txt
# 开始打包全部
./ics_fota -auto -conf config_fota.txt >> ./FotaPackageTool/ics_fota_ALL.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_ALL.log; then
echo "捕捉到ics_fota_ALL日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 获取OUTPUT文件夹中最新生成的文件夹名
latest_dir=$(ls -l OUTPUT/ |tail -n 1|awk '{print $9}')
# 获取config_fota.txt中的系统版本号
SW_Version=$(cat config_fota.txt |grep 系统版本号|awk '{print $3}'|sed 's/\"//g')
# 将OUTPUT中最新的文件夹内的*.FOTA.tar.gz拷贝到FotaPackageOutput文件夹中并改名
echo "将($latest_dir)中的FOTA包移动到FotaPackageTool目录" >> ./FotaPackageTool/package.log
mv ./OUTPUT/"$latest_dir"/*.tar.gz ./FotaPackageTool/"$SW_Version"_ALL.tar.gz
unset latest_dir
}
# 打包所有(不含HMI和TBOX2)
funPackageALLNoHMITB2(){
echo "开始打包全部" >> ./FotaPackageTool/package.log
# 将binfiles中的.bin和tar.gz和.zip拷贝到module目录
cp ./FotaPackageTool/binfiles/* ./module
# 拷贝一次空的config_fota文件,写入全部ECU版本的文件名
mpu_zip_file=$(cd ./module && ls update.zip)
mcu_bin_file1=$(cd ./module && ls TBOX1*.bin)
ccu_bin_file1=$(cd ./module && ls CCU1*.bin)
ccu_bin_file2=$(cd ./module && ls CCU2*.bin)
secc_bin_file1=$(cd ./module && ls SECC1*.bin)
secc_bin_file2=$(cd ./module && ls SECC2*.bin)
hcu_bin_file1=$(cd ./module && ls HCU*.bin)
dc_bin_file1=$(cd ./module && ls DCDC1*.bin)
dc_bin_file2=$(cd ./module && ls DCDC2*.bin)
dc_bin_file3=$(cd ./module && ls DCDC3*.bin)
dc_bin_file4=$(cd ./module && ls DCDC4*.bin)
ac_bin_file1=$(cd ./module && ls ACDC1*.bin)
ac_bin_file2=$(cd ./module && ls ACDC2*.bin)
cmu_bin_file1=$(cd ./module && ls CMU1*.bin)
cmu_bin_file2=$(cd ./module && ls CMU2*.bin)
cmu_bin_file3=$(cd ./module && ls CMU3*.bin)
cmu_bin_file4=$(cd ./module && ls CMU4*.bin)
bms_bin_file1=$(cd ./module && ls BMS1*.bin)
bms_bin_file2=$(cd ./module && ls BMS2*.bin)
ems_bin_file1=$(cd ./module && ls EMS*.bin)
cp ./FotaPackageTool/config_fota.bak config_fota.txt
sed -i "s/TBOX1-MPU = \"\"/TBOX1-MPU = \"$mpu_zip_file\"/g" config_fota.txt
sed -i "s/TBOX1-MCU = \"\"/TBOX1-MCU = \"$mcu_bin_file1\"/g" config_fota.txt
sed -i "s/CCU1 = \"\"/CCU1 = \"$ccu_bin_file1\"/g" config_fota.txt
sed -i "s/CCU2 = \"\"/CCU2 = \"$ccu_bin_file2\"/g" config_fota.txt
sed -i "s/SECC1 = \"\"/SECC1 = \"$secc_bin_file1\"/g" config_fota.txt
sed -i "s/SECC2 = \"\"/SECC2 = \"$secc_bin_file2\"/g" config_fota.txt
sed -i "s/HCU = \"\"/HCU = \"$hcu_bin_file1\"/g" config_fota.txt
sed -i "s/DCDC1 = \"\"/DCDC1 = \"$dc_bin_file1\"/g" config_fota.txt
sed -i "s/DCDC2 = \"\"/DCDC2 = \"$dc_bin_file2\"/g" config_fota.txt
sed -i "s/DCDC3 = \"\"/DCDC3 = \"$dc_bin_file3\"/g" config_fota.txt
sed -i "s/DCDC4 = \"\"/DCDC4 = \"$dc_bin_file4\"/g" config_fota.txt
sed -i "s/ACDC1 = \"\"/ACDC1 = \"$ac_bin_file1\"/g" config_fota.txt
sed -i "s/ACDC2 = \"\"/ACDC2 = \"$ac_bin_file2\"/g" config_fota.txt
sed -i "s/CMU1 = \"\"/CMU1 = \"$cmu_bin_file1\"/g" config_fota.txt
sed -i "s/CMU2 = \"\"/CMU2 = \"$cmu_bin_file2\"/g" config_fota.txt
sed -i "s/CMU3 = \"\"/CMU3 = \"$cmu_bin_file3\"/g" config_fota.txt
sed -i "s/CMU4 = \"\"/CMU4 = \"$cmu_bin_file4\"/g" config_fota.txt
sed -i "s/BMS1 = \"\"/BMS1 = \"$bms_bin_file1\"/g" config_fota.txt
sed -i "s/BMS2 = \"\"/BMS2 = \"$bms_bin_file2\"/g" config_fota.txt
sed -i "s/EMS = \"\"/EMS = \"$ems_bin_file1\"/g" config_fota.txt
# 开始打包全部
./ics_fota -auto -conf config_fota.txt >> ./FotaPackageTool/ics_fota_ALL_NO_HMI_TB2.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_ALL_NO_HMI_TB2.log; then
echo "捕捉到ics_fota_ALL日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 获取OUTPUT文件夹中最新生成的文件夹名
latest_dir=$(ls -l OUTPUT/ |tail -n 1|awk '{print $9}')
# 获取config_fota.txt中的系统版本号
SW_Version=$(cat config_fota.txt |grep 系统版本号|awk '{print $3}'|sed 's/\"//g')
# 将OUTPUT中最新的文件夹内的*.FOTA.tar.gz拷贝到FotaPackageOutput文件夹中并改名
echo "将($latest_dir)中的FOTA包移动到FotaPackageTool目录" >> ./FotaPackageTool/package.log
mv ./OUTPUT/"$latest_dir"/*.tar.gz ./FotaPackageTool/"$SW_Version"_ALL.tar.gz
unset latest_dir
}
# 打包所有(不含TBOX2)
funPackageALLNOTB2(){
echo "开始打包全部" >> ./FotaPackageTool/package.log
# 将binfiles中的.bin和tar.gz和.zip拷贝到module目录
cp ./FotaPackageTool/binfiles/* ./module
# 拷贝一次空的config_fota文件,写入全部ECU版本的文件名
hmi_tar_file=$(cd ./module && ls hmi*.tar)
mpu_zip_file=$(cd ./module && ls update.zip)
mcu_bin_file1=$(cd ./module && ls TBOX1*.bin)
tbox2_tar_file=$(cd ./module && ls TB2*.tar.gz)
ccu_bin_file1=$(cd ./module && ls CCU1*.bin)
ccu_bin_file2=$(cd ./module && ls CCU2*.bin)
secc_bin_file1=$(cd ./module && ls SECC1*.bin)
secc_bin_file2=$(cd ./module && ls SECC2*.bin)
hcu_bin_file1=$(cd ./module && ls HCU*.bin)
dc_bin_file1=$(cd ./module && ls DCDC1*.bin)
dc_bin_file2=$(cd ./module && ls DCDC2*.bin)
dc_bin_file3=$(cd ./module && ls DCDC3*.bin)
dc_bin_file4=$(cd ./module && ls DCDC4*.bin)
ac_bin_file1=$(cd ./module && ls ACDC1*.bin)
ac_bin_file2=$(cd ./module && ls ACDC2*.bin)
cmu_bin_file1=$(cd ./module && ls CMU1*.bin)
cmu_bin_file2=$(cd ./module && ls CMU2*.bin)
cmu_bin_file3=$(cd ./module && ls CMU3*.bin)
cmu_bin_file4=$(cd ./module && ls CMU4*.bin)
bms_bin_file1=$(cd ./module && ls BMS1*.bin)
bms_bin_file2=$(cd ./module && ls BMS2*.bin)
ems_bin_file1=$(cd ./module && ls EMS*.bin)
cp ./FotaPackageTool/config_fota.bak config_fota.txt
sed -i "s/ad-video = \"\"/ad-video = \"$hmi_tar_file\"/g" config_fota.txt
sed -i "s/TBOX1-MPU = \"\"/TBOX1-MPU = \"$mpu_zip_file\"/g" config_fota.txt
sed -i "s/TBOX1-MCU = \"\"/TBOX1-MCU = \"$mcu_bin_file1\"/g" config_fota.txt
sed -i "s/CCU1 = \"\"/CCU1 = \"$ccu_bin_file1\"/g" config_fota.txt
sed -i "s/CCU2 = \"\"/CCU2 = \"$ccu_bin_file2\"/g" config_fota.txt
sed -i "s/SECC1 = \"\"/SECC1 = \"$secc_bin_file1\"/g" config_fota.txt
sed -i "s/SECC2 = \"\"/SECC2 = \"$secc_bin_file2\"/g" config_fota.txt
sed -i "s/HCU = \"\"/HCU = \"$hcu_bin_file1\"/g" config_fota.txt
sed -i "s/DCDC1 = \"\"/DCDC1 = \"$dc_bin_file1\"/g" config_fota.txt
sed -i "s/DCDC2 = \"\"/DCDC2 = \"$dc_bin_file2\"/g" config_fota.txt
sed -i "s/DCDC3 = \"\"/DCDC3 = \"$dc_bin_file3\"/g" config_fota.txt
sed -i "s/DCDC4 = \"\"/DCDC4 = \"$dc_bin_file4\"/g" config_fota.txt
sed -i "s/ACDC1 = \"\"/ACDC1 = \"$ac_bin_file1\"/g" config_fota.txt
sed -i "s/ACDC2 = \"\"/ACDC2 = \"$ac_bin_file2\"/g" config_fota.txt
sed -i "s/CMU1 = \"\"/CMU1 = \"$cmu_bin_file1\"/g" config_fota.txt
sed -i "s/CMU2 = \"\"/CMU2 = \"$cmu_bin_file2\"/g" config_fota.txt
sed -i "s/CMU3 = \"\"/CMU3 = \"$cmu_bin_file3\"/g" config_fota.txt
sed -i "s/CMU4 = \"\"/CMU4 = \"$cmu_bin_file4\"/g" config_fota.txt
sed -i "s/BMS1 = \"\"/BMS1 = \"$bms_bin_file1\"/g" config_fota.txt
sed -i "s/BMS2 = \"\"/BMS2 = \"$bms_bin_file2\"/g" config_fota.txt
sed -i "s/EMS = \"\"/EMS = \"$ems_bin_file1\"/g" config_fota.txt
# 开始打包全部
./ics_fota -auto -conf config_fota.txt >> ./FotaPackageTool/ics_fota_ALL_NO_TB2.log &
pid=$!
waitFlag=0
while [ $waitFlag -eq 0 ]; do
if grep -q "FOTA打包已创建成功" ./FotaPackageTool/ics_fota_ALL_NO_TB2.log; then
echo "捕捉到ics_fota_ALL日志中出现'FOTA打包已创建成功'" >> ./FotaPackageTool/package.log
waitFlag=1
fi
sleep 1
done
# 获取OUTPUT文件夹中最新生成的文件夹名
latest_dir=$(ls -l OUTPUT/ |tail -n 1|awk '{print $9}')
# 获取config_fota.txt中的系统版本号
SW_Version=$(cat config_fota.txt |grep 系统版本号|awk '{print $3}'|sed 's/\"//g')
# 将OUTPUT中最新的文件夹内的*.FOTA.tar.gz拷贝到FotaPackageOutput文件夹中并改名
echo "将($latest_dir)中的FOTA包移动到FotaPackageTool目录" >> ./FotaPackageTool/package.log
mv ./OUTPUT/"$latest_dir"/*.tar.gz ./FotaPackageTool/"$SW_Version"_ALL.tar.gz
unset latest_dir
}
# 入口
funCreateDir
echo "请将HMI的.tar;TBOX1的.zip;TBOX2的.tar.gz;ACDC,DCDC,HCU,CMU,MCU的.hex;BMU,CCU,EMS,SECC的.s19上传至FotaPackageTool/module_tmp目录"
echo "开始打包后module目录将会被清空!"
echo "请输入 0:退出 1:开始打包全部 2.开始打包[不含HMI和TBOX2] 3.开始打包[不含TBOX2]"
read num
if [ $num -eq 1 ]
then
echo "开始清理module目录和FotaPackageTool/binfiles中转目录"
rm ./FotaPackageTool/*.log
funClearModule
funClearBinfiles
funClearOldFotaPackage
funUpdatePackageTime
echo "开始打包HMI"
funPackageHMI
funMoveTar
echo "开始打包TBOX1"
funPackageTBOX1
funMoveBin
funMoveZip
echo "开始打包TBOX2"
funClearModule
funPackageTBOX2
funMoveTar
echo "开始打包CCU"
funClearModule
funPackageCCU
funMoveBin
echo "开始打包SECC"
funClearModule
funPackageSECC
funMoveBin
echo "开始打包HCU"
funClearModule
funPackageHCU
funMoveBin
echo "开始打包ACDC和DCDC"
funClearModule
funPackagePM
funMoveBin
echo "开始打包CMU"
funClearModule
funPackageCMU
funMoveBin
echo "开始打包BMS"
funClearModule
funPackageBMS
funMoveBin
echo "开始打包EMS"
funClearModule
funPackageEMS
funMoveBin
echo "开始打包全部"
funClearModule
funPackageALL
mv /home/admin/ics_fota/FotaPackageTool/*.tar.gz /home/ICS/FTPHOME/
echo "打包完成,日志文件在FotaPackageTool目录内,FOTA包已移动至FTP目录/home/ICS/FTPHOME/"
elif [ $num -eq 0 ]
then
exit
elif [ $num -eq 2 ]
then
echo "开始清理module目录和FotaPackageTool/binfiles中转目录"
rm ./FotaPackageTool/*.log
funClearModule
funClearBinfiles
funClearOldFotaPackage
funUpdatePackageTime
echo "开始打包TBOX1"
funPackageTBOX1
funMoveBin
funMoveZip
echo "开始打包CCU"
funClearModule
funPackageCCU
funMoveBin
echo "开始打包SECC"
funClearModule
funPackageSECC
funMoveBin
echo "开始打包HCU"
funClearModule
funPackageHCU
funMoveBin
echo "开始打包ACDC和DCDC"
funClearModule
funPackagePM
funMoveBin
echo "开始打包CMU"
funClearModule
funPackageCMU
funMoveBin
echo "开始打包BMS"
funClearModule
funPackageBMS
funMoveBin
echo "开始打包EMS"
funClearModule
funPackageEMS
funMoveBin
echo "开始打包全部"
funClearModule
funPackageALLNoHMITB2
mv /home/admin/ics_fota/FotaPackageTool/*.tar.gz /home/ICS/FTPHOME/
echo "打包完成,日志文件在FotaPackageTool目录内,FOTA包已移动至FTP目录/home/ICS/FTPHOME/"
elif [ $num -eq 3 ]
then
echo "开始清理module目录和FotaPackageTool/binfiles中转目录"
rm ./FotaPackageTool/*.log
funClearModule
funClearBinfiles
funClearOldFotaPackage
funUpdatePackageTime
echo "开始打包HMI"
funPackageHMI
funMoveTar
echo "开始打包TBOX1"
funPackageTBOX1
funMoveBin
funMoveZip
echo "开始打包CCU"
funClearModule
funPackageCCU
funMoveBin
echo "开始打包SECC"
funClearModule
funPackageSECC
funMoveBin
echo "开始打包HCU"
funClearModule
funPackageHCU
funMoveBin
echo "开始打包ACDC和DCDC"
funClearModule
funPackagePM
funMoveBin
echo "开始打包CMU"
funClearModule
funPackageCMU
funMoveBin
echo "开始打包BMS"
funClearModule
funPackageBMS
funMoveBin
echo "开始打包EMS"
funClearModule
funPackageEMS
funMoveBin
echo "开始打包全部"
funClearModule
funPackageALLNOTB2
mv /home/admin/ics_fota/FotaPackageTool/*.tar.gz /home/ICS/FTPHOME/
echo "打包完成,日志文件在FotaPackageTool目录内,FOTA包已移动至FTP目录/home/ICS/FTPHOME/"
else
echo "输入有误"
fi
v1.5.2