zos.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #!/usr/bin/python3
  2. # -*- coding: UTF-8 -*-
  3. import os
  4. import sys
  5. import platform
  6. import multiprocessing
  7. import serial
  8. import time
  9. from tools.Download import build
  10. def usage():
  11. print('''
  12. ZeusOS版本SDK的编译命令如下:
  13. python zos.py [action]
  14. <-menu> 功能描述: 开启图形化代码裁剪功能
  15. <-mdl> 功能描述: 往模组下载程序
  16. 参数: <PortNo.>: 串口号(例如com4)
  17. 示例1, 开启图形化代码裁剪功能
  18. python zos.py -menu
  19. 示例2, 下载固件到模组
  20. python zos.py -mdl com3
  21. ''')
  22. def main():
  23. argc = 1
  24. test_list = ['-menu','-mdl','-h']
  25. os_ver = platform.system()
  26. while len(sys.argv) > argc:
  27. if sys.argv[argc] == "-menu" :
  28. menu_cmd = "python ./../../tools/config/menuconfig.py"
  29. if os_ver == "Windows":
  30. menu_cmd = "start cmd /c " + menu_cmd
  31. else :
  32. menu_cmd = "gnome-terminal -x " + menu_cmd
  33. os.system(menu_cmd)
  34. print("Zeusos menuconfig 配置已开启")
  35. if os_ver == "Windows":
  36. print("如果在windows下看不到图形化配置界面,请使用调用以下命令安装python包: \r\npip install windows-curses ")
  37. elif sys.argv[argc] == '-mdl':
  38. cmd_list = []
  39. if len(sys.argv) > argc+1:
  40. if sys.argv[argc+1] in test_list:
  41. print("执行下载命令,需要输入串口信息。")
  42. print("例如:python zos.py -dl com3")
  43. return
  44. else :
  45. cmd_list.append(sys.argv[argc+1])
  46. if len(sys.argv) > argc+2:
  47. if sys.argv[argc+2] not in test_list:
  48. cmd_list.append(sys.argv[argc+2])
  49. build.do_download(cmd_list)
  50. argc +=1
  51. else :
  52. print("执行下载命令,需要输入串口信息。")
  53. print("例如:python zos.py -dl com3")
  54. return
  55. elif sys.argv[argc] == '-h':
  56. usage()
  57. else :
  58. usage()
  59. argc += 1
  60. print("***********************************************************************")
  61. print("操作已完成,再见")
  62. if len(sys.argv) == 1 :
  63. usage()
  64. else :
  65. main()