forked from xuos/xiuos
1.mdk keil project is supported. 2.gcc is supported. 3.boot image can be configured to be selected or not,if you use mdk keil,please select xip boot image 4. bin and elf files can be load by NXP-MCUBootUtility.exe.
86 lines
2.9 KiB
Python
86 lines
2.9 KiB
Python
import os
|
|
import sys
|
|
import rtconfig
|
|
|
|
if os.getenv('RTT_ROOT'):
|
|
RTT_ROOT = os.getenv('RTT_ROOT')
|
|
else:
|
|
RTT_ROOT = os.path.normpath(os.getcwd() + '/../../rt-thread')
|
|
|
|
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
|
|
try:
|
|
from building import *
|
|
except:
|
|
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
|
|
print(RTT_ROOT)
|
|
exit(-1)
|
|
|
|
TARGET = 'rtthread.' + rtconfig.TARGET_EXT
|
|
DefaultEnvironment(tools=[])
|
|
if rtconfig.PLATFORM == 'armcc':
|
|
env = Environment(tools = ['mingw'],
|
|
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
|
|
CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
|
|
CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
|
|
AR = rtconfig.AR, ARFLAGS = '-rc',
|
|
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS,
|
|
# overwrite cflags, because cflags has '--C99'
|
|
CXXCOM = '$CXX -o $TARGET --cpp -c $CXXFLAGS $_CCCOMCOM $SOURCES')
|
|
else:
|
|
env = Environment(tools = ['mingw'],
|
|
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
|
|
CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
|
|
CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
|
|
AR = rtconfig.AR, ARFLAGS = '-rc',
|
|
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS,
|
|
CXXCOM = '$CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES')
|
|
|
|
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
|
|
|
|
if rtconfig.PLATFORM == 'iar':
|
|
env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES'])
|
|
env.Replace(ARFLAGS = [''])
|
|
env.Replace(LINKCOM = env["LINKCOM"] + ' --map rtthread.map')
|
|
|
|
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'
|
|
libraries_path_prefix = RTT_ROOT + '/bsp/imxrt/libraries'
|
|
SDK_LIB = libraries_path_prefix
|
|
Export('SDK_LIB')
|
|
|
|
# prepare building environment
|
|
objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
|
|
|
|
imxrt_library = 'MIMXRT1050'
|
|
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')))
|
|
|
|
# include more drivers
|
|
objs.extend(SConscript(os.getcwd() + '/../../app_match_rt-thread/SConscript'))
|
|
|
|
# include APP_Framework/Framework
|
|
objs.extend(SConscript(os.getcwd() + '/../../../../APP_Framework/Framework/SConscript'))
|
|
|
|
# include APP_Framework/Applications
|
|
objs.extend(SConscript(os.getcwd() + '/../../../../APP_Framework/Applications/SConscript'))
|
|
|
|
# include APP_Framework/lib
|
|
objs.extend(SConscript(os.getcwd() + '/../../../../APP_Framework/lib/SConscript'))
|
|
|
|
# include Ubiquitous/RT-Thread/micropython
|
|
objs.extend(SConscript(os.getcwd() + '/../../micropython/SConscript'))
|
|
# make a building
|
|
DoBuilding(TARGET, objs)
|