make_package.sh 3.1 KB
#1、输入设备名字,程序模式,硬件号,版本号
payload_name="JZ_H10"
payload_mode="APP_UART"    # APP_PSDK 或者 APP_UART
payload_platform="PLATFORM_H3"    #影响mp2实时功能
payload_version="V00.00.00.08"
#2、根据负载选择滤波方式,目前仅h10使用带阻滤波
#high_pass_filtering
#directed_stopband_filtering

#if [ "${payload_name}" == "JZ_H10" ] || [ "${payload_name}" == "JZ_H10T" ]; then
if [ "${payload_name}" == "JZ_H10" ] ; then
    filtering_way="directed_stopband_filtering"
    filter_type="DIRECTED_STOPBAND_FILTERING"
else
    filtering_way="high_pass_filtering"
    filter_type="HIGH_PASS_FILTERING"
fi

#将滤波方式写进cmake文件
cmake_filtering="set(filtering_type ${filtering_way}) "
sed -i "24s/.*/$cmake_filtering/" ../CMakeLists.txt

#将滤波方式写进version_choose.h 
filter_type_text="#define FILTERING_TYPE ${filter_type}"
sed -i "25s/.*/$filter_type_text/" ../application/version_choose.h

#3、将负载版本 负载模式 负载平台 负载版本号 写入version_choose.h
#负载版本
name_text="#define DEVICE_VERSION ${payload_name}"
echo $name_text
sed -i "10s/.*/$name_text/" ../application/version_choose.h

#负载模式
mode_text="#define APP_VERSION ${payload_mode}"
echo $mode_text
sed -i "13s/.*/$mode_text/" ../application/version_choose.h

#负载平台
platform_text="#define PLATFORM_VERSION ${payload_platform}"
echo $platform_text
sed -i "16s/.*/$platform_text/" ../application/version_choose.h

#负载版本号
# 提取版本号的四个部分
payload_version_part1=${payload_version:1:2}   # 截取第2和第3个字符
payload_version_part2=${payload_version:4:2}   # 截取第5和第6个字符
payload_version_part3=${payload_version:7:2}   # 截取第8和第9个字符
payload_version_part4=${payload_version:10:2}  # 截取第11和第12个字符

version_text="#define MAJOR_VERSION 0x${payload_version_part1}"
echo $version_text
sed -i "19s/.*/$version_text/" ../application/version_choose.h
version_text="#define MINOR_VERSION 0x${payload_version_part2}"
echo $version_text
sed -i "20s/.*/$version_text/" ../application/version_choose.h
version_text="#define MODIFY_VERSION 0x${payload_version_part3}"
echo $version_text
sed -i "21s/.*/$version_text/" ../application/version_choose.h
version_text="#define DEBUG_VERSION 0x${payload_version_part4}"
echo $version_text
sed -i "22s/.*/$version_text/" ../application/version_choose.h

#打包诱骗升级包
# 拼接字符串得到更新包名字
BinName=$payload_name"_"$payload_version".bin"
TarPackage_second=UpgradePackage.tar.gz #二次解压包的名字
MD5saveFile=UpdateMD5num #md5文件内部的md5值

#二次压缩包的打包
cd ShellPack
./shellpack.sh
cd ../

#一次压缩包的打包 
mkdir Temp
mv $TarPackage_second ./Temp/ # 二次压缩包

#md5 校准
# 获取文件的md5值
cd Temp
md5_File="$(md5sum "$TarPackage_second" | cut -d ' ' -f 1)"
echo $md5_File

#把md5校准码写进去
echo $md5_File | tee $MD5saveFile > /dev/null #覆盖写

tar -zcf $BinName *
mv $BinName ../
cd ../
rm -rf Temp

echo "_____输出一次压缩包目录_____"
#参数说明 t 查看内容 f 压缩包名字指定
tar -tf $BinName