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 0000000..069435c Binary files /dev/null and b/bin/kl1_ram_build.bin differ diff --git a/log.py b/bin/log.py similarity index 100% rename from log.py rename to bin/log.py diff --git a/kunlun.py b/kunlun.py index 36e7707..383ccae 100644 --- a/kunlun.py +++ b/kunlun.py @@ -10,11 +10,11 @@ import time import xmodem import os import binascii -from log import myprint -from log import log_init -from bin_to_hex import bin_to_hex_file -from bin_to_hex import bin_file_decrypt -from bin_to_hex import clear_tmp +from bin.log import myprint +from bin.log import log_init +from bin.bin_to_hex import bin_to_hex_file +from bin.bin_to_hex import bin_file_decrypt +from bin.bin_to_hex import clear_tmp def init_send(s_port:serial.Serial, send_str:str): @@ -223,6 +223,14 @@ def burn_fun(): print_device_str(ser_read_data) +# 获取执行文件所在的目录 +def bin_path(): + if(sys.argv[0].endswith('.exe')): + path=os.path.dirname(os.path.realpath(sys.executable)) + else: + path=os.path.abspath(__file__) + path=os.path.split(path)[0] + return os.path.join(path,'bin') def global_def(): global init_str @@ -255,24 +263,43 @@ def global_def(): upload=True else: print("param err.") - exit(-1) + sys.exit(-1) if(upload): ram_file=f'bootram_{sys.argv[2]}.bin' else: ram_file=f'{sys.argv[2]}_ram_build.bin' - ram_file=os.path.join('bin',ram_file) + ram_file=os.path.join(bin_path(),ram_file) iot_flash_file=sys.argv[-1] - +def print_help(): + help=f''' + Automatically determine whether to upload or download:" + {sys.argv[0]} [com] [kl1/kl3] [upload.bin/download.bin] + Manually specify whether to upload or download: + {sys.argv[0]} [com] [kl1/kl3] [upload/download] [upload.bin/download.bin] + Convert bin file: + {sys.argv[0]} [file.bin] + ''' + 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