From 9604ac76995bba6d724cd4a8936ed2811703026b Mon Sep 17 00:00:00 2001 From: Yaochenger <1516081466@qq.com> Date: Fri, 27 Jun 2025 15:57:20 +0800 Subject: [PATCH] =?UTF-8?q?[bsp/xuantie]=20=E4=BF=AE=E5=A4=8Dbsp=E7=9A=84d?= =?UTF-8?q?ist=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/xuantie/smartl/e902/SConscript | 12 ++++++++---- bsp/xuantie/smartl/e902/rtconfig.py | 4 +++- bsp/xuantie/smartl/e906/SConscript | 12 ++++++++---- bsp/xuantie/smartl/e906/rtconfig.py | 4 +++- bsp/xuantie/smartl/e907/SConscript | 12 ++++++++---- bsp/xuantie/smartl/e907/rtconfig.py | 4 +++- bsp/xuantie/tools/sdk_dist.py | 17 +++++++++++++++++ bsp/xuantie/xiaohui/c906/SConscript | 12 ++++++++---- bsp/xuantie/xiaohui/c906/rtconfig.py | 4 +++- bsp/xuantie/xiaohui/c907/SConscript | 12 ++++++++---- bsp/xuantie/xiaohui/c907/rtconfig.py | 4 +++- bsp/xuantie/xiaohui/c908/SConscript | 12 ++++++++---- bsp/xuantie/xiaohui/c908/rtconfig.py | 4 +++- bsp/xuantie/xiaohui/c910/SConscript | 12 ++++++++---- bsp/xuantie/xiaohui/c910/rtconfig.py | 4 +++- bsp/xuantie/xiaohui/r908/SConscript | 12 ++++++++---- bsp/xuantie/xiaohui/r908/rtconfig.py | 4 +++- bsp/xuantie/xiaohui/r910/SConscript | 12 ++++++++---- bsp/xuantie/xiaohui/r910/rtconfig.py | 2 ++ bsp/xuantie/xiaohui/r920/SConscript | 12 ++++++++---- bsp/xuantie/xiaohui/r920/rtconfig.py | 4 +++- 21 files changed, 126 insertions(+), 49 deletions(-) create mode 100644 bsp/xuantie/tools/sdk_dist.py diff --git a/bsp/xuantie/smartl/e902/SConscript b/bsp/xuantie/smartl/e902/SConscript index 20f7689c53c..27c6c5f6358 100644 --- a/bsp/xuantie/smartl/e902/SConscript +++ b/bsp/xuantie/smartl/e902/SConscript @@ -7,9 +7,13 @@ cwd = GetCurrentDir() objs = [] list = os.listdir(cwd) -for d in list: - path = os.path.join(cwd, d) - if os.path.isfile(os.path.join(path, 'SConscript')): - objs = objs + SConscript(os.path.join(d, 'SConscript')) +for item in list: + path = os.path.join(cwd, item) + if item == 'libraries' or not os.path.isdir(path): + continue + + sconscript_path = os.path.join(path, 'SConscript') + if os.path.isfile(sconscript_path): + objs.extend(SConscript(os.path.join(item, 'SConscript'))) Return('objs') diff --git a/bsp/xuantie/smartl/e902/rtconfig.py b/bsp/xuantie/smartl/e902/rtconfig.py index 2406d70e5c4..0d837041f1c 100644 --- a/bsp/xuantie/smartl/e902/rtconfig.py +++ b/bsp/xuantie/smartl/e902/rtconfig.py @@ -24,6 +24,8 @@ CORE = 'risc-v' MAP_FILE = 'rtthread.map' LINK_FILE = '../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_smartl.ld' +if os.path.exists('./libraries'): + LINK_FILE = './libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_smartl.ld' TARGET_NAME = 'rtthread.bin' #------- GCC settings ---------------------------------------------------------- @@ -85,6 +87,6 @@ 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')) + 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/xuantie/smartl/e906/SConscript b/bsp/xuantie/smartl/e906/SConscript index 20f7689c53c..27c6c5f6358 100644 --- a/bsp/xuantie/smartl/e906/SConscript +++ b/bsp/xuantie/smartl/e906/SConscript @@ -7,9 +7,13 @@ cwd = GetCurrentDir() objs = [] list = os.listdir(cwd) -for d in list: - path = os.path.join(cwd, d) - if os.path.isfile(os.path.join(path, 'SConscript')): - objs = objs + SConscript(os.path.join(d, 'SConscript')) +for item in list: + path = os.path.join(cwd, item) + if item == 'libraries' or not os.path.isdir(path): + continue + + sconscript_path = os.path.join(path, 'SConscript') + if os.path.isfile(sconscript_path): + objs.extend(SConscript(os.path.join(item, 'SConscript'))) Return('objs') diff --git a/bsp/xuantie/smartl/e906/rtconfig.py b/bsp/xuantie/smartl/e906/rtconfig.py index c24bf39ff15..55b0a206bf6 100644 --- a/bsp/xuantie/smartl/e906/rtconfig.py +++ b/bsp/xuantie/smartl/e906/rtconfig.py @@ -24,6 +24,8 @@ CORE = 'risc-v' MAP_FILE = 'rtthread.map' LINK_FILE = '../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_smartl.ld' +if os.path.exists('./libraries'): + LINK_FILE = './libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_smartl.ld' TARGET_NAME = 'rtthread.bin' #------- GCC settings ---------------------------------------------------------- @@ -85,6 +87,6 @@ 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')) + 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/xuantie/smartl/e907/SConscript b/bsp/xuantie/smartl/e907/SConscript index 20f7689c53c..27c6c5f6358 100644 --- a/bsp/xuantie/smartl/e907/SConscript +++ b/bsp/xuantie/smartl/e907/SConscript @@ -7,9 +7,13 @@ cwd = GetCurrentDir() objs = [] list = os.listdir(cwd) -for d in list: - path = os.path.join(cwd, d) - if os.path.isfile(os.path.join(path, 'SConscript')): - objs = objs + SConscript(os.path.join(d, 'SConscript')) +for item in list: + path = os.path.join(cwd, item) + if item == 'libraries' or not os.path.isdir(path): + continue + + sconscript_path = os.path.join(path, 'SConscript') + if os.path.isfile(sconscript_path): + objs.extend(SConscript(os.path.join(item, 'SConscript'))) Return('objs') diff --git a/bsp/xuantie/smartl/e907/rtconfig.py b/bsp/xuantie/smartl/e907/rtconfig.py index ae746d32bcd..895fc2caa96 100644 --- a/bsp/xuantie/smartl/e907/rtconfig.py +++ b/bsp/xuantie/smartl/e907/rtconfig.py @@ -24,6 +24,8 @@ CORE = 'risc-v' MAP_FILE = 'rtthread.map' LINK_FILE = '../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_smartl.ld' +if os.path.exists('./libraries'): + LINK_FILE = './libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_smartl.ld' TARGET_NAME = 'rtthread.bin' #------- GCC settings ---------------------------------------------------------- @@ -85,6 +87,6 @@ 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')) + 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/xuantie/tools/sdk_dist.py b/bsp/xuantie/tools/sdk_dist.py new file mode 100644 index 00000000000..c6b388f2bb0 --- /dev/null +++ b/bsp/xuantie/tools/sdk_dist.py @@ -0,0 +1,17 @@ +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 + + print(dist_dir) + print("=> copy XUANTIE bsp library") + library_dir = os.path.join(dist_dir, './libraries') + library_path = os.path.join(os.path.dirname(BSP_ROOT), '../libraries') + bsp_copy_files(library_path, library_dir) diff --git a/bsp/xuantie/xiaohui/c906/SConscript b/bsp/xuantie/xiaohui/c906/SConscript index 20f7689c53c..27c6c5f6358 100644 --- a/bsp/xuantie/xiaohui/c906/SConscript +++ b/bsp/xuantie/xiaohui/c906/SConscript @@ -7,9 +7,13 @@ cwd = GetCurrentDir() objs = [] list = os.listdir(cwd) -for d in list: - path = os.path.join(cwd, d) - if os.path.isfile(os.path.join(path, 'SConscript')): - objs = objs + SConscript(os.path.join(d, 'SConscript')) +for item in list: + path = os.path.join(cwd, item) + if item == 'libraries' or not os.path.isdir(path): + continue + + sconscript_path = os.path.join(path, 'SConscript') + if os.path.isfile(sconscript_path): + objs.extend(SConscript(os.path.join(item, 'SConscript'))) Return('objs') diff --git a/bsp/xuantie/xiaohui/c906/rtconfig.py b/bsp/xuantie/xiaohui/c906/rtconfig.py index bdfeb77ffd5..9b026af8387 100644 --- a/bsp/xuantie/xiaohui/c906/rtconfig.py +++ b/bsp/xuantie/xiaohui/c906/rtconfig.py @@ -24,6 +24,8 @@ CORE = 'risc-v' MAP_FILE = 'rtthread.map' LINK_FILE = '../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld' +if os.path.exists('./libraries'): + LINK_FILE = './libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld' TARGET_NAME = 'rtthread.bin' #------- GCC settings ---------------------------------------------------------- @@ -92,6 +94,6 @@ 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')) + 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/xuantie/xiaohui/c907/SConscript b/bsp/xuantie/xiaohui/c907/SConscript index 20f7689c53c..27c6c5f6358 100644 --- a/bsp/xuantie/xiaohui/c907/SConscript +++ b/bsp/xuantie/xiaohui/c907/SConscript @@ -7,9 +7,13 @@ cwd = GetCurrentDir() objs = [] list = os.listdir(cwd) -for d in list: - path = os.path.join(cwd, d) - if os.path.isfile(os.path.join(path, 'SConscript')): - objs = objs + SConscript(os.path.join(d, 'SConscript')) +for item in list: + path = os.path.join(cwd, item) + if item == 'libraries' or not os.path.isdir(path): + continue + + sconscript_path = os.path.join(path, 'SConscript') + if os.path.isfile(sconscript_path): + objs.extend(SConscript(os.path.join(item, 'SConscript'))) Return('objs') diff --git a/bsp/xuantie/xiaohui/c907/rtconfig.py b/bsp/xuantie/xiaohui/c907/rtconfig.py index bca29abd040..e4b6d5dd3ae 100644 --- a/bsp/xuantie/xiaohui/c907/rtconfig.py +++ b/bsp/xuantie/xiaohui/c907/rtconfig.py @@ -24,6 +24,8 @@ CORE = 'risc-v' MAP_FILE = 'rtthread.map' LINK_FILE = '../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld' +if os.path.exists('./libraries'): + LINK_FILE = './libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld' TARGET_NAME = 'rtthread.bin' #------- GCC settings ---------------------------------------------------------- @@ -92,6 +94,6 @@ 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')) + 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/xuantie/xiaohui/c908/SConscript b/bsp/xuantie/xiaohui/c908/SConscript index 20f7689c53c..27c6c5f6358 100644 --- a/bsp/xuantie/xiaohui/c908/SConscript +++ b/bsp/xuantie/xiaohui/c908/SConscript @@ -7,9 +7,13 @@ cwd = GetCurrentDir() objs = [] list = os.listdir(cwd) -for d in list: - path = os.path.join(cwd, d) - if os.path.isfile(os.path.join(path, 'SConscript')): - objs = objs + SConscript(os.path.join(d, 'SConscript')) +for item in list: + path = os.path.join(cwd, item) + if item == 'libraries' or not os.path.isdir(path): + continue + + sconscript_path = os.path.join(path, 'SConscript') + if os.path.isfile(sconscript_path): + objs.extend(SConscript(os.path.join(item, 'SConscript'))) Return('objs') diff --git a/bsp/xuantie/xiaohui/c908/rtconfig.py b/bsp/xuantie/xiaohui/c908/rtconfig.py index bc5067eed59..f9fa78c99f1 100644 --- a/bsp/xuantie/xiaohui/c908/rtconfig.py +++ b/bsp/xuantie/xiaohui/c908/rtconfig.py @@ -24,6 +24,8 @@ CORE = 'risc-v' MAP_FILE = 'rtthread.map' LINK_FILE = '../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld' +if os.path.exists('./libraries'): + LINK_FILE = './libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld' TARGET_NAME = 'rtthread.bin' #------- GCC settings ---------------------------------------------------------- @@ -93,6 +95,6 @@ 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')) + 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/xuantie/xiaohui/c910/SConscript b/bsp/xuantie/xiaohui/c910/SConscript index 20f7689c53c..27c6c5f6358 100644 --- a/bsp/xuantie/xiaohui/c910/SConscript +++ b/bsp/xuantie/xiaohui/c910/SConscript @@ -7,9 +7,13 @@ cwd = GetCurrentDir() objs = [] list = os.listdir(cwd) -for d in list: - path = os.path.join(cwd, d) - if os.path.isfile(os.path.join(path, 'SConscript')): - objs = objs + SConscript(os.path.join(d, 'SConscript')) +for item in list: + path = os.path.join(cwd, item) + if item == 'libraries' or not os.path.isdir(path): + continue + + sconscript_path = os.path.join(path, 'SConscript') + if os.path.isfile(sconscript_path): + objs.extend(SConscript(os.path.join(item, 'SConscript'))) Return('objs') diff --git a/bsp/xuantie/xiaohui/c910/rtconfig.py b/bsp/xuantie/xiaohui/c910/rtconfig.py index 68fd80a0e1f..f8763d85490 100644 --- a/bsp/xuantie/xiaohui/c910/rtconfig.py +++ b/bsp/xuantie/xiaohui/c910/rtconfig.py @@ -24,6 +24,8 @@ CORE = 'risc-v' MAP_FILE = 'rtthread.map' LINK_FILE = '../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld' +if os.path.exists('./libraries'): + LINK_FILE = './libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld' TARGET_NAME = 'rtthread.bin' #------- GCC settings ---------------------------------------------------------- @@ -92,6 +94,6 @@ 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')) + 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/xuantie/xiaohui/r908/SConscript b/bsp/xuantie/xiaohui/r908/SConscript index 20f7689c53c..27c6c5f6358 100644 --- a/bsp/xuantie/xiaohui/r908/SConscript +++ b/bsp/xuantie/xiaohui/r908/SConscript @@ -7,9 +7,13 @@ cwd = GetCurrentDir() objs = [] list = os.listdir(cwd) -for d in list: - path = os.path.join(cwd, d) - if os.path.isfile(os.path.join(path, 'SConscript')): - objs = objs + SConscript(os.path.join(d, 'SConscript')) +for item in list: + path = os.path.join(cwd, item) + if item == 'libraries' or not os.path.isdir(path): + continue + + sconscript_path = os.path.join(path, 'SConscript') + if os.path.isfile(sconscript_path): + objs.extend(SConscript(os.path.join(item, 'SConscript'))) Return('objs') diff --git a/bsp/xuantie/xiaohui/r908/rtconfig.py b/bsp/xuantie/xiaohui/r908/rtconfig.py index b47f8a97761..514216239c5 100644 --- a/bsp/xuantie/xiaohui/r908/rtconfig.py +++ b/bsp/xuantie/xiaohui/r908/rtconfig.py @@ -24,6 +24,8 @@ CORE = 'risc-v' MAP_FILE = 'rtthread.map' LINK_FILE = '../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld' +if os.path.exists('./libraries'): + LINK_FILE = './libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld' TARGET_NAME = 'rtthread.bin' #------- GCC settings ---------------------------------------------------------- @@ -92,6 +94,6 @@ 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')) + 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/xuantie/xiaohui/r910/SConscript b/bsp/xuantie/xiaohui/r910/SConscript index 20f7689c53c..27c6c5f6358 100644 --- a/bsp/xuantie/xiaohui/r910/SConscript +++ b/bsp/xuantie/xiaohui/r910/SConscript @@ -7,9 +7,13 @@ cwd = GetCurrentDir() objs = [] list = os.listdir(cwd) -for d in list: - path = os.path.join(cwd, d) - if os.path.isfile(os.path.join(path, 'SConscript')): - objs = objs + SConscript(os.path.join(d, 'SConscript')) +for item in list: + path = os.path.join(cwd, item) + if item == 'libraries' or not os.path.isdir(path): + continue + + sconscript_path = os.path.join(path, 'SConscript') + if os.path.isfile(sconscript_path): + objs.extend(SConscript(os.path.join(item, 'SConscript'))) Return('objs') diff --git a/bsp/xuantie/xiaohui/r910/rtconfig.py b/bsp/xuantie/xiaohui/r910/rtconfig.py index d6c18b6358c..cb92fb4d27c 100644 --- a/bsp/xuantie/xiaohui/r910/rtconfig.py +++ b/bsp/xuantie/xiaohui/r910/rtconfig.py @@ -24,6 +24,8 @@ CORE = 'risc-v' MAP_FILE = 'rtthread.map' LINK_FILE = '../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld' +if os.path.exists('./libraries'): + LINK_FILE = './libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld' TARGET_NAME = 'rtthread.bin' #------- GCC settings ---------------------------------------------------------- diff --git a/bsp/xuantie/xiaohui/r920/SConscript b/bsp/xuantie/xiaohui/r920/SConscript index 20f7689c53c..27c6c5f6358 100644 --- a/bsp/xuantie/xiaohui/r920/SConscript +++ b/bsp/xuantie/xiaohui/r920/SConscript @@ -7,9 +7,13 @@ cwd = GetCurrentDir() objs = [] list = os.listdir(cwd) -for d in list: - path = os.path.join(cwd, d) - if os.path.isfile(os.path.join(path, 'SConscript')): - objs = objs + SConscript(os.path.join(d, 'SConscript')) +for item in list: + path = os.path.join(cwd, item) + if item == 'libraries' or not os.path.isdir(path): + continue + + sconscript_path = os.path.join(path, 'SConscript') + if os.path.isfile(sconscript_path): + objs.extend(SConscript(os.path.join(item, 'SConscript'))) Return('objs') diff --git a/bsp/xuantie/xiaohui/r920/rtconfig.py b/bsp/xuantie/xiaohui/r920/rtconfig.py index e00c41fa999..a4c34019b6c 100644 --- a/bsp/xuantie/xiaohui/r920/rtconfig.py +++ b/bsp/xuantie/xiaohui/r920/rtconfig.py @@ -24,6 +24,8 @@ CORE = 'risc-v' MAP_FILE = 'rtthread.map' LINK_FILE = '../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld' +if os.path.exists('./libraries'): + LINK_FILE = './libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld' TARGET_NAME = 'rtthread.bin' #------- GCC settings ---------------------------------------------------------- @@ -92,6 +94,6 @@ 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')) + 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)