diff --git a/bsp/bouffalo_lab/bl808/m0/rtconfig.py b/bsp/bouffalo_lab/bl808/m0/rtconfig.py index f8d18aa968..786c010f13 100755 --- a/bsp/bouffalo_lab/bl808/m0/rtconfig.py +++ b/bsp/bouffalo_lab/bl808/m0/rtconfig.py @@ -4,6 +4,7 @@ import os ARCH ='risc-v' CPU ='e9xx' CROSS_TOOL ='gcc' +BSP_LIBRARY_TYPE = 'bouffalo_lab' if os.getenv('RTT_ROOT'): RTT_ROOT = os.getenv('RTT_ROOT') @@ -59,4 +60,11 @@ if PLATFORM == 'gcc': DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtt.asm\n' POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread_m0.bin\n' + SIZE + ' $TARGET \n' -POST_ACTION += 'sh combine.sh bl808 ./rtthread_m0.bin\n' \ No newline at end of file +POST_ACTION += 'sh combine.sh bl808 ./rtthread_m0.bin\n' + +def dist_handle(BSP_ROOT, dist_dir): + import sys + cwd_path = os.getcwd() + sys.path.append(os.path.join(os.path.dirname(BSP_ROOT), 'tools')) + from sdk_dist import dist_do_building + dist_do_building(BSP_ROOT, dist_dir) diff --git a/bsp/bouffalo_lab/bl808/tools/sdk_dist.py b/bsp/bouffalo_lab/bl808/tools/sdk_dist.py new file mode 100644 index 0000000000..5a467a3a6d --- /dev/null +++ b/bsp/bouffalo_lab/bl808/tools/sdk_dist.py @@ -0,0 +1,39 @@ +import os +import sys +import shutil +cwd_path = os.getcwd() +sys.path.append(os.path.join(os.path.dirname(cwd_path), 'rt-thread', 'tools')) + +# BSP dist function +def dist_do_building(BSP_ROOT, dist_dir): + from mkdist import bsp_copy_files + import rtconfig + + library_path = os.path.join(os.path.dirname(BSP_ROOT), '../libraries') + print("library_path ",library_path) + library_dir = os.path.join(dist_dir, 'libraries') + print("library_dir ",library_dir) + print("=> copy bsp drivers") + bsp_copy_files(os.path.join(library_path, 'rt_drivers'), os.path.join(library_dir, 'rt_drivers')) + print("=> copy bsp CMSIS") + bsp_copy_files(os.path.join(library_path, 'bl_mcu_sdk'), os.path.join(library_dir, 'bl_mcu_sdk')) + print("=> copy bsp library") + + shutil.copyfile(os.path.join(library_path, 'Kconfig'), os.path.join(library_dir, 'Kconfig')) + + # change RTT_ROOT in Kconfig + if not os.path.isfile(os.path.join(dist_dir, 'Kconfig')): + return + + with open(os.path.join(dist_dir, 'Kconfig'), 'r') as f: + data = f.readlines() + with open(os.path.join(dist_dir, 'Kconfig'), 'w') as f: + found = 0 + for line in data: + if line.find('RTT_ROOT') != -1: + found = 1 + if line.find('../../libraries') != -1 and found: + position = line.find('../../libraries') + line = line[0:position] + 'libraries"\n' + found = 0 + f.write(line)