summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2020-04-23 13:19:46 +0800
committerGitHub <[email protected]>2020-04-23 13:19:46 +0800
commit01a7587d3d92da608cbe3cf47425a552fa11296a (patch)
treed62850b42aea4ef6a931c28d777d3e4e147b5596
parent00de74ca04a196f26328d4c8b747927cc0dbb8b3 (diff)
parente1bd3673fd428ffbfd04d2f51a1a9be6fbfe832d (diff)
Merge pull request #3547 from luhuadong/develop
[BSP] add Libraries when scons --dist
-rw-r--r--bsp/at32/at32f403a-start/Kconfig3
-rw-r--r--bsp/at32/at32f403a-start/rtconfig.py13
-rw-r--r--bsp/at32/tools/sdk_dist.py19
-rw-r--r--tools/mkdist.py8
4 files changed, 34 insertions, 9 deletions
diff --git a/bsp/at32/at32f403a-start/Kconfig b/bsp/at32/at32f403a-start/Kconfig
index 7a400db91f..1a3b4b75bc 100644
--- a/bsp/at32/at32f403a-start/Kconfig
+++ b/bsp/at32/at32f403a-start/Kconfig
@@ -17,6 +17,5 @@ config PKGS_DIR
source "$RTT_DIR/Kconfig"
source "$PKGS_DIR/Kconfig"
-source "../libraries/Kconfig"
+source "../Libraries/Kconfig"
source "board/Kconfig"
-
diff --git a/bsp/at32/at32f403a-start/rtconfig.py b/bsp/at32/at32f403a-start/rtconfig.py
index 1d63cabb96..5f2f01ca76 100644
--- a/bsp/at32/at32f403a-start/rtconfig.py
+++ b/bsp/at32/at32f403a-start/rtconfig.py
@@ -1,4 +1,5 @@
import os
+import sys
# toolchains options
ARCH='arm'
@@ -57,7 +58,7 @@ if PLATFORM == 'gcc':
else:
CFLAGS += ' -O2'
- CXXFLAGS = CFLAGS
+ CXXFLAGS = CFLAGS
POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
@@ -88,7 +89,7 @@ elif PLATFORM == 'armcc':
else:
CFLAGS += ' -O2'
- CXXFLAGS = CFLAGS
+ CXXFLAGS = CFLAGS
CFLAGS += ' -std=c99'
POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
@@ -136,8 +137,14 @@ elif PLATFORM == 'iar':
LFLAGS = ' --config "board/linker_scripts/link.icf"'
LFLAGS += ' --entry __iar_program_start'
-
+
CXXFLAGS = CFLAGS
EXEC_PATH = EXEC_PATH + '/arm/bin/'
POST_ACTION = 'ielftool --bin $TARGET rtthread.bin'
+
+def dist_handle(BSP_ROOT):
+ 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)
diff --git a/bsp/at32/tools/sdk_dist.py b/bsp/at32/tools/sdk_dist.py
new file mode 100644
index 0000000000..01ff930b20
--- /dev/null
+++ b/bsp/at32/tools/sdk_dist.py
@@ -0,0 +1,19 @@
+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):
+ from mkdist import bsp_copy_files
+ import rtconfig
+
+ dist_dir = os.path.join(BSP_ROOT, 'dist', os.path.basename(BSP_ROOT))
+ library_path = os.path.join(os.path.dirname(BSP_ROOT), 'Libraries')
+ library_dir = os.path.join(dist_dir, 'Libraries')
+ print("=> copy bsp drivers")
+ bsp_copy_files(os.path.join(library_path, 'rt_drivers'), os.path.join(library_dir, 'rt_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'))
diff --git a/tools/mkdist.py b/tools/mkdist.py
index ec527d87e1..d83020f755 100644
--- a/tools/mkdist.py
+++ b/tools/mkdist.py
@@ -122,7 +122,7 @@ def bsp_update_kconfig(dist_dir):
line = line[0:position] + 'default "rt-thread"\n'
found = 0
f.write(line)
-
+
def bsp_update_kconfig_library(dist_dir):
# change RTT_ROOT in Kconfig
if not os.path.isfile(os.path.join(dist_dir, 'Kconfig')):
@@ -141,7 +141,7 @@ def bsp_update_kconfig_library(dist_dir):
found = 0
f.write(line)
- # change board/kconfig path
+ # change board/kconfig path
if not os.path.isfile(os.path.join(dist_dir, 'board/Kconfig')):
return
@@ -215,11 +215,11 @@ def MkDist_Strip(program, BSP_ROOT, RTT_ROOT, Env):
shutil.copyfile(os.path.join(library_path, 'Kconfig'), os.path.join(library_dir, 'Kconfig'))
# do bsp special dist handle
- if 'dist_handle' in Env:
+ if 'dist_handle' in Env:
print("=> start dist handle")
dist_handle = Env['dist_handle']
dist_handle(BSP_ROOT)
-
+
# get all source files from program
for item in program:
walk_children(item)