This commit is contained in:
刘可亮
2024-01-27 08:47:24 +08:00
parent d3bd993b5f
commit 9f7ba67007
2345 changed files with 74421 additions and 76616 deletions

View File

@@ -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))