制作ota包时,资源文件进行压缩。ota_all 去除nv.bin 添加 ota_all_with_nv 选项可以加nv.bin,解决ota_all升级会造成btaddr丢失问题
authorSnickerSun <snickersun@163.com>
Sun, 29 Sep 2024 10:25:40 +0000 (18:25 +0800)
committerSnickerSun <snickersun@163.com>
Sun, 29 Sep 2024 10:26:26 +0000 (18:26 +0800)
code/sdk/build/config/target_config/brandy/build_brandy_update.py
code/sdk/build/config/target_config/brandy/fota/fota.cfg
code/sdk/build/config/target_config/brandy/fota/fota_app_diff.cfg
mkota.sh

index d3bc2f4..ed29f2d 100755 (executable)
@@ -120,12 +120,20 @@ def get_new_image(info):
         image_list.append("=".join([info.bt_bin,           "bt"]))
         image_list.append("=".join([info.dsp_main_bin,     "dsp_main"]))
         image_list.append("=".join([info.dsp_overlay_bin,  "dsp_overlay"]))
+    elif os.path.exists(os.path.join(info.root_path,"output","ota_all_with_nv")) :
+        print( os.path.join(info.root_path,"output","ota_all_with_nv")+" exist ")
+        image_list.append("=".join([info.ssb_bin,          "ssb"]))
+        image_list.append("=".join([info.recovery_bin,     "recovery"]))
+        image_list.append("=".join([info.app_bin,          "application"]))
+        image_list.append("=".join([info.bt_bin,           "bt"]))
+        image_list.append("=".join([info.dsp_main_bin,     "dsp_main"]))
+        image_list.append("=".join([info.dsp_overlay_bin,  "dsp_overlay"]))
         image_list.append("=".join([info.nv_bin,           "nv"]))
     elif os.path.exists(os.path.join(info.root_path,"output","res_only")) :
         print( os.path.join(info.root_path,"output","res_only")+" exist ")
         print("update resource only")
     else:
-        print( "ota_all or res_only not exist in folder "+os.path.join(info.root_path,"output")+",application only!")
+        print( "ota_all or ota_all_with_nv or res_only not exist in folder "+os.path.join(info.root_path,"output")+",application only!")
         image_list.append("=".join([info.app_bin,          "application"]))
 
     if  os.path.exists(info.res_dir) :
@@ -166,10 +174,16 @@ def get_old_image(info):
         image_list.append("=".join([info.bt_old_bin,           "bt"]))
         image_list.append("=".join([info.dsp_main_old_bin,     "dsp_main"]))
         image_list.append("=".join([info.dsp_overlay_old_bin,  "dsp_overlay"]))
+    elif os.path.exists(os.path.join(info.root_path,"output","ota_all_with_nv")) :
+        print( os.path.join(info.root_path,"output","ota_all_with_nv")+" exist ")
+        image_list.append("=".join([info.app_old_bin,          "application"]))
+        image_list.append("=".join([info.bt_old_bin,           "bt"]))
+        image_list.append("=".join([info.dsp_main_old_bin,     "dsp_main"]))
+        image_list.append("=".join([info.dsp_overlay_old_bin,  "dsp_overlay"]))
     elif os.path.exists(os.path.join(info.root_path,"output","res_only")) :
         print("update resource only")
     else:
-        print( " ota_all or res_only not exist in folder "+os.path.join(info.root_path,"output")+",application only!")
+        print( " ota_all or ota_all_with_nv or res_only not exist in folder "+os.path.join(info.root_path,"output")+",application only!")
         image_list.append("=".join([info.app_old_bin,          "application"]))
     # image_list.append("=".join([info.app_old_sign,         "application_sign"]))
     # image_list.append("=".join([info.bt_old_sign,          "bt_sign"]))
index 4392076..01ad569 100755 (executable)
@@ -469,7 +469,7 @@ ImageId=0xCB9E0832
 # DecompressFlag :升级镜像模式标记
     # 0x3C7896E1 - compressed image
     # other :原始镜像不处理
-DecompressFlag=0
+DecompressFlag=0x3C7896E1
 
 # ReRncFlag:升级镜像加密标记
     # 0x3C7896E1:加密
index 7f87fa3..987436a 100644 (file)
@@ -469,7 +469,7 @@ ImageId=0xCB9E0832
 # DecompressFlag :升级镜像模式标记
     # 0x3C7896E1 - compressed image
     # other :原始镜像不处理
-DecompressFlag=0
+DecompressFlag=0x3C7896E1
 
 # ReRncFlag:升级镜像加密标记
     # 0x3C7896E1:加密
index 60c6b3e..729813b 100755 (executable)
--- a/mkota.sh
+++ b/mkota.sh
@@ -9,6 +9,7 @@ RES_DIR=$3
 ROOTDIR=`basename $PWD`
 ADDITIONAL_RES_DIR=$PWD/code/sdk/output/additional_fs
 OTA_ALL_FLAG_PATH=$PWD/code/sdk/output/ota_all
+OTA_ALL_WITH_NV_FLAG_PATH=$PWD/code/sdk/output/ota_all_with_nv
 RES_ONLY_FLAG_PATH=$PWD/code/sdk/output/res_only
 OTA_DIFF_FLAG_PATH=$PWD/code/sdk/output/ota_diff
 if [ ! -d "$PWD/code/sdk/output" ] ; then
@@ -27,10 +28,13 @@ echo ""
 exit 0
 fi
 
-rm $OTA_ALL_FLAG_PATH $RES_ONLY_FLAG_PATH $OTA_DIFF_FLAG_PATH -f
+rm $OTA_ALL_FLAG_PATH $RES_ONLY_FLAG_PATH $OTA_DIFF_FLAG_PATH $OTA_ALL_WITH_NV_FLAG_PATH -f
 if [ "$3" == "ota_all" ]; then
 touch $OTA_ALL_FLAG_PATH
 OTA_PKG_HEAD=ota_all_
+elif [ "$3" == "ota_all_with_nv" ]; then
+touch $OTA_ALL_WITH_NV_FLAG_PATH
+OTA_PKG_HEAD=ota_all_nv_
 elif [ "$3" == "ota_diff" ]; then
 touch $OTA_DIFF_FLAG_PATH
 OTA_PKG_HEAD=ota_diff_