Skip to content

Commit 0e46c8a

Browse files
committed
[update] support armclang
1 parent 42c0144 commit 0e46c8a

File tree

102 files changed

+2581
-30
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

102 files changed

+2581
-30
lines changed

bsp/at91sam9260/platform/SConscript

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ cwd = GetCurrentDir()
66
CPPPATH = [cwd]
77

88
# The set of source files associated with this SConscript file.
9-
if rtconfig.PLATFORM == 'armcc':
9+
if rtconfig.PLATFORM == 'armcc' or rtconfig.PLATFORM == 'armclang':
1010
src = Glob('*.c') + Glob('*_rvds.S')
1111

1212
if rtconfig.PLATFORM == 'gcc':

bsp/at91sam9g45/platform/SConscript

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ cwd = GetCurrentDir()
66
CPPPATH = [cwd]
77

88
# The set of source files associated with this SConscript file.
9-
if rtconfig.PLATFORM == 'armcc':
9+
if rtconfig.PLATFORM == 'armcc' or rtconfig.PLATFORM == 'armclang':
1010
src = Glob('*.c') + Glob('*_rvds.S')
1111

1212
if rtconfig.PLATFORM == 'gcc':

bsp/bluetrum/libcpu/cpu/SConscript

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ cwd = GetCurrentDir()
88
src = Glob('*.c') + Glob('*.cpp')
99
CPPPATH = [cwd]
1010

11-
if rtconfig.PLATFORM == 'armcc':
11+
if rtconfig.PLATFORM == 'armcc' or rtconfig.PLATFORM == 'armclang':
1212
src += Glob('*_rvds.S')
1313

1414
if rtconfig.PLATFORM == 'gcc':

bsp/imx6sx/cortex-a9/cpu/SConscript

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ if rtconfig.PLATFORM == 'iar':
99
src += Glob('*_iar.S')
1010
elif rtconfig.PLATFORM == 'gcc':
1111
src += Glob('*_gcc.S')
12-
elif rtconfig.PLATFORM == 'armcc':
12+
elif rtconfig.PLATFORM == 'armcc' or rtconfig.PLATFORM == 'armclang':
1313
src += Glob('*_rvds.S')
1414

1515
group = DefineGroup('CPU', src, depend = [''], CPPPATH = CPPPATH)

bsp/qemu-vexpress-gemini/cpu/SConscript

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ if rtconfig.PLATFORM == 'iar':
99
src += Glob('*_iar.S')
1010
elif rtconfig.PLATFORM == 'gcc':
1111
src += Glob('*_gcc.S')
12-
elif rtconfig.PLATFORM == 'armcc':
12+
elif rtconfig.PLATFORM == 'armcc' or rtconfig.PLATFORM == 'armclang':
1313
src += Glob('*_rvds.S')
1414

1515
group = DefineGroup('CPU', src, depend = [''], CPPPATH = CPPPATH)

bsp/stm32/libraries/templates/stm32f0xx/rtconfig.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,40 @@
9393

9494
POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
9595

96+
elif PLATFORM == 'armclang':
97+
# toolchains
98+
CC = 'armclang'
99+
CXX = 'armclang'
100+
AS = 'armasm'
101+
AR = 'armar'
102+
LINK = 'armlink'
103+
TARGET_EXT = 'axf'
104+
105+
DEVICE = ' --cpu Cortex-M0 '
106+
CFLAGS = ' --target=arm-arm-none-eabi -mcpu=cortex-m0 '
107+
CFLAGS += ' -mcpu=cortex-m0 '
108+
CFLAGS += ' -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar '
109+
CFLAGS += ' -gdwarf-3 -ffunction-sections '
110+
AFLAGS = DEVICE + ' --apcs=interwork '
111+
LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers '
112+
LFLAGS += ' --list rt-thread.map '
113+
LFLAGS += r' --strict --scatter "board\linker_scripts\link.sct" '
114+
CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCLANG/include'
115+
LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCLANG/lib'
116+
117+
EXEC_PATH += '/ARM/ARMCLANG/bin/'
118+
119+
if BUILD == 'debug':
120+
CFLAGS += ' -g -O1' # armclang recommend
121+
AFLAGS += ' -g'
122+
else:
123+
CFLAGS += ' -O2'
124+
125+
CXXFLAGS = CFLAGS
126+
CFLAGS += ' -std=c99'
127+
128+
POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
129+
96130
elif PLATFORM == 'iar':
97131
# toolchains
98132
CC = 'iccarm'

bsp/stm32/libraries/templates/stm32f10x/rtconfig.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,40 @@
9393

9494
POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
9595

96+
elif PLATFORM == 'armclang':
97+
# toolchains
98+
CC = 'armclang'
99+
CXX = 'armclang'
100+
AS = 'armasm'
101+
AR = 'armar'
102+
LINK = 'armlink'
103+
TARGET_EXT = 'axf'
104+
105+
DEVICE = ' --cpu Cortex-M1.fp '
106+
CFLAGS = ' --target=arm-arm-none-eabi -mcpu=cortex-m0 '
107+
CFLAGS += ' -mcpu=cortex-m0 '
108+
CFLAGS += ' -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar '
109+
CFLAGS += ' -gdwarf-3 -ffunction-sections '
110+
AFLAGS = DEVICE + ' --apcs=interwork '
111+
LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers '
112+
LFLAGS += ' --list rt-thread.map '
113+
LFLAGS += r' --strict --scatter "board\linker_scripts\link.sct" '
114+
CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCLANG/include'
115+
LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCLANG/lib'
116+
117+
EXEC_PATH += '/ARM/ARMCLANG/bin/'
118+
119+
if BUILD == 'debug':
120+
CFLAGS += ' -g -O1' # armclang recommend
121+
AFLAGS += ' -g'
122+
else:
123+
CFLAGS += ' -O2'
124+
125+
CXXFLAGS = CFLAGS
126+
CFLAGS += ' -std=c99'
127+
128+
POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
129+
96130
elif PLATFORM == 'iar':
97131
# toolchains
98132
CC = 'iccarm'

bsp/stm32/libraries/templates/stm32f2xx/rtconfig.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,40 @@
9393

9494
POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
9595

96+
elif PLATFORM == 'armclang':
97+
# toolchains
98+
CC = 'armclang'
99+
CXX = 'armclang'
100+
AS = 'armasm'
101+
AR = 'armar'
102+
LINK = 'armlink'
103+
TARGET_EXT = 'axf'
104+
105+
DEVICE = ' --cpu Cortex-M3 '
106+
CFLAGS = ' --target=arm-arm-none-eabi -mcpu=cortex-m3 '
107+
CFLAGS += ' -mcpu=cortex-m3 '
108+
CFLAGS += ' -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar '
109+
CFLAGS += ' -gdwarf-3 -ffunction-sections '
110+
AFLAGS = DEVICE + ' --apcs=interwork '
111+
LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers '
112+
LFLAGS += ' --list rt-thread.map '
113+
LFLAGS += r' --strict --scatter "board\linker_scripts\link.sct" '
114+
CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCLANG/include'
115+
LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCLANG/lib'
116+
117+
EXEC_PATH += '/ARM/ARMCLANG/bin/'
118+
119+
if BUILD == 'debug':
120+
CFLAGS += ' -g -O1' # armclang recommend
121+
AFLAGS += ' -g'
122+
else:
123+
CFLAGS += ' -O2'
124+
125+
CXXFLAGS = CFLAGS
126+
CFLAGS += ' -std=c99'
127+
128+
POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
129+
96130
elif PLATFORM == 'iar':
97131
# toolchains
98132
CC = 'iccarm'

bsp/stm32/libraries/templates/stm32f3xx/rtconfig.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,40 @@
9393

9494
POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
9595

96+
elif PLATFORM == 'armclang':
97+
# toolchains
98+
CC = 'armclang'
99+
CXX = 'armclang'
100+
AS = 'armasm'
101+
AR = 'armar'
102+
LINK = 'armlink'
103+
TARGET_EXT = 'axf'
104+
105+
DEVICE = ' --cpu Cortex-M4.fp '
106+
CFLAGS = ' --target=arm-arm-none-eabi -mcpu=cortex-m4 '
107+
CFLAGS += ' -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 '
108+
CFLAGS += ' -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar '
109+
CFLAGS += ' -gdwarf-3 -ffunction-sections '
110+
AFLAGS = DEVICE + ' --apcs=interwork '
111+
LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers '
112+
LFLAGS += ' --list rt-thread.map '
113+
LFLAGS += r' --strict --scatter "board\linker_scripts\link.sct" '
114+
CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCLANG/include'
115+
LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCLANG/lib'
116+
117+
EXEC_PATH += '/ARM/ARMCLANG/bin/'
118+
119+
if BUILD == 'debug':
120+
CFLAGS += ' -g -O1' # armclang recommend
121+
AFLAGS += ' -g'
122+
else:
123+
CFLAGS += ' -O2'
124+
125+
CXXFLAGS = CFLAGS
126+
CFLAGS += ' -std=c99'
127+
128+
POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
129+
96130
elif PLATFORM == 'iar':
97131
# toolchains
98132
CC = 'iccarm'

bsp/stm32/libraries/templates/stm32f4xx/rtconfig.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,40 @@
9393

9494
POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
9595

96+
elif PLATFORM == 'armclang':
97+
# toolchains
98+
CC = 'armclang'
99+
CXX = 'armclang'
100+
AS = 'armasm'
101+
AR = 'armar'
102+
LINK = 'armlink'
103+
TARGET_EXT = 'axf'
104+
105+
DEVICE = ' --cpu Cortex-M4.fp '
106+
CFLAGS = ' --target=arm-arm-none-eabi -mcpu=cortex-m4 '
107+
CFLAGS += ' -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 '
108+
CFLAGS += ' -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar '
109+
CFLAGS += ' -gdwarf-3 -ffunction-sections '
110+
AFLAGS = DEVICE + ' --apcs=interwork '
111+
LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers '
112+
LFLAGS += ' --list rt-thread.map '
113+
LFLAGS += r' --strict --scatter "board\linker_scripts\link.sct" '
114+
CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCLANG/include'
115+
LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCLANG/lib'
116+
117+
EXEC_PATH += '/ARM/ARMCLANG/bin/'
118+
119+
if BUILD == 'debug':
120+
CFLAGS += ' -g -O1' # armclang recommend
121+
AFLAGS += ' -g'
122+
else:
123+
CFLAGS += ' -O2'
124+
125+
CXXFLAGS = CFLAGS
126+
CFLAGS += ' -std=c99'
127+
128+
POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
129+
96130
elif PLATFORM == 'iar':
97131
# toolchains
98132
CC = 'iccarm'

0 commit comments

Comments
 (0)