mirror of
https://github.com/Fishwaldo/bl_mcu_sdk.git
synced 2025-07-10 14:58:27 +00:00
[update][boot2] update boot2 demo
This commit is contained in:
parent
da1fa7a289
commit
4e99ee80f2
31 changed files with 5050 additions and 54 deletions
95
examples/boot2_isp/boot2_release.py
Normal file
95
examples/boot2_isp/boot2_release.py
Normal file
|
@ -0,0 +1,95 @@
|
|||
import sys,os,shutil
|
||||
import hashlib, sys, binascii, struct
|
||||
import time
|
||||
import subprocess
|
||||
import re
|
||||
import zipfile
|
||||
import argparse
|
||||
|
||||
git_cmd=r'git describe --tags '#--dirty
|
||||
tag_standard="boot2_v1.0.0"
|
||||
|
||||
release_list = [
|
||||
[r'make clean;make CHIP=bl602 BOARD=bl602dk ',"bl602","release"],
|
||||
[r'make clean;make CHIP=bl702 BOARD=bl702dk ',"bl702","release"],
|
||||
[r'make clean;make CHIP=bl808 CPU_ID=m0 BOARD=bl808dk ',"bl808","release"],
|
||||
[r'make clean;make CHIP=bl606p CPU_ID=m0 BOARD=bl606pdk ',"bl606p","release"],
|
||||
[r'make clean;make CHIP=bl616 CPU_ID=m0 BOARD=bl616dk ',"bl616","release"],
|
||||
]
|
||||
|
||||
|
||||
|
||||
def zipDir(dirpath,outFullName):
|
||||
"""
|
||||
压缩指定文件夹
|
||||
:param dirpath: 目标文件夹路径
|
||||
:param outFullName: 压缩文件保存路径+xxxx.zip
|
||||
:return: 无
|
||||
"""
|
||||
zip = zipfile.ZipFile(outFullName,"w",zipfile.ZIP_DEFLATED)
|
||||
for path,dirnames,filenames in os.walk(dirpath):
|
||||
# 去掉目标跟路径,只对目标文件夹下边的文件及文件夹进行压缩
|
||||
fpath = path.replace(dirpath,'')
|
||||
|
||||
for filename in filenames:
|
||||
zip.write(os.path.join(path,filename),os.path.join(fpath,filename))
|
||||
zip.close()
|
||||
|
||||
def recreate_release_dir(dir):
|
||||
if os.path.exists(dir):
|
||||
shutil.rmtree(dir)#删除再建立
|
||||
os.makedirs(dir)
|
||||
else:
|
||||
os.makedirs(dir)
|
||||
|
||||
def boot2_release(cmd, ver):
|
||||
output,err = subprocess.Popen(cmd[0] + r' CONFIG_BOOT2_VER=' + ver,stdout=subprocess.PIPE,shell=True).communicate()
|
||||
if err==None:
|
||||
print(output)
|
||||
else:
|
||||
print("Build error")
|
||||
sys.exit()
|
||||
|
||||
for root, dirs, files in os.walk(".", topdown=False):
|
||||
for file in files:
|
||||
if file.endswith(".bin"):
|
||||
if cmd[1] in file:
|
||||
binfile = os.path.join(root, file)
|
||||
print(binfile)
|
||||
print('boot2_isp_' + cmd[1] + '_v' + ver + "/" + 'boot2_isp_' + cmd[2] + ".bin")
|
||||
shutil.copy(binfile, 'boot2_isp_' + cmd[1] + '_v' + ver + "/" + 'boot2_isp' + ".bin")
|
||||
|
||||
|
||||
|
||||
def get_release_ver():
|
||||
|
||||
print("get release ver")
|
||||
output,err = subprocess.Popen(git_cmd,stdout=subprocess.PIPE,shell=True).communicate()
|
||||
if err==None:
|
||||
release_name = bytes.decode(output)
|
||||
release_name = release_name.rstrip()
|
||||
|
||||
|
||||
if(len(release_name) != len(tag_standard)):
|
||||
print("ver len err, workspace may dirty? or has no tag?")
|
||||
print("release failed!")
|
||||
sys.exit()
|
||||
release_name = release_name[7:12]
|
||||
return release_name
|
||||
|
||||
else:
|
||||
print("get ver error,please push correct tag")
|
||||
sys.exit()
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__' :
|
||||
|
||||
ver = get_release_ver()
|
||||
print(ver)
|
||||
|
||||
for x in release_list:
|
||||
recreate_release_dir('boot2_isp_' + x[1] + '_v' + ver )
|
||||
for x in release_list:
|
||||
boot2_release(x,ver)
|
||||
print("release suss")
|
Loading…
Add table
Add a link
Reference in a new issue