summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2020-06-15 23:31:42 +0800
committerGitHub <[email protected]>2020-06-15 23:31:42 +0800
commit0a7e38c5a18377a82b06d5b88945de90293c2c80 (patch)
tree2616c6375a3cb447e4c721d9f18b45bbd4d53f28
parenteae89d14a0b2c6fb9945219e955e3a7ef7ba8789 (diff)
parent574ace9146c75cad009b13628d44845542c5688d (diff)
Merge pull request #3680 from xfwangqiang/dev_nxp
[BSP][IMXRT]fixed scons --dist in IMXRT BSP
-rw-r--r--bsp/imxrt/imxrt1052-atk-commander/rtconfig.py9
-rw-r--r--bsp/imxrt/imxrt1052-fire-pro/rtconfig.py9
-rw-r--r--bsp/imxrt/imxrt1052-nxp-evk/rtconfig.py8
-rw-r--r--bsp/imxrt/imxrt1064-nxp-evk/SConstruct19
-rw-r--r--bsp/imxrt/imxrt1064-nxp-evk/rtconfig.py10
-rw-r--r--bsp/imxrt/tools/sdk_dist.py12
6 files changed, 55 insertions, 12 deletions
diff --git a/bsp/imxrt/imxrt1052-atk-commander/rtconfig.py b/bsp/imxrt/imxrt1052-atk-commander/rtconfig.py
index 9b0c3da87f..cf79de685a 100644
--- a/bsp/imxrt/imxrt1052-atk-commander/rtconfig.py
+++ b/bsp/imxrt/imxrt1052-atk-commander/rtconfig.py
@@ -6,6 +6,9 @@ ARCH='arm'
CPU='cortex-m7'
CROSS_TOOL='gcc'
+# bsp lib config
+BSP_LIBRARY_TYPE = None
+
if os.getenv('RTT_CC'):
CROSS_TOOL = os.getenv('RTT_CC')
if os.getenv('RTT_ROOT'):
@@ -149,9 +152,11 @@ elif PLATFORM == 'iar':
EXEC_PATH = EXEC_PATH + '/arm/bin/'
POST_ACTION = 'ielftool --bin $TARGET rtthread.bin'
-def dist_handle(BSP_ROOT):
+
+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_do_building(BSP_ROOT, dist_dir)
\ No newline at end of file
diff --git a/bsp/imxrt/imxrt1052-fire-pro/rtconfig.py b/bsp/imxrt/imxrt1052-fire-pro/rtconfig.py
index 9b0c3da87f..552cefe835 100644
--- a/bsp/imxrt/imxrt1052-fire-pro/rtconfig.py
+++ b/bsp/imxrt/imxrt1052-fire-pro/rtconfig.py
@@ -6,6 +6,9 @@ ARCH='arm'
CPU='cortex-m7'
CROSS_TOOL='gcc'
+# bsp lib config
+BSP_LIBRARY_TYPE = None
+
if os.getenv('RTT_CC'):
CROSS_TOOL = os.getenv('RTT_CC')
if os.getenv('RTT_ROOT'):
@@ -149,9 +152,11 @@ elif PLATFORM == 'iar':
EXEC_PATH = EXEC_PATH + '/arm/bin/'
POST_ACTION = 'ielftool --bin $TARGET rtthread.bin'
-def dist_handle(BSP_ROOT):
+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_do_building(BSP_ROOT, dist_dir)
+
\ No newline at end of file
diff --git a/bsp/imxrt/imxrt1052-nxp-evk/rtconfig.py b/bsp/imxrt/imxrt1052-nxp-evk/rtconfig.py
index 88fd75b5e6..44de4dc1df 100644
--- a/bsp/imxrt/imxrt1052-nxp-evk/rtconfig.py
+++ b/bsp/imxrt/imxrt1052-nxp-evk/rtconfig.py
@@ -6,6 +6,9 @@ ARCH='arm'
CPU='cortex-m7'
CROSS_TOOL='gcc'
+# bsp lib config
+BSP_LIBRARY_TYPE = None
+
if os.getenv('RTT_CC'):
CROSS_TOOL = os.getenv('RTT_CC')
if os.getenv('RTT_ROOT'):
@@ -149,9 +152,10 @@ elif PLATFORM == 'iar':
EXEC_PATH = EXEC_PATH + '/arm/bin/'
POST_ACTION = 'ielftool --bin $TARGET rtthread.bin'
-def dist_handle(BSP_ROOT):
+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_do_building(BSP_ROOT, dist_dir)
\ No newline at end of file
diff --git a/bsp/imxrt/imxrt1064-nxp-evk/SConstruct b/bsp/imxrt/imxrt1064-nxp-evk/SConstruct
index 71be0c13c6..2827f048f0 100644
--- a/bsp/imxrt/imxrt1064-nxp-evk/SConstruct
+++ b/bsp/imxrt/imxrt1064-nxp-evk/SConstruct
@@ -45,11 +45,26 @@ if rtconfig.PLATFORM == 'iar':
Export('RTT_ROOT')
Export('rtconfig')
+SDK_ROOT = os.path.abspath('./')
+if os.path.exists(SDK_ROOT + '/Libraries'):
+ libraries_path_prefix = SDK_ROOT + '/Libraries'
+else:
+ libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/Libraries'
+
+SDK_LIB = libraries_path_prefix
+Export('SDK_LIB')
+
# prepare building environment
objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
-objs = objs + SConscript('../libraries/drivers/SConscript')
-objs = objs + SConscript('../libraries/MIMXRT1064/SConscript')
+imxrt_library = 'MIMXRT1064'
+rtconfig.BSP_LIBRARY_TYPE = imxrt_library
+
+# include libraries
+objs.extend(SConscript(os.path.join(libraries_path_prefix, imxrt_library, 'SConscript')))
+
+# include drivers
+objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript')))
# make a building
DoBuilding(TARGET, objs)
diff --git a/bsp/imxrt/imxrt1064-nxp-evk/rtconfig.py b/bsp/imxrt/imxrt1064-nxp-evk/rtconfig.py
index 4eccbc92fd..2acb77e3ed 100644
--- a/bsp/imxrt/imxrt1064-nxp-evk/rtconfig.py
+++ b/bsp/imxrt/imxrt1064-nxp-evk/rtconfig.py
@@ -5,6 +5,9 @@ ARCH='arm'
CPU='cortex-m7'
CROSS_TOOL='gcc'
+# bsp lib config
+BSP_LIBRARY_TYPE = None
+
if os.getenv('RTT_CC'):
CROSS_TOOL = os.getenv('RTT_CC')
if os.getenv('RTT_ROOT'):
@@ -150,3 +153,10 @@ elif PLATFORM == 'iar':
EXEC_PATH = EXEC_PATH + '/arm/bin/'
POST_ACTION = 'ielftool --bin $TARGET rtthread.bin'
+
+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/imxrt/tools/sdk_dist.py b/bsp/imxrt/tools/sdk_dist.py
index ebf869b689..89b7da4356 100644
--- a/bsp/imxrt/tools/sdk_dist.py
+++ b/bsp/imxrt/tools/sdk_dist.py
@@ -5,15 +5,19 @@ 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):
+def dist_do_building(BSP_ROOT, dist_dir=None):
from mkdist import bsp_copy_files
import rtconfig
- dist_dir = os.path.join(BSP_ROOT, 'dist', os.path.basename(BSP_ROOT))
+ if dist_dir is None:
+ dist_dir = os.path.join(BSP_ROOT, 'dist', os.path.basename(BSP_ROOT))
+
+ print("=> copy imxrt bsp library")
library_path = os.path.join(os.path.dirname(BSP_ROOT), 'libraries')
library_dir = os.path.join(dist_dir, 'libraries')
+ bsp_copy_files(os.path.join(library_path, rtconfig.BSP_LIBRARY_TYPE),
+ os.path.join(library_dir, rtconfig.BSP_LIBRARY_TYPE))
+
print("=> copy bsp drivers")
bsp_copy_files(os.path.join(library_path, 'drivers'), os.path.join(library_dir, 'drivers'))
- print("=> copy bsp library")
- bsp_copy_files(os.path.join(library_path, rtconfig.BSP_LIBRARY_TYPE), os.path.join(library_dir, rtconfig.BSP_LIBRARY_TYPE))
shutil.copyfile(os.path.join(library_path, 'Kconfig'), os.path.join(library_dir, 'Kconfig'))