1import os 2import sys 3import shutil 4 5cwd_path = os.getcwd() 6sys.path.append(os.path.join(os.path.dirname(cwd_path), 'rt-thread', 'tools')) 7 8 9def bsp_update_kconfig_library(dist_dir): 10 # change RTT_ROOT in Kconfig 11 if not os.path.isfile(os.path.join(dist_dir, 'Kconfig')): 12 return 13 14 with open(os.path.join(dist_dir, 'Kconfig'), 'r') as f: 15 data = f.readlines() 16 with open(os.path.join(dist_dir, 'Kconfig'), 'w') as f: 17 for line in data: 18 if line.find('source') != -1 and line.find('../libraries') != -1: 19 line = line.replace('../libraries', 'libraries') 20 f.write(line) 21 22 23# BSP dist function 24def dist_do_building(BSP_ROOT, dist_dir): 25 from mkdist import bsp_copy_files 26 import rtconfig 27 28 print("=> copy at32 bsp library") 29 library_dir = os.path.join(dist_dir, 'libraries') 30 library_path = os.path.join(os.path.dirname(BSP_ROOT), 'libraries') 31 if rtconfig.BSP_LIBRARY_TYPE is not None: 32 bsp_copy_files( 33 os.path.join(library_path, rtconfig.BSP_LIBRARY_TYPE), 34 os.path.join(library_dir, rtconfig.BSP_LIBRARY_TYPE), 35 ) 36 37 print("=> copy bsp drivers") 38 bsp_copy_files(os.path.join(library_path, 'CMSIS'), os.path.join(library_dir, 'CMSIS')) 39 bsp_copy_files(os.path.join(library_path, 'rt_drivers'), os.path.join(library_dir, 'rt_drivers')) 40 bsp_copy_files(os.path.join(library_path, 'usbd_library'), os.path.join(library_dir, 'usbd_library')) 41 bsp_copy_files(os.path.join(library_path, 'usbotg_library'), os.path.join(library_dir, 'usbotg_library')) 42 shutil.copyfile(os.path.join(library_path, 'Kconfig'), os.path.join(library_dir, 'Kconfig')) 43 bsp_update_kconfig_library(dist_dir) 44