初步修正命令行编译

Signed-off-by: a1012112796 <1012112796@qq.com>
This commit is contained in:
2022-12-15 10:20:51 +08:00
parent 65384e5c57
commit 1e55f52bd0
5 changed files with 27 additions and 14 deletions

View File

@@ -19,7 +19,7 @@ except:
print(RTT_ROOT)
exit(-1)
TARGET = 'rt-thread.' + rtconfig.TARGET_EXT
TARGET = 'build/F413_RTT'
DefaultEnvironment(tools=[])
env = Environment(tools = ['mingw'],
@@ -61,4 +61,4 @@ objs.extend(SConscript(os.path.join(libraries_path_prefix, stm32_library, 'SCons
objs.extend(SConscript(os.path.join(libraries_path_prefix, 'HAL_Drivers', 'SConscript')))
# make a building
DoBuilding(TARGET, objs)
DoBuildingLib(TARGET, objs)

View File

@@ -568,7 +568,7 @@
<Group>
<GroupName>Drivers</GroupName>
<tvExp>0</tvExp>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
@@ -672,7 +672,7 @@
<Group>
<GroupName>Fal</GroupName>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
@@ -784,7 +784,7 @@
<Group>
<GroupName>IAP</GroupName>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>

View File

@@ -721,8 +721,7 @@ def BuildLibInstallAction(target, source, env):
do_copy_file(lib_name, dst_name)
break
def DoBuilding(target, objects):
def DoBuilding(target, objects, build_lib = False):
# merge all objects into one list
def one_list(l):
lst = []
@@ -792,10 +791,18 @@ def DoBuilding(target, objects):
objects = sorted(objects)
objects.append(objects_in_group)
program = Env.Program(target, objects)
if build_lib:
program = Env.Library(target, objects)
# add library copy action
Env.BuildLib(target, program)
else:
program = Env.Program(target, objects)
EndBuilding(target, program)
def DoBuildingLib(lib, objects):
DoBuilding(lib, objects, build_lib=True)
def GenTargetProject(program = None):
if GetOption('target') in ['mdk', 'mdk4', 'mdk5']:

View File

@@ -436,6 +436,11 @@ def ARMCC_Version():
child = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
stdout, stderr = child.communicate()
try:
stdout = stdout.decode()
except Exception:
pass
'''
example stdout:
Product: MDK Plus 5.24

View File

@@ -25,8 +25,8 @@ elif CROSS_TOOL == 'iar':
PLATFORM = 'iccarm'
EXEC_PATH = r'C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.3'
if os.getenv('RTT_EXEC_PATH'):
EXEC_PATH = os.getenv('RTT_EXEC_PATH')
if os.getenv('RTT_MDK_PATH'):
EXEC_PATH = os.getenv('RTT_MDK_PATH')
BUILD = 'debug'
@@ -71,7 +71,7 @@ elif PLATFORM == 'armcc':
TARGET_EXT = 'axf'
DEVICE = ' --cpu Cortex-M4.fp '
CFLAGS = '-c ' + DEVICE + ' --apcs=interwork --c99'
CFLAGS = DEVICE + ' --apcs=interwork '
AFLAGS = DEVICE + ' --apcs=interwork '
LFLAGS = DEVICE + ' --scatter "board\linker_scripts\link.sct" --info sizes --info totals --info unused --info veneers --list rt-thread.map --strict'
CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCC/include'
@@ -88,10 +88,11 @@ elif PLATFORM == 'armcc':
else:
CFLAGS += ' -O2'
CXXFLAGS = CFLAGS
CFLAGS += ' -std=c99'
CXXFLAGS = ' --cpp ' + CFLAGS
CFLAGS += " --c99 "
POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
# POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
POST_ACTION = 'move_lib.bat'
elif PLATFORM == 'armclang':
# toolchains