diff options
| author | Supper Thomas <[email protected]> | 2025-02-16 22:02:42 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-02-16 22:02:42 +0800 |
| commit | 5b3320624da5149fc21c2d3e1f321d855e3d0dfe (patch) | |
| tree | 6132995c8750c420b5d3d94686c8e21a4915ba0b | |
| parent | c40b79037ce8bb09ba95411ebee1b22631cf9027 (diff) | |
[src/ktime] fix the bug when use keil AC6 and open RT_USING_HOOKLIST … (#9993)
* [src/ktime] fix the bug when use keil AC6 and open RT_USING_HOOKLIST and RT_USING_KTIME
| -rw-r--r-- | bsp/stm32/stm32h750-artpi/rtconfig.py | 4 | ||||
| -rw-r--r-- | components/drivers/ktime/SConscript | 7 | ||||
| -rw-r--r-- | src/SConscript | 6 |
3 files changed, 14 insertions, 3 deletions
diff --git a/bsp/stm32/stm32h750-artpi/rtconfig.py b/bsp/stm32/stm32h750-artpi/rtconfig.py index fa67b76941..81c7b3bca0 100644 --- a/bsp/stm32/stm32h750-artpi/rtconfig.py +++ b/bsp/stm32/stm32h750-artpi/rtconfig.py @@ -19,13 +19,13 @@ if CROSS_TOOL == 'gcc': PLATFORM = 'gcc' EXEC_PATH = r'/opt/gcc-arm-none-eabi/bin/' elif CROSS_TOOL == 'keil': - PLATFORM = 'armcc' + PLATFORM = 'armclang' #KEIL AC6 EXEC_PATH = r'C:/Keil_v5' 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'): +if os.getenv('RTT_EXEC_PATH') and (CROSS_TOOL == 'gcc'): EXEC_PATH = os.getenv('RTT_EXEC_PATH') BUILD = 'debug' diff --git a/components/drivers/ktime/SConscript b/components/drivers/ktime/SConscript index 6eedb84818..3fb3139025 100644 --- a/components/drivers/ktime/SConscript +++ b/components/drivers/ktime/SConscript @@ -13,7 +13,12 @@ if rtconfig.ARCH in list: else: src += Glob("src/" + rtconfig.ARCH + "/*.c") CPPPATH = [cwd, cwd + "/inc"] +LOCAL_CCFLAGS = '' +if rtconfig.PLATFORM in ['gcc', 'armclang']: + LOCAL_CCFLAGS += ' -std=gnu99' +elif rtconfig.PLATFORM in ['armcc']: + LOCAL_CCFLAGS += ' --c99 --gnu' -group = DefineGroup('ktime', src, depend=['RT_USING_KTIME'], CPPPATH=CPPPATH) +group = DefineGroup('ktime', src, depend=['RT_USING_KTIME'], CPPPATH=CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS) Return('group') diff --git a/src/SConscript b/src/SConscript index 8407e6ef18..93b8e8e3f3 100644 --- a/src/SConscript +++ b/src/SConscript @@ -44,6 +44,12 @@ if rtconfig.PLATFORM in ['gcc']: # only for GCC if rtconfig.ARCH not in ['sim']: LINKFLAGS += ' -Wl,--gc-sections,--print-memory-usage' # remove unused sections and print memory usage +if GetDepend('RT_USING_HOOKLIST') == True: + if rtconfig.PLATFORM in ['gcc', 'armclang']: + LOCAL_CFLAGS += ' -std=gnu99' + elif rtconfig.PLATFORM in ['armcc']: + LOCAL_CFLAGS += ' --c99 --gnu' + group = DefineGroup('Kernel', src, depend=[''], CPPPATH=inc, LINKFLAGS=LINKFLAGS, LOCAL_CFLAGS=LOCAL_CFLAGS, CPPDEFINES=['__RTTHREAD__'], LOCAL_CPPDEFINES=['__RT_KERNEL_SOURCE__']) |
