make_package.sh
3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#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