|
@@ -23,7 +23,7 @@ elif CROSS_TOOL == 'keil':
|
|
|
EXEC_PATH = r'C:/Keil_v5'
|
|
|
elif CROSS_TOOL == 'iar':
|
|
|
PLATFORM = 'iar'
|
|
|
- EXEC_PATH = r'D:\software\Embedded Workbench 8.3'
|
|
|
+ EXEC_PATH = r'C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.0'
|
|
|
|
|
|
if os.getenv('RTT_EXEC_PATH'):
|
|
|
EXEC_PATH = os.getenv('RTT_EXEC_PATH')
|
|
@@ -93,6 +93,40 @@ elif PLATFORM == 'armcc':
|
|
|
|
|
|
POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
|
|
|
|
|
|
+elif PLATFORM == 'armclang':
|
|
|
+ # toolchains
|
|
|
+ CC = 'armclang'
|
|
|
+ CXX = 'armclang'
|
|
|
+ AS = 'armasm'
|
|
|
+ AR = 'armar'
|
|
|
+ LINK = 'armlink'
|
|
|
+ TARGET_EXT = 'axf'
|
|
|
+
|
|
|
+ DEVICE = ' --cpu Cortex-M4.fp '
|
|
|
+ CFLAGS = ' --target=arm-arm-none-eabi -mcpu=cortex-m4 '
|
|
|
+ CFLAGS += ' -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 '
|
|
|
+ CFLAGS += ' -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar '
|
|
|
+ CFLAGS += ' -gdwarf-3 -ffunction-sections '
|
|
|
+ AFLAGS = DEVICE + ' --apcs=interwork '
|
|
|
+ LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers '
|
|
|
+ LFLAGS += ' --list rt-thread.map '
|
|
|
+ LFLAGS += r' --strict --scatter "board\linker_scripts\link.sct" '
|
|
|
+ CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCLANG/include'
|
|
|
+ LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCLANG/lib'
|
|
|
+
|
|
|
+ EXEC_PATH += '/ARM/ARMCLANG/bin/'
|
|
|
+
|
|
|
+ if BUILD == 'debug':
|
|
|
+ CFLAGS += ' -g -O1' # armclang recommend
|
|
|
+ AFLAGS += ' -g'
|
|
|
+ else:
|
|
|
+ CFLAGS += ' -O2'
|
|
|
+
|
|
|
+ CXXFLAGS = CFLAGS
|
|
|
+ CFLAGS += ' -std=c99'
|
|
|
+
|
|
|
+ POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
|
|
|
+
|
|
|
elif PLATFORM == 'iar':
|
|
|
# toolchains
|
|
|
CC = 'iccarm'
|