mirror of
https://gitee.com/Vancouver2017/luban-lite-t3e-pro.git
synced 2025-12-17 20:08:54 +00:00
v1.0.3
This commit is contained in:
@@ -198,13 +198,8 @@ def show_info_cmd(aic_root, prj_chip, prj_board, prj_kernel, prj_app, prj_defcon
|
||||
arch = 'riscv64'
|
||||
if get_config(config_file, 'CONFIG_ARCH_CSKY'):
|
||||
arch = 'csky'
|
||||
# app os
|
||||
if prj_kernel == 'baremetal':
|
||||
app_os = 'baremetal'
|
||||
else:
|
||||
app_os = 'os'
|
||||
# out dir
|
||||
prj_name = prj_defconfig.replace('_defconfig','')
|
||||
prj_name = prj_defconfig.replace('_defconfig', '')
|
||||
prj_out_dir = 'output/' + prj_name
|
||||
# toolchain
|
||||
toolchain = 'toolchain/bin'
|
||||
@@ -215,7 +210,7 @@ def show_info_cmd(aic_root, prj_chip, prj_board, prj_kernel, prj_app, prj_defcon
|
||||
toolchain = os.path.join(toolchain, rtconfig.PREFIX)
|
||||
|
||||
# summary
|
||||
print(' Target app: application/{}/{}'.format(app_os, prj_app))
|
||||
print(' Target app: application/{}/{}'.format(prj_kernel, prj_app))
|
||||
print(' Target chip: {}'.format(prj_chip))
|
||||
print(' Target arch: {}'.format(arch))
|
||||
print(' Target board: target/{}/{}'.format(prj_chip, prj_board))
|
||||
@@ -415,18 +410,14 @@ def win_menuconfig_cmd(aic_root, prj_chip, prj_board, prj_kernel, prj_app, prj_d
|
||||
dest = 'win_menuconfig',
|
||||
action = 'store_true',
|
||||
default = False,
|
||||
help = 'make menuconfig for luban-lite')
|
||||
help='make menuconfig for luban-lite')
|
||||
win_menuconfig = GetOption('win_menuconfig')
|
||||
if win_menuconfig:
|
||||
if prj_kernel == 'baremetal':
|
||||
app_os = 'baremetal'
|
||||
else:
|
||||
app_os = 'os'
|
||||
with open(".Kconfig.prj", "w") as f:
|
||||
f.write('source "./bsp/artinchip/sys/{}/Kconfig.chip"\n'.format(prj_chip))
|
||||
f.write('source "target/{}/{}/Kconfig.board"\n'.format(prj_chip, prj_board))
|
||||
f.write('source "kernel/{}/Kconfig"\n'.format(prj_kernel))
|
||||
f.write('source "application/{}/{}/Kconfig"\n'.format(app_os, prj_app))
|
||||
f.write('source "application/{}/{}/Kconfig"\n'.format(prj_kernel, prj_app))
|
||||
if prj_kernel == 'rt-thread':
|
||||
f.write('source "$PKGS_DIR/Kconfig"\n')
|
||||
os.system('menuconfig')
|
||||
@@ -600,7 +591,7 @@ def mkimage_get_mtdpart_size(imgname):
|
||||
lines = f.readlines()
|
||||
for ln in lines:
|
||||
name = ln.split(',')[1].replace('"', '').replace('*', '')
|
||||
if imgname == name:
|
||||
if imgname == re.sub(".sparse", "", name):
|
||||
size = int(ln.split(',')[2])
|
||||
return size
|
||||
print('Image {} is not used in any partition'.format(imgname))
|
||||
@@ -686,7 +677,8 @@ def mkimage_gen_mkfs_action(img_id):
|
||||
else:
|
||||
auto_siz = 'n'
|
||||
|
||||
cluster = int(get_config(prj_root_dir + '.config', 'CONFIG_AIC_USING_FS_IMAGE_TYPE_FATFS_CLUSTER_SIZE'))
|
||||
cluster_size = 'CONFIG_AIC_USING_FS_IMAGE_TYPE_FATFS_CLUSTER_SIZE'
|
||||
cluster = int(get_config(prj_root_dir + '.config', cluster_size))
|
||||
if auto_siz == 'y':
|
||||
sector_siz = 512
|
||||
cmdstr = 'python3 ' + aic_script_dir + 'makefatfs.py '
|
||||
@@ -771,6 +763,18 @@ def mkimage_gen_mkfs_action(img_id):
|
||||
os.environ["img{}_srcdir".format(img_id)] = srcdir
|
||||
return mkfscmd
|
||||
|
||||
|
||||
def get_post_build_bat(aic_root_n, post_objcopy, post_build_cmd):
|
||||
des_file = os.path.join(prj_out_dir, './post_build.bat')
|
||||
with open(des_file, "w") as f:
|
||||
f.write('@echo off\n')
|
||||
f.write('setlocal EnableDelayedExpansion\n')
|
||||
f.write(post_objcopy)
|
||||
f.write(post_build_cmd)
|
||||
f.write('echo success\n')
|
||||
f.write('pause\n')
|
||||
|
||||
|
||||
def mkimage_prebuild(aic_root, prj_chip, prj_board, prj_kernel, prj_app, prj_defconfig):
|
||||
|
||||
global prj_root_dir
|
||||
@@ -789,12 +793,10 @@ def mkimage_prebuild(aic_root, prj_chip, prj_board, prj_kernel, prj_app, prj_def
|
||||
sys.path.append(chip_path)
|
||||
ota_enable = 'CONFIG_LPKG_USING_OTA_DOWNLOADER'
|
||||
env_enable = 'CONFIG_AIC_ENV_INTERFACE'
|
||||
burner_enable = 'CONFIG_GENERATE_BURNER_IMAGE'
|
||||
import rtconfig
|
||||
|
||||
POST_ACTION = ''
|
||||
if prj_kernel != 'baremetal' and "bootloader" != prj_app:
|
||||
# XIP FW POST_ACTION
|
||||
POST_ACTION += mkimage_xip_postaction(aic_root, prj_chip, prj_kernel, prj_app, prj_defconfig, rtconfig.OBJCPY)
|
||||
|
||||
if prj_kernel != 'baremetal' and "bootloader" != prj_app:
|
||||
if get_config(prj_root_dir + '.config', env_enable) == 'y':
|
||||
@@ -815,6 +817,7 @@ def mkimage_prebuild(aic_root, prj_chip, prj_board, prj_kernel, prj_app, prj_def
|
||||
CMD += ' -c ' + aic_pack_dir + 'image_cfg.json'
|
||||
CMD += ' -o ' + prj_out_dir + 'partition_file_list.h'
|
||||
os.system(CMD)
|
||||
PRE_ACTION += CMD + ';'
|
||||
|
||||
MKFS_ACTION = ''
|
||||
MKFS_ACTION += mkimage_gen_mkfs_action(0)
|
||||
@@ -861,7 +864,11 @@ def mkimage_prebuild(aic_root, prj_chip, prj_board, prj_kernel, prj_app, prj_def
|
||||
elif platform.system() == 'Windows':
|
||||
MAKE_IMG_TOOL = aic_script_dir + 'mk_image.exe'
|
||||
IMG_JSON = prj_out_dir + 'image_cfg.json'
|
||||
MAKE_IMG_ACTION = MAKE_IMG_TOOL + ' -v -c ' + IMG_JSON + ' -d ' + prj_out_dir + '\n'
|
||||
if get_config(prj_root_dir + '.config', burner_enable) == 'y':
|
||||
MAKE_IMG_ARGS = ' -v -b -c '
|
||||
else:
|
||||
MAKE_IMG_ARGS = ' -v -c '
|
||||
MAKE_IMG_ACTION = MAKE_IMG_TOOL + MAKE_IMG_ARGS + IMG_JSON + ' -d ' + prj_out_dir + '\n'
|
||||
POST_ACTION += MAKE_IMG_ACTION
|
||||
|
||||
if get_config(prj_root_dir + '.config', ota_enable) == 'y':
|
||||
@@ -920,6 +927,8 @@ def mkimage_prebuild(aic_root, prj_chip, prj_board, prj_kernel, prj_app, prj_def
|
||||
os.environ["eclipse_sdk_pre_build"] = eclipse_sdk_pre_build
|
||||
os.environ["eclipse_sdk_post_build"] = post_objcopy + eclipse_sdk_post_build
|
||||
|
||||
get_post_build_bat(prj_out_dir, post_objcopy, eclipse_sdk_post_build)
|
||||
|
||||
# complete flag
|
||||
POST_ACTION += '@echo \n@echo Luban-Lite is built successfully \n@echo \n'
|
||||
return POST_ACTION
|
||||
@@ -1090,13 +1099,9 @@ def get_prj_config(aic_root):
|
||||
if PRJ_APP is None:
|
||||
print('Get {} in {} fail, please check your configuration!!!'.format(key_app, config_file))
|
||||
exit(0)
|
||||
PRJ_APP = PRJ_APP.replace('"','')
|
||||
PRJ_APP = PRJ_APP.replace('"', '')
|
||||
# check PRJ_APP
|
||||
if PRJ_KERNEL == 'baremetal':
|
||||
path = 'baremetal'
|
||||
else:
|
||||
path = 'os'
|
||||
path = os.path.join(aic_root, 'application', path)
|
||||
path = os.path.join(aic_root, 'application', PRJ_KERNEL)
|
||||
apps = get_all_app(path)
|
||||
if PRJ_APP not in apps:
|
||||
print('App name {} is invalid, please check your configuration!!!'.format(PRJ_APP))
|
||||
|
||||
Reference in New Issue
Block a user