summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorguozhanxin <[email protected]>2021-12-21 18:44:16 +0800
committerBernard Xiong <[email protected]>2021-12-22 13:04:02 +0800
commit67a39f62e55f4a3ca1ebf07cbe45dd9d98a668a8 (patch)
tree402a243c869089a67a9d72f765da70973fe94417
parenta5f6fdc780d55f2bf2a1624815879e15c51082b5 (diff)
Improve armclang support.|完善 armclang 支持
-rw-r--r--bsp/acm32f4xx-nucleo/rtconfig.py5
-rw-r--r--bsp/gd32e230k-start/rtconfig.py32
-rw-r--r--bsp/stm32/stm32l552-st-nucleo/rtconfig.py32
-rw-r--r--bsp/stm32/stm32u575-st-nucleo/rtconfig.py32
4 files changed, 23 insertions, 78 deletions
diff --git a/bsp/acm32f4xx-nucleo/rtconfig.py b/bsp/acm32f4xx-nucleo/rtconfig.py
index 589422785b..b63b56b878 100644
--- a/bsp/acm32f4xx-nucleo/rtconfig.py
+++ b/bsp/acm32f4xx-nucleo/rtconfig.py
@@ -20,7 +20,7 @@ if CROSS_TOOL == 'gcc':
PLATFORM = 'gcc'
EXEC_PATH = r'/opt/gcc-arm-none-eabi-6_2-2016q4/bin'
elif CROSS_TOOL == 'keil':
- PLATFORM = 'armcc'
+ PLATFORM = 'armclang'
EXEC_PATH = r'D:/Keil_v5'
elif CROSS_TOOL == 'iar':
PLATFORM = 'iar'
@@ -63,7 +63,7 @@ if PLATFORM == 'gcc':
POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
-elif PLATFORM == 'armcc':
+elif PLATFORM == 'armclang':
# toolchains
CC = 'armclang'
AS = 'armasm'
@@ -90,6 +90,7 @@ elif PLATFORM == 'armcc':
CFLAGS += ' -gdwarf-3 -O1'
POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
+
elif PLATFORM == 'iar':
# toolchains
CC = 'iccarm'
diff --git a/bsp/gd32e230k-start/rtconfig.py b/bsp/gd32e230k-start/rtconfig.py
index 8356fe0c9c..7f466916bb 100644
--- a/bsp/gd32e230k-start/rtconfig.py
+++ b/bsp/gd32e230k-start/rtconfig.py
@@ -14,7 +14,7 @@ if CROSS_TOOL == 'gcc':
PLATFORM = 'gcc'
EXEC_PATH = r'D:/toolchain/gnu_tools_arm_embedded/5.4_2016q3/bin'
elif CROSS_TOOL == 'keil':
- PLATFORM = 'armcc'
+ PLATFORM = 'armclang'
EXEC_PATH = r'C:/Keil_v5'
elif CROSS_TOOL == 'iar':
PLATFORM = 'iar'
@@ -53,29 +53,37 @@ if PLATFORM == 'gcc':
POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
-elif PLATFORM == 'armcc':
+elif PLATFORM == 'armclang':
# toolchains
- CC = 'armcc'
+ CC = 'armclang'
+ CXX = 'armclang'
AS = 'armasm'
AR = 'armar'
LINK = 'armlink'
TARGET_EXT = 'axf'
- DEVICE = ' --cpu Cortex-M23'
- CFLAGS = DEVICE + ' --apcs=interwork'
- AFLAGS = DEVICE
- LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rtthread-gd32.map --scatter gd32_rom.sct'
+ DEVICE = ' --cpu Cortex-M23 '
+ CFLAGS = ' --target=arm-arm-none-eabi -mcpu=cortex-M23 '
+ CFLAGS += ' -mcpu=cortex-M23 '
+ CFLAGS += ' -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-gd32.map '
+ LFLAGS += r' --strict --scatter "gd32_rom.sct" '
+ CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCLANG/include'
+ LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCLANG/lib'
- LFLAGS += ' --keep *.o(.rti_fn.*) --keep *.o(FSymTab) --keep *.o(VSymTab)'
-
- EXEC_PATH += '/ARM/ARMCC/bin'
- print(EXEC_PATH)
+ EXEC_PATH += '/ARM/ARMCLANG/bin/'
if BUILD == 'debug':
- CFLAGS += ' -g -O0'
+ 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'
diff --git a/bsp/stm32/stm32l552-st-nucleo/rtconfig.py b/bsp/stm32/stm32l552-st-nucleo/rtconfig.py
index 4b4a59c98f..d648bba7b8 100644
--- a/bsp/stm32/stm32l552-st-nucleo/rtconfig.py
+++ b/bsp/stm32/stm32l552-st-nucleo/rtconfig.py
@@ -61,38 +61,6 @@ if PLATFORM == 'gcc':
POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
-elif PLATFORM == 'armcc':
- # toolchains
- CC = 'armcc'
- CXX = 'armcc'
- AS = 'armasm'
- AR = 'armar'
- LINK = 'armlink'
- TARGET_EXT = 'axf'
-
- DEVICE = ' --cpu Cortex-M33.fp '
- CFLAGS = '-c ' + DEVICE + ' --apcs=interwork --c99'
- AFLAGS = DEVICE + ' --apcs=interwork '
- LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rt-thread.map --strict --scatter "board\linker_scripts\link.sct"'
- CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCC/include'
- LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCC/lib'
-
- CFLAGS += ' -D__MICROLIB '
- AFLAGS += ' --pd "__MICROLIB SETA 1" '
- LFLAGS += ' --library_type=microlib '
- EXEC_PATH += '/ARM/ARMCC/bin/'
-
- if BUILD == 'debug':
- CFLAGS += ' -g -O0'
- AFLAGS += ' -g'
- else:
- CFLAGS += ' -O2'
-
- CXXFLAGS = CFLAGS
- CFLAGS += ' -std=c99'
-
- POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
-
elif PLATFORM == 'armclang':
# toolchains
CC = 'armclang'
diff --git a/bsp/stm32/stm32u575-st-nucleo/rtconfig.py b/bsp/stm32/stm32u575-st-nucleo/rtconfig.py
index e402f5a8bc..b14888b024 100644
--- a/bsp/stm32/stm32u575-st-nucleo/rtconfig.py
+++ b/bsp/stm32/stm32u575-st-nucleo/rtconfig.py
@@ -61,38 +61,6 @@ if PLATFORM == 'gcc':
POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
-elif PLATFORM == 'armcc':
- # toolchains
- CC = 'armcc'
- CXX = 'armcc'
- AS = 'armasm'
- AR = 'armar'
- LINK = 'armlink'
- TARGET_EXT = 'axf'
-
- DEVICE = ' --cpu Cortex-M33.fp '
- CFLAGS = '-c ' + DEVICE + ' --apcs=interwork --c99'
- AFLAGS = DEVICE + ' --apcs=interwork '
- LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rt-thread.map --strict --scatter "board\linker_scripts\link.sct"'
- CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCC/include'
- LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCC/lib'
-
- CFLAGS += ' -D__MICROLIB '
- AFLAGS += ' --pd "__MICROLIB SETA 1" '
- LFLAGS += ' --library_type=microlib '
- EXEC_PATH += '/ARM/ARMCC/bin/'
-
- if BUILD == 'debug':
- CFLAGS += ' -g -O0'
- AFLAGS += ' -g'
- else:
- CFLAGS += ' -O2'
-
- CXXFLAGS = CFLAGS
- CFLAGS += ' -std=c99'
-
- POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
-
elif PLATFORM == 'armclang':
# toolchains
CC = 'armclang'