summaryrefslogtreecommitdiff
path: root/bsp
diff options
context:
space:
mode:
Diffstat (limited to 'bsp')
-rw-r--r--bsp/ESP/ESP32_C3/SConstruct2
-rw-r--r--bsp/ESP/ESP32_C3/rtconfig.py13
-rw-r--r--bsp/Infineon/libraries/templates/XMC7200D/SConstruct7
-rw-r--r--bsp/Infineon/psoc6-cy8ckit-062-BLE/SConstruct9
-rw-r--r--bsp/Infineon/psoc6-cy8ckit-062-WIFI-BT/SConstruct9
-rw-r--r--bsp/Infineon/psoc6-cy8ckit-062S2-43012/SConstruct9
-rw-r--r--bsp/Infineon/psoc6-cy8ckit-062s4/SConstruct9
-rw-r--r--bsp/Infineon/psoc6-cy8cproto-062S3-4343W/SConstruct9
-rw-r--r--bsp/Infineon/psoc6-evaluationkit-062S2/SConstruct9
-rw-r--r--bsp/Infineon/xmc7100d-f144k4160aa/SConstruct9
-rw-r--r--bsp/Infineon/xmc7200-kit_xmc7200_evk/SConstruct9
-rw-r--r--bsp/gd32/risc-v/gd32vw553h-eval/SConscript16
-rw-r--r--bsp/gd32/risc-v/gd32vw553h-eval/SConstruct11
-rw-r--r--bsp/gd32/risc-v/gd32vw553h-eval/board/SConscript18
-rw-r--r--bsp/gd32/risc-v/gd32vw553h-eval/rtconfig.py9
-rw-r--r--bsp/nxp/lpc/lpc55sxx/lpc55s06_nxp_evk/SConstruct13
-rw-r--r--bsp/nxp/lpc/lpc55sxx/lpc55s16_nxp_evk/SConstruct13
-rw-r--r--bsp/nxp/lpc/lpc55sxx/lpc55s28_nxp_evk/SConstruct13
-rw-r--r--bsp/nxp/lpc/lpc55sxx/lpc55s36_nxp_evk/SConstruct13
-rw-r--r--bsp/nxp/lpc/lpc55sxx/lpc55s69_nxp_evk/SConstruct13
-rw-r--r--bsp/raspberry-pico/RP2040/SConstruct4
-rw-r--r--bsp/raspberry-pico/RP2350/SConstruct4
22 files changed, 120 insertions, 101 deletions
diff --git a/bsp/ESP/ESP32_C3/SConstruct b/bsp/ESP/ESP32_C3/SConstruct
index fc22cb149e..3a01949738 100644
--- a/bsp/ESP/ESP32_C3/SConstruct
+++ b/bsp/ESP/ESP32_C3/SConstruct
@@ -1,6 +1,5 @@
import os
import sys
-import rtconfig
from esptool.bin_image import ELFFile, ImageSegment, LoadFirmwareImage
from esptool.targets import CHIP_DEFS, CHIP_LIST, ROM_LIST
@@ -40,6 +39,7 @@ else:
RTT_ROOT = os.path.join(os.getcwd(), '..', '..', '..')
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
+import rtconfig
from building import *
TARGET = 'rtthread.' + rtconfig.TARGET_EXT
diff --git a/bsp/ESP/ESP32_C3/rtconfig.py b/bsp/ESP/ESP32_C3/rtconfig.py
index 6ed986349d..537d12fee9 100644
--- a/bsp/ESP/ESP32_C3/rtconfig.py
+++ b/bsp/ESP/ESP32_C3/rtconfig.py
@@ -1,4 +1,10 @@
import os
+import sys
+
+BSP_ROOT = os.path.dirname(os.path.abspath(__file__))
+RTT_ROOT = os.getenv('RTT_ROOT') or os.path.normpath(os.path.join(BSP_ROOT, '..', '..', '..'))
+sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
+from env_package import find_package_path
# toolchains options
ARCH ='risc-v'
@@ -8,7 +14,7 @@ CROSS_TOOL ='gcc'
if os.getenv('RTT_CC'):
CROSS_TOOL = os.getenv('RTT_CC')
-if CROSS_TOOL == 'gcc':
+if CROSS_TOOL == 'gcc':
PLATFORM = 'gcc'
EXEC_PATH = r'~/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin'
else:
@@ -38,8 +44,9 @@ if PLATFORM == 'gcc':
DEVICE = ' -nostartfiles -march=rv32imc --specs=nosys.specs -fasynchronous-unwind-tables '
CFLAGS = DEVICE + '-include ../../components/libc/compilers/common/include/sys/ioctl.h -gdwarf-4 -ggdb -Og '
AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp'
- LFLAGS = DEVICE + ' -Wl,--cref -Wl,--defsym=IDF_TARGET_ESP32C3=0 -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,_start -T idf_port/ld/memory.ld -T idf_port/ld/sections.ld -T packages/ESP-IDF-latest/components/esp_rom/esp32c3/ld/esp32c3.rom.ld -T packages/ESP-IDF-latest/components/esp_rom/esp32c3/ld/esp32c3.rom.api.ld -T packages/ESP-IDF-latest/components/esp_rom/esp32c3/ld/esp32c3.rom.libgcc.ld -T packages/ESP-IDF-latest/components/esp_rom/esp32c3/ld/esp32c3.rom.newlib.ld -T packages/ESP-IDF-latest/components/esp_rom/esp32c3/ld/esp32c3.rom.version.ld -T packages/ESP-IDF-latest/components/esp_rom/esp32c3/ld/esp32c3.rom.eco3.ld -T packages/ESP-IDF-latest/components/soc/esp32c3/ld/esp32c3.peripherals.ld -Wl,--wrap=_Unwind_SetEnableExceptionFdeSorting -Wl,--wrap=__register_frame_info_bases -Wl,--wrap=__register_frame_info -Wl,--wrap=__register_frame -Wl,--wrap=__register_frame_info_table_bases -Wl,--wrap=__register_frame_info_table -Wl,--wrap=__register_frame_table -Wl,--wrap=__deregister_frame_info_bases -Wl,--wrap=__deregister_frame_info -Wl,--wrap=_Unwind_Find_FDE -Wl,--wrap=_Unwind_GetGR -Wl,--wrap=_Unwind_GetCFA -Wl,--wrap=_Unwind_GetIP -Wl,--wrap=_Unwind_GetIPInfo -Wl,--wrap=_Unwind_GetRegionStart -Wl,--wrap=_Unwind_GetDataRelBase -Wl,--wrap=_Unwind_GetTextRelBase -Wl,--wrap=_Unwind_SetIP -Wl,--wrap=_Unwind_SetGR -Wl,--wrap=_Unwind_GetLanguageSpecificData -Wl,--wrap=_Unwind_FindEnclosingFunction -Wl,--wrap=_Unwind_Resume -Wl,--wrap=_Unwind_RaiseException -Wl,--wrap=_Unwind_DeleteException -Wl,--wrap=_Unwind_ForcedUnwind -Wl,--wrap=_Unwind_Resume_or_Rethrow -Wl,--wrap=_Unwind_Backtrace -Wl,--wrap=__cxa_call_unexpected -Wl,--eh-frame-hdr -Wl,--wrap=__gxx_personality_v0 -Wl,--cref -Wl,--defsym=IDF_TARGET_ESP32C3=0'
- CXXFLAGS = CFLAGS
+ idf_path = find_package_path(BSP_ROOT, 'ESP-IDF-latest', relative_to=BSP_ROOT, pathsep='/')
+ LFLAGS = DEVICE + ' -Wl,--cref -Wl,--defsym=IDF_TARGET_ESP32C3=0 -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,_start -T idf_port/ld/memory.ld -T idf_port/ld/sections.ld -T ' + idf_path + '/components/esp_rom/esp32c3/ld/esp32c3.rom.ld -T ' + idf_path + '/components/esp_rom/esp32c3/ld/esp32c3.rom.api.ld -T ' + idf_path + '/components/esp_rom/esp32c3/ld/esp32c3.rom.libgcc.ld -T ' + idf_path + '/components/esp_rom/esp32c3/ld/esp32c3.rom.newlib.ld -T ' + idf_path + '/components/esp_rom/esp32c3/ld/esp32c3.rom.version.ld -T ' + idf_path + '/components/esp_rom/esp32c3/ld/esp32c3.rom.eco3.ld -T ' + idf_path + '/components/soc/esp32c3/ld/esp32c3.peripherals.ld -Wl,--wrap=_Unwind_SetEnableExceptionFdeSorting -Wl,--wrap=__register_frame_info_bases -Wl,--wrap=__register_frame_info -Wl,--wrap=__register_frame -Wl,--wrap=__register_frame_info_table_bases -Wl,--wrap=__register_frame_info_table -Wl,--wrap=__register_frame_table -Wl,--wrap=__deregister_frame_info_bases -Wl,--wrap=__deregister_frame_info -Wl,--wrap=_Unwind_Find_FDE -Wl,--wrap=_Unwind_GetGR -Wl,--wrap=_Unwind_GetCFA -Wl,--wrap=_Unwind_GetIP -Wl,--wrap=_Unwind_GetIPInfo -Wl,--wrap=_Unwind_GetRegionStart -Wl,--wrap=_Unwind_GetDataRelBase -Wl,--wrap=_Unwind_GetTextRelBase -Wl,--wrap=_Unwind_SetIP -Wl,--wrap=_Unwind_SetGR -Wl,--wrap=_Unwind_GetLanguageSpecificData -Wl,--wrap=_Unwind_FindEnclosingFunction -Wl,--wrap=_Unwind_Resume -Wl,--wrap=_Unwind_RaiseException -Wl,--wrap=_Unwind_DeleteException -Wl,--wrap=_Unwind_ForcedUnwind -Wl,--wrap=_Unwind_Resume_or_Rethrow -Wl,--wrap=_Unwind_Backtrace -Wl,--wrap=__cxa_call_unexpected -Wl,--eh-frame-hdr -Wl,--wrap=__gxx_personality_v0 -Wl,--cref -Wl,--defsym=IDF_TARGET_ESP32C3=0'
+ CXXFLAGS = CFLAGS
POST_ACTION = OBJCPY + ' -Oihex $TARGET rtthread.hex\n' + SIZE + ' $TARGET \n'
diff --git a/bsp/Infineon/libraries/templates/XMC7200D/SConstruct b/bsp/Infineon/libraries/templates/XMC7200D/SConstruct
index 926eb83567..f14bbe8a0d 100644
--- a/bsp/Infineon/libraries/templates/XMC7200D/SConstruct
+++ b/bsp/Infineon/libraries/templates/XMC7200D/SConstruct
@@ -10,6 +10,7 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
from building import *
+ from env_package import find_package_root
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
@@ -36,10 +37,10 @@ Export('rtconfig')
SDK_ROOT = os.path.abspath('./')
-if os.path.exists(SDK_ROOT + '/packages'):
- libraries_path_prefix = SDK_ROOT + '/packages'
-else:
+libraries_path_prefix = find_package_root(SDK_ROOT, package_prefix='Infineon_mtb-pdl-cat1')
+if not libraries_path_prefix:
print("Error: Packages for HAL_Driver does not exist, pull it in ENV using `pkg --update`.")
+ libraries_path_prefix = os.path.join(SDK_ROOT, 'packages')
SDK_LIB = libraries_path_prefix
Export('SDK_LIB')
diff --git a/bsp/Infineon/psoc6-cy8ckit-062-BLE/SConstruct b/bsp/Infineon/psoc6-cy8ckit-062-BLE/SConstruct
index 332a1f967e..f14bbe8a0d 100644
--- a/bsp/Infineon/psoc6-cy8ckit-062-BLE/SConstruct
+++ b/bsp/Infineon/psoc6-cy8ckit-062-BLE/SConstruct
@@ -10,6 +10,7 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
from building import *
+ from env_package import find_package_root
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
@@ -36,12 +37,10 @@ Export('rtconfig')
SDK_ROOT = os.path.abspath('./')
-libraries_path_prefix = SDK_ROOT
-
-if os.path.exists(SDK_ROOT + '/packages'):
- libraries_path_prefix = SDK_ROOT + '/packages'
-else:
+libraries_path_prefix = find_package_root(SDK_ROOT, package_prefix='Infineon_mtb-pdl-cat1')
+if not libraries_path_prefix:
print("Error: Packages for HAL_Driver does not exist, pull it in ENV using `pkg --update`.")
+ libraries_path_prefix = os.path.join(SDK_ROOT, 'packages')
SDK_LIB = libraries_path_prefix
Export('SDK_LIB')
diff --git a/bsp/Infineon/psoc6-cy8ckit-062-WIFI-BT/SConstruct b/bsp/Infineon/psoc6-cy8ckit-062-WIFI-BT/SConstruct
index 332a1f967e..f14bbe8a0d 100644
--- a/bsp/Infineon/psoc6-cy8ckit-062-WIFI-BT/SConstruct
+++ b/bsp/Infineon/psoc6-cy8ckit-062-WIFI-BT/SConstruct
@@ -10,6 +10,7 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
from building import *
+ from env_package import find_package_root
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
@@ -36,12 +37,10 @@ Export('rtconfig')
SDK_ROOT = os.path.abspath('./')
-libraries_path_prefix = SDK_ROOT
-
-if os.path.exists(SDK_ROOT + '/packages'):
- libraries_path_prefix = SDK_ROOT + '/packages'
-else:
+libraries_path_prefix = find_package_root(SDK_ROOT, package_prefix='Infineon_mtb-pdl-cat1')
+if not libraries_path_prefix:
print("Error: Packages for HAL_Driver does not exist, pull it in ENV using `pkg --update`.")
+ libraries_path_prefix = os.path.join(SDK_ROOT, 'packages')
SDK_LIB = libraries_path_prefix
Export('SDK_LIB')
diff --git a/bsp/Infineon/psoc6-cy8ckit-062S2-43012/SConstruct b/bsp/Infineon/psoc6-cy8ckit-062S2-43012/SConstruct
index 332a1f967e..f14bbe8a0d 100644
--- a/bsp/Infineon/psoc6-cy8ckit-062S2-43012/SConstruct
+++ b/bsp/Infineon/psoc6-cy8ckit-062S2-43012/SConstruct
@@ -10,6 +10,7 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
from building import *
+ from env_package import find_package_root
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
@@ -36,12 +37,10 @@ Export('rtconfig')
SDK_ROOT = os.path.abspath('./')
-libraries_path_prefix = SDK_ROOT
-
-if os.path.exists(SDK_ROOT + '/packages'):
- libraries_path_prefix = SDK_ROOT + '/packages'
-else:
+libraries_path_prefix = find_package_root(SDK_ROOT, package_prefix='Infineon_mtb-pdl-cat1')
+if not libraries_path_prefix:
print("Error: Packages for HAL_Driver does not exist, pull it in ENV using `pkg --update`.")
+ libraries_path_prefix = os.path.join(SDK_ROOT, 'packages')
SDK_LIB = libraries_path_prefix
Export('SDK_LIB')
diff --git a/bsp/Infineon/psoc6-cy8ckit-062s4/SConstruct b/bsp/Infineon/psoc6-cy8ckit-062s4/SConstruct
index 332a1f967e..f14bbe8a0d 100644
--- a/bsp/Infineon/psoc6-cy8ckit-062s4/SConstruct
+++ b/bsp/Infineon/psoc6-cy8ckit-062s4/SConstruct
@@ -10,6 +10,7 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
from building import *
+ from env_package import find_package_root
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
@@ -36,12 +37,10 @@ Export('rtconfig')
SDK_ROOT = os.path.abspath('./')
-libraries_path_prefix = SDK_ROOT
-
-if os.path.exists(SDK_ROOT + '/packages'):
- libraries_path_prefix = SDK_ROOT + '/packages'
-else:
+libraries_path_prefix = find_package_root(SDK_ROOT, package_prefix='Infineon_mtb-pdl-cat1')
+if not libraries_path_prefix:
print("Error: Packages for HAL_Driver does not exist, pull it in ENV using `pkg --update`.")
+ libraries_path_prefix = os.path.join(SDK_ROOT, 'packages')
SDK_LIB = libraries_path_prefix
Export('SDK_LIB')
diff --git a/bsp/Infineon/psoc6-cy8cproto-062S3-4343W/SConstruct b/bsp/Infineon/psoc6-cy8cproto-062S3-4343W/SConstruct
index 332a1f967e..f14bbe8a0d 100644
--- a/bsp/Infineon/psoc6-cy8cproto-062S3-4343W/SConstruct
+++ b/bsp/Infineon/psoc6-cy8cproto-062S3-4343W/SConstruct
@@ -10,6 +10,7 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
from building import *
+ from env_package import find_package_root
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
@@ -36,12 +37,10 @@ Export('rtconfig')
SDK_ROOT = os.path.abspath('./')
-libraries_path_prefix = SDK_ROOT
-
-if os.path.exists(SDK_ROOT + '/packages'):
- libraries_path_prefix = SDK_ROOT + '/packages'
-else:
+libraries_path_prefix = find_package_root(SDK_ROOT, package_prefix='Infineon_mtb-pdl-cat1')
+if not libraries_path_prefix:
print("Error: Packages for HAL_Driver does not exist, pull it in ENV using `pkg --update`.")
+ libraries_path_prefix = os.path.join(SDK_ROOT, 'packages')
SDK_LIB = libraries_path_prefix
Export('SDK_LIB')
diff --git a/bsp/Infineon/psoc6-evaluationkit-062S2/SConstruct b/bsp/Infineon/psoc6-evaluationkit-062S2/SConstruct
index 332a1f967e..f14bbe8a0d 100644
--- a/bsp/Infineon/psoc6-evaluationkit-062S2/SConstruct
+++ b/bsp/Infineon/psoc6-evaluationkit-062S2/SConstruct
@@ -10,6 +10,7 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
from building import *
+ from env_package import find_package_root
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
@@ -36,12 +37,10 @@ Export('rtconfig')
SDK_ROOT = os.path.abspath('./')
-libraries_path_prefix = SDK_ROOT
-
-if os.path.exists(SDK_ROOT + '/packages'):
- libraries_path_prefix = SDK_ROOT + '/packages'
-else:
+libraries_path_prefix = find_package_root(SDK_ROOT, package_prefix='Infineon_mtb-pdl-cat1')
+if not libraries_path_prefix:
print("Error: Packages for HAL_Driver does not exist, pull it in ENV using `pkg --update`.")
+ libraries_path_prefix = os.path.join(SDK_ROOT, 'packages')
SDK_LIB = libraries_path_prefix
Export('SDK_LIB')
diff --git a/bsp/Infineon/xmc7100d-f144k4160aa/SConstruct b/bsp/Infineon/xmc7100d-f144k4160aa/SConstruct
index 332a1f967e..f14bbe8a0d 100644
--- a/bsp/Infineon/xmc7100d-f144k4160aa/SConstruct
+++ b/bsp/Infineon/xmc7100d-f144k4160aa/SConstruct
@@ -10,6 +10,7 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
from building import *
+ from env_package import find_package_root
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
@@ -36,12 +37,10 @@ Export('rtconfig')
SDK_ROOT = os.path.abspath('./')
-libraries_path_prefix = SDK_ROOT
-
-if os.path.exists(SDK_ROOT + '/packages'):
- libraries_path_prefix = SDK_ROOT + '/packages'
-else:
+libraries_path_prefix = find_package_root(SDK_ROOT, package_prefix='Infineon_mtb-pdl-cat1')
+if not libraries_path_prefix:
print("Error: Packages for HAL_Driver does not exist, pull it in ENV using `pkg --update`.")
+ libraries_path_prefix = os.path.join(SDK_ROOT, 'packages')
SDK_LIB = libraries_path_prefix
Export('SDK_LIB')
diff --git a/bsp/Infineon/xmc7200-kit_xmc7200_evk/SConstruct b/bsp/Infineon/xmc7200-kit_xmc7200_evk/SConstruct
index 332a1f967e..f14bbe8a0d 100644
--- a/bsp/Infineon/xmc7200-kit_xmc7200_evk/SConstruct
+++ b/bsp/Infineon/xmc7200-kit_xmc7200_evk/SConstruct
@@ -10,6 +10,7 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
from building import *
+ from env_package import find_package_root
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
@@ -36,12 +37,10 @@ Export('rtconfig')
SDK_ROOT = os.path.abspath('./')
-libraries_path_prefix = SDK_ROOT
-
-if os.path.exists(SDK_ROOT + '/packages'):
- libraries_path_prefix = SDK_ROOT + '/packages'
-else:
+libraries_path_prefix = find_package_root(SDK_ROOT, package_prefix='Infineon_mtb-pdl-cat1')
+if not libraries_path_prefix:
print("Error: Packages for HAL_Driver does not exist, pull it in ENV using `pkg --update`.")
+ libraries_path_prefix = os.path.join(SDK_ROOT, 'packages')
SDK_LIB = libraries_path_prefix
Export('SDK_LIB')
diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/SConscript b/bsp/gd32/risc-v/gd32vw553h-eval/SConscript
index 945e23289a..774bafd8d0 100644
--- a/bsp/gd32/risc-v/gd32vw553h-eval/SConscript
+++ b/bsp/gd32/risc-v/gd32vw553h-eval/SConscript
@@ -1,7 +1,11 @@
# for module compiling
import os
+import sys
Import('RTT_ROOT')
from building import *
+sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
+from env_package import find_package_path
+from env_package import is_libraries_package
cwd = str(Dir('#'))
@@ -13,4 +17,16 @@ for d in list:
if os.path.isfile(os.path.join(path, 'SConscript')):
objs = objs + SConscript(os.path.join(d, 'SConscript'))
+wifi_pkg_path = find_package_path(cwd, 'gd32vw55x-wifi-latest')
+if wifi_pkg_path and is_libraries_package(wifi_pkg_path) and GetDepend(['PKG_USING_GD32VW55X_WIFI']):
+ lwip_mem = os.path.join(RTT_ROOT, 'components', 'net', 'lwip', 'lwip-2.1.2', 'src', 'core', 'mem.c')
+
+ if os.path.isfile(lwip_mem):
+ objs += DefineGroup('gd32vw55x-wifi-port', [lwip_mem], depend=['PKG_USING_GD32VW55X_WIFI'],
+ CPPPATH=[
+ os.path.join(wifi_pkg_path, 'src', 'lwip', 'port'),
+ os.path.join(wifi_pkg_path, 'src', 'lwip', 'port', 'arch'),
+ os.path.join(RTT_ROOT, 'components', 'net', 'lwip', 'lwip-2.1.2', 'src', 'include')
+ ])
+
Return('objs')
diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/SConstruct b/bsp/gd32/risc-v/gd32vw553h-eval/SConstruct
index 6cc366a422..ce4e3ca72c 100644
--- a/bsp/gd32/risc-v/gd32vw553h-eval/SConstruct
+++ b/bsp/gd32/risc-v/gd32vw553h-eval/SConstruct
@@ -1,6 +1,5 @@
import os
import sys
-import rtconfig
if os.getenv('RTT_ROOT'):
RTT_ROOT = os.getenv('RTT_ROOT')
@@ -8,21 +7,17 @@ else:
RTT_ROOT = os.path.normpath(os.getcwd() + '/../../../..')
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
+import rtconfig
try:
from building import *
+ from env_package import packages_available
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
exit(-1)
def bsp_pkg_check():
- import subprocess
-
- check_paths = [
- os.path.join("packages", "gd32-riscv-series-latest")
- ]
-
- need_update = not all(os.path.exists(p) for p in check_paths)
+ need_update = not packages_available(os.path.abspath('.'), ['gd32-riscv-series-latest'])
if need_update:
print("\n===============================================================================")
diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/board/SConscript b/bsp/gd32/risc-v/gd32vw553h-eval/board/SConscript
index 2434f2a56f..eaea72bc89 100644
--- a/bsp/gd32/risc-v/gd32vw553h-eval/board/SConscript
+++ b/bsp/gd32/risc-v/gd32vw553h-eval/board/SConscript
@@ -1,8 +1,12 @@
import os
+import sys
import rtconfig
from building import *
Import('SDK_LIB')
+Import('RTT_ROOT')
+sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
+from env_package import find_package_path
cwd = GetCurrentDir()
@@ -20,12 +24,20 @@ if GetDepend(['BSP_USING_WLAN']):
path = [cwd]
# add startup txt path
-startup_path_prefix = os.getcwd() + '/../'
+package_name = 'gd32-riscv-series-latest'
+package_path = find_package_path(
+ os.path.dirname(cwd),
+ package_name,
+ marker=os.path.join('GD32VW55x', 'RISCV', 'env_Eclipse', 'entry.S'),
+ extra_candidates=[
+ os.path.join(SDK_LIB, package_name),
+ os.path.join(os.path.dirname(SDK_LIB), 'packages', package_name),
+ ])
if rtconfig.PLATFORM in ['gcc']:
# Use standard peripheral library startup files for compatibility
- src += [startup_path_prefix + '/packages/gd32-riscv-series-latest/GD32VW55x/RISCV/env_Eclipse/start.S']
- src += [startup_path_prefix + '/packages/gd32-riscv-series-latest/GD32VW55x/RISCV/env_Eclipse/entry.S']
+ src += [os.path.join(package_path, 'GD32VW55x', 'RISCV', 'env_Eclipse', 'start.S')]
+ src += [os.path.join(package_path, 'GD32VW55x', 'RISCV', 'env_Eclipse', 'entry.S')]
CPPDEFINES = ['GD32VW553H_EVAL']
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/rtconfig.py b/bsp/gd32/risc-v/gd32vw553h-eval/rtconfig.py
index e1fd3a8faa..eb6fdd68ad 100644
--- a/bsp/gd32/risc-v/gd32vw553h-eval/rtconfig.py
+++ b/bsp/gd32/risc-v/gd32vw553h-eval/rtconfig.py
@@ -1,4 +1,5 @@
import os
+import sys
# toolchains options
ARCH='risc-v'
@@ -13,6 +14,12 @@ if os.getenv('RTT_CC'):
if os.getenv('RTT_ROOT'):
RTT_ROOT = os.getenv('RTT_ROOT')
+BSP_ROOT = os.path.dirname(os.path.abspath(__file__))
+if not os.getenv('RTT_ROOT'):
+ RTT_ROOT = os.path.normpath(os.path.join(BSP_ROOT, '..', '..', '..', '..'))
+sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
+from env_package import find_package_path
+
# cross_tool provides the cross compiler
# EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR
if CROSS_TOOL == 'gcc':
@@ -57,7 +64,7 @@ if PLATFORM == 'gcc':
# Linking Parameters
# 添加 --no-warn-mismatch 以忽略预编译库与当前工具链的特权规范版本差异
# 添加 WiFi ROM 符号表
- wifi_pkg_path = os.path.join(os.path.dirname(__file__), 'packages', 'gd32vw55x-wifi-latest')
+ wifi_pkg_path = find_package_path(BSP_ROOT, 'gd32vw55x-wifi-latest')
rom_symbol = os.path.join(wifi_pkg_path, 'rom_export', 'symbol', 'rom_symbol_m.gcc')
rom_symbol_flag = ''
if os.path.exists(rom_symbol):
diff --git a/bsp/nxp/lpc/lpc55sxx/lpc55s06_nxp_evk/SConstruct b/bsp/nxp/lpc/lpc55sxx/lpc55s06_nxp_evk/SConstruct
index 7538ccf9f3..0b2d20da94 100644
--- a/bsp/nxp/lpc/lpc55sxx/lpc55s06_nxp_evk/SConstruct
+++ b/bsp/nxp/lpc/lpc55sxx/lpc55s06_nxp_evk/SConstruct
@@ -10,19 +10,15 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
from building import *
+ from env_package import find_package_path
+ from env_package import packages_available
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
exit(-1)
def bsp_pkg_check():
- import subprocess
-
- check_paths = [
- os.path.join("packages", "nxp-lpc55s-series-latest"),
- ]
-
- need_update = not all(os.path.exists(p) for p in check_paths)
+ need_update = not packages_available(os.path.abspath('.'), ['nxp-lpc55s-series-latest'])
if need_update:
print("\n===============================================================================")
@@ -79,7 +75,8 @@ objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript')))
# include cmsis
-objs.extend(SConscript(os.path.join("packages/nxp-lpc55s-series-latest", rtconfig.BSP_LIBRARY_TYPE, 'SConscript')))
+lpc55s_package_path = find_package_path(SDK_ROOT, 'nxp-lpc55s-series-latest')
+objs.extend(SConscript(os.path.join(lpc55s_package_path, rtconfig.BSP_LIBRARY_TYPE, 'SConscript')))
# make a building
DoBuilding(TARGET, objs)
diff --git a/bsp/nxp/lpc/lpc55sxx/lpc55s16_nxp_evk/SConstruct b/bsp/nxp/lpc/lpc55sxx/lpc55s16_nxp_evk/SConstruct
index 7538ccf9f3..0b2d20da94 100644
--- a/bsp/nxp/lpc/lpc55sxx/lpc55s16_nxp_evk/SConstruct
+++ b/bsp/nxp/lpc/lpc55sxx/lpc55s16_nxp_evk/SConstruct
@@ -10,19 +10,15 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
from building import *
+ from env_package import find_package_path
+ from env_package import packages_available
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
exit(-1)
def bsp_pkg_check():
- import subprocess
-
- check_paths = [
- os.path.join("packages", "nxp-lpc55s-series-latest"),
- ]
-
- need_update = not all(os.path.exists(p) for p in check_paths)
+ need_update = not packages_available(os.path.abspath('.'), ['nxp-lpc55s-series-latest'])
if need_update:
print("\n===============================================================================")
@@ -79,7 +75,8 @@ objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript')))
# include cmsis
-objs.extend(SConscript(os.path.join("packages/nxp-lpc55s-series-latest", rtconfig.BSP_LIBRARY_TYPE, 'SConscript')))
+lpc55s_package_path = find_package_path(SDK_ROOT, 'nxp-lpc55s-series-latest')
+objs.extend(SConscript(os.path.join(lpc55s_package_path, rtconfig.BSP_LIBRARY_TYPE, 'SConscript')))
# make a building
DoBuilding(TARGET, objs)
diff --git a/bsp/nxp/lpc/lpc55sxx/lpc55s28_nxp_evk/SConstruct b/bsp/nxp/lpc/lpc55sxx/lpc55s28_nxp_evk/SConstruct
index 7538ccf9f3..0b2d20da94 100644
--- a/bsp/nxp/lpc/lpc55sxx/lpc55s28_nxp_evk/SConstruct
+++ b/bsp/nxp/lpc/lpc55sxx/lpc55s28_nxp_evk/SConstruct
@@ -10,19 +10,15 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
from building import *
+ from env_package import find_package_path
+ from env_package import packages_available
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
exit(-1)
def bsp_pkg_check():
- import subprocess
-
- check_paths = [
- os.path.join("packages", "nxp-lpc55s-series-latest"),
- ]
-
- need_update = not all(os.path.exists(p) for p in check_paths)
+ need_update = not packages_available(os.path.abspath('.'), ['nxp-lpc55s-series-latest'])
if need_update:
print("\n===============================================================================")
@@ -79,7 +75,8 @@ objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript')))
# include cmsis
-objs.extend(SConscript(os.path.join("packages/nxp-lpc55s-series-latest", rtconfig.BSP_LIBRARY_TYPE, 'SConscript')))
+lpc55s_package_path = find_package_path(SDK_ROOT, 'nxp-lpc55s-series-latest')
+objs.extend(SConscript(os.path.join(lpc55s_package_path, rtconfig.BSP_LIBRARY_TYPE, 'SConscript')))
# make a building
DoBuilding(TARGET, objs)
diff --git a/bsp/nxp/lpc/lpc55sxx/lpc55s36_nxp_evk/SConstruct b/bsp/nxp/lpc/lpc55sxx/lpc55s36_nxp_evk/SConstruct
index 7538ccf9f3..0b2d20da94 100644
--- a/bsp/nxp/lpc/lpc55sxx/lpc55s36_nxp_evk/SConstruct
+++ b/bsp/nxp/lpc/lpc55sxx/lpc55s36_nxp_evk/SConstruct
@@ -10,19 +10,15 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
from building import *
+ from env_package import find_package_path
+ from env_package import packages_available
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
exit(-1)
def bsp_pkg_check():
- import subprocess
-
- check_paths = [
- os.path.join("packages", "nxp-lpc55s-series-latest"),
- ]
-
- need_update = not all(os.path.exists(p) for p in check_paths)
+ need_update = not packages_available(os.path.abspath('.'), ['nxp-lpc55s-series-latest'])
if need_update:
print("\n===============================================================================")
@@ -79,7 +75,8 @@ objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript')))
# include cmsis
-objs.extend(SConscript(os.path.join("packages/nxp-lpc55s-series-latest", rtconfig.BSP_LIBRARY_TYPE, 'SConscript')))
+lpc55s_package_path = find_package_path(SDK_ROOT, 'nxp-lpc55s-series-latest')
+objs.extend(SConscript(os.path.join(lpc55s_package_path, rtconfig.BSP_LIBRARY_TYPE, 'SConscript')))
# make a building
DoBuilding(TARGET, objs)
diff --git a/bsp/nxp/lpc/lpc55sxx/lpc55s69_nxp_evk/SConstruct b/bsp/nxp/lpc/lpc55sxx/lpc55s69_nxp_evk/SConstruct
index 7538ccf9f3..0b2d20da94 100644
--- a/bsp/nxp/lpc/lpc55sxx/lpc55s69_nxp_evk/SConstruct
+++ b/bsp/nxp/lpc/lpc55sxx/lpc55s69_nxp_evk/SConstruct
@@ -10,19 +10,15 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
from building import *
+ from env_package import find_package_path
+ from env_package import packages_available
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
exit(-1)
def bsp_pkg_check():
- import subprocess
-
- check_paths = [
- os.path.join("packages", "nxp-lpc55s-series-latest"),
- ]
-
- need_update = not all(os.path.exists(p) for p in check_paths)
+ need_update = not packages_available(os.path.abspath('.'), ['nxp-lpc55s-series-latest'])
if need_update:
print("\n===============================================================================")
@@ -79,7 +75,8 @@ objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript')))
# include cmsis
-objs.extend(SConscript(os.path.join("packages/nxp-lpc55s-series-latest", rtconfig.BSP_LIBRARY_TYPE, 'SConscript')))
+lpc55s_package_path = find_package_path(SDK_ROOT, 'nxp-lpc55s-series-latest')
+objs.extend(SConscript(os.path.join(lpc55s_package_path, rtconfig.BSP_LIBRARY_TYPE, 'SConscript')))
# make a building
DoBuilding(TARGET, objs)
diff --git a/bsp/raspberry-pico/RP2040/SConstruct b/bsp/raspberry-pico/RP2040/SConstruct
index 01cea569da..2646672270 100644
--- a/bsp/raspberry-pico/RP2040/SConstruct
+++ b/bsp/raspberry-pico/RP2040/SConstruct
@@ -9,6 +9,7 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
from building import *
+from env_package import find_package_path
TARGET = 'rtthread-pico.' + rtconfig.TARGET_EXT
@@ -24,11 +25,12 @@ env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
Export('RTT_ROOT')
Export('rtconfig')
+
# prepare building environment
objs = PrepareBuilding(env, RTT_ROOT)
ocwd = os.getcwd()
-os.chdir('packages/raspberrypi-pico-sdk-latest')
+os.chdir(find_package_path(os.getcwd(), 'raspberrypi-pico-sdk-latest'))
print("Enter " + os.getcwd())
if GetOption('clean'):
os.system("scons -c")
diff --git a/bsp/raspberry-pico/RP2350/SConstruct b/bsp/raspberry-pico/RP2350/SConstruct
index a590fdd6a7..ce26541ac4 100644
--- a/bsp/raspberry-pico/RP2350/SConstruct
+++ b/bsp/raspberry-pico/RP2350/SConstruct
@@ -9,6 +9,7 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
from building import *
+from env_package import find_package_path
TARGET = 'rtthread-pico.' + rtconfig.TARGET_EXT
@@ -24,11 +25,12 @@ env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
Export('RTT_ROOT')
Export('rtconfig')
+
# prepare building environment
objs = PrepareBuilding(env, RTT_ROOT)
ocwd = os.getcwd()
-os.chdir('packages/raspberrypi-pico-rp2350-sdk-latest')
+os.chdir(find_package_path(os.getcwd(), 'raspberrypi-pico-rp2350-sdk-latest'))
print("Enter " + os.getcwd())
if GetOption('clean'):
os.system("scons -c")