2024-04-18 11:44:25 +08:00
|
|
|
import os
|
2024-05-07 10:27:17 +08:00
|
|
|
import re
|
2024-04-18 11:44:25 +08:00
|
|
|
import sys
|
|
|
|
import shutil
|
2024-06-11 13:20:34 +08:00
|
|
|
|
2024-04-18 11:44:25 +08:00
|
|
|
cwd_path = os.getcwd()
|
|
|
|
sys.path.append(os.path.join(os.path.dirname(cwd_path), 'rt-thread', 'tools'))
|
|
|
|
|
2024-06-11 13:20:34 +08:00
|
|
|
|
2024-04-18 11:44:25 +08:00
|
|
|
def bsp_update_kconfig_library(dist_dir):
|
|
|
|
# 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:
|
|
|
|
for line in data:
|
2024-06-11 13:20:34 +08:00
|
|
|
if line.find('source') != -1 and line.find('../libraries') != -1:
|
|
|
|
line = line.replace('../libraries', 'libraries')
|
2024-04-18 11:44:25 +08:00
|
|
|
f.write(line)
|
|
|
|
|
2024-06-11 13:20:34 +08:00
|
|
|
|
2024-04-18 11:44:25 +08:00
|
|
|
# BSP dist function
|
|
|
|
def dist_do_building(BSP_ROOT, dist_dir):
|
|
|
|
from mkdist import bsp_copy_files
|
|
|
|
import rtconfig
|
|
|
|
|
|
|
|
print("=> copy ht32 bsp library")
|
|
|
|
library_dir = os.path.join(dist_dir, 'libraries')
|
|
|
|
library_path = os.path.join(os.path.dirname(BSP_ROOT), 'libraries')
|
2024-06-11 13:20:34 +08:00
|
|
|
bsp_copy_files(os.path.join(library_path, rtconfig.BSP_LIBRARY_TYPE), os.path.join(library_dir, rtconfig.BSP_LIBRARY_TYPE))
|
2024-04-18 11:44:25 +08:00
|
|
|
|
|
|
|
print("=> copy bsp drivers")
|
|
|
|
bsp_copy_files(os.path.join(library_path, 'ht32_drivers'), os.path.join(library_dir, 'ht32_drivers'))
|
|
|
|
shutil.copyfile(os.path.join(library_path, 'Kconfig'), os.path.join(library_dir, 'Kconfig'))
|
|
|
|
bsp_update_kconfig_library(dist_dir)
|
2024-06-11 13:20:34 +08:00
|
|
|
|
|
|
|
|
2024-05-07 10:27:17 +08:00
|
|
|
def get_source(ic_model, file_path, system_path, base_path):
|
|
|
|
source_path = []
|
|
|
|
files_list = []
|
|
|
|
readafter = 0
|
|
|
|
if not os.path.isfile(file_path):
|
|
|
|
return
|
|
|
|
|
|
|
|
with open(file_path, 'r') as file:
|
2024-06-11 13:20:34 +08:00
|
|
|
# content = file.read()
|
2024-05-07 10:27:17 +08:00
|
|
|
for line in file:
|
|
|
|
if readafter == 2 and line.find('>') != -1:
|
|
|
|
break
|
|
|
|
if readafter == 2:
|
|
|
|
files_list.append(line.strip())
|
|
|
|
if line.find(ic_model) != -1:
|
|
|
|
readafter = 1
|
|
|
|
if readafter == 1 and line.find('<') != -1:
|
2024-06-11 13:20:34 +08:00
|
|
|
readafter = 2
|
2024-05-07 10:27:17 +08:00
|
|
|
for line in files_list:
|
|
|
|
if line.find('system') != -1:
|
|
|
|
source_path.append(os.path.join(system_path, line.strip()))
|
|
|
|
else:
|
|
|
|
source_path.append(os.path.join(base_path, line.strip()))
|
2024-06-11 13:20:34 +08:00
|
|
|
return source_path
|