From e26889c2742f5cf2874d37427868d99e08fc9c7a Mon Sep 17 00:00:00 2001 From: ranchuan Date: Wed, 16 Oct 2024 11:15:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0kl1=E7=9A=84=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=20=E6=89=93=E5=8C=85=E4=B8=BAexe=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 5 +++- bin_to_hex.py => bin/bin_to_hex.py | 6 ++-- bin/kl1_ram_build.bin | Bin 0 -> 41823 bytes log.py => bin/log.py | 0 kunlun.py | 45 +++++++++++++++++++++++------ xmodem_config.txt | 14 --------- 6 files changed, 42 insertions(+), 28 deletions(-) rename bin_to_hex.py => bin/bin_to_hex.py (98%) create mode 100644 bin/kl1_ram_build.bin rename log.py => bin/log.py (100%) delete mode 100644 xmodem_config.txt diff --git a/.gitignore b/.gitignore index be979e4..554f231 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ work/ __pycache__/ -history/ \ No newline at end of file +history/ +build/ +dist/ +*.spec \ No newline at end of file diff --git a/bin_to_hex.py b/bin/bin_to_hex.py similarity index 98% rename from bin_to_hex.py rename to bin/bin_to_hex.py index c3db87b..4a2c62a 100644 --- a/bin_to_hex.py +++ b/bin/bin_to_hex.py @@ -3,7 +3,7 @@ import os import sys import struct import json -from log import myprint +from bin.log import myprint # kunlun1,kunlun2,kunlun3的img类型 @@ -285,10 +285,8 @@ def clear_tmp(): os.remove(item) -# bin_to_hex.py input_file output_file +# bin_to_hex.py input_file if __name__ == "__main__": - # bin_to_hex_file(sys.argv[1],sys.argv[2],sys.argv[3]) - # load_flash_info("work/upload-test.info") if(len(sys.argv)>=3): enc=1 else: diff --git a/bin/kl1_ram_build.bin b/bin/kl1_ram_build.bin new file mode 100644 index 0000000000000000000000000000000000000000..069435cf0153b682c4675e46bf62db0154971fa4 GIT binary patch literal 41823 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 u3~&i>2hf<_LAJuRumJ + ''' + print(help) # 如果不指定上传还是下载 脚本会根据输入文件是否存在来决定上传还是下载 # kunlun.py [com] [kl1/kl3] [upload.bin/download.bin] # kunlun.py [com] [kl1/kl3] [upload/download] [upload.bin/download.bin] +# kunlun.py [file.bin] if __name__ == '__main__': if(len(sys.argv)<4): + if(len(sys.argv)>=2): + if(sys.argv[1].endswith('.bin')): + if(len(sys.argv)>=3): + enc=1 + else: + enc=0 + bin_to_hex_file(sys.argv[1],"work/"+sys.argv[1]+".txt",enc) + sys.exit(0) print("param too less") - exit(-1) + print_help() + sys.exit(-1) upload=None time_stamp_start, time_stamp_end = 0, 0 init_str, serial_com, b_rate, nb_rate, ram_file, iot_flash_file, ser = None, None, None, None, None, None, None diff --git a/xmodem_config.txt b/xmodem_config.txt deleted file mode 100644 index 5a99808..0000000 --- a/xmodem_config.txt +++ /dev/null @@ -1,14 +0,0 @@ -################################################################################################################### -# # -# Xmodem Config # -# # -################################################################################################################### - -init_str = WQKL - -serial_port_num = 11 -baud_rate = 115200 -new_baud_rate = 468000 - -ram_file = bootram_kl3_build.bin -iot_flash_file = HTZD_STA_xts.bin \ No newline at end of file