From 2381b6523de0a1428dcc4af3d785ad3840be7a8b Mon Sep 17 00:00:00 2001 From: Daniel Newbrook <dwn1c21@soton.ac.uk> Date: Wed, 25 Oct 2023 22:11:02 +0100 Subject: [PATCH] Add DS6 initial support, still needs refinement --- software/common/retarget/retarget.c | 7 ++- software/common/validation/dma350_tests.c | 4 +- software/debug_tester/Makefile | 45 ++++++++++++----- .../debug_tester/retarget_cmsdk_debugtester.c | 7 ++- testcodes/apb_mux_tests/makefile | 42 ++++++++++++---- testcodes/bootloader/makefile | 2 +- testcodes/debug_tests/makefile | 47 +++++++++++++----- testcodes/default_slaves_tests/makefile | 42 ++++++++++++---- testcodes/dhry/makefile | 47 +++++++++++++----- testcodes/dma350_tests/makefile | 48 ++++++++++++++----- testcodes/dma_tests/makefile | 42 ++++++++++++---- testcodes/dualtimer_demo/makefile | 42 ++++++++++++---- testcodes/gpio_driver_tests/makefile | 44 +++++++++++++---- testcodes/gpio_tests/makefile | 42 ++++++++++++---- testcodes/hello/makefile | 42 ++++++++++++---- testcodes/interrupt_demo/makefile | 44 +++++++++++++---- testcodes/memory_tests/makefile | 44 +++++++++++++---- testcodes/romtable_tests/makefile | 48 ++++++++++++++----- testcodes/rtx_demo/makefile | 12 ++++- testcodes/self_reset_demo/makefile | 42 ++++++++++++---- testcodes/sleep_demo/makefile | 44 +++++++++++++---- testcodes/timer_driver_tests/makefile | 44 +++++++++++++---- testcodes/timer_tests/makefile | 42 ++++++++++++---- testcodes/uart_driver_tests/makefile | 44 +++++++++++++---- testcodes/uart_tests/makefile | 42 ++++++++++++---- testcodes/watchdog_demo/makefile | 42 ++++++++++++---- 26 files changed, 734 insertions(+), 217 deletions(-) diff --git a/software/common/retarget/retarget.c b/software/common/retarget/retarget.c index 5a9ed20..2a22749 100644 --- a/software/common/retarget/retarget.c +++ b/software/common/retarget/retarget.c @@ -23,7 +23,7 @@ */ -#if defined ( __CC_ARM ) +#if defined ( __CC_ARM ) || defined (__ARMCC_VERSION) /******************************************************************************/ /* Retarget functions for ARM DS-5 Professional / Keil MDK */ /******************************************************************************/ @@ -31,8 +31,11 @@ #include <stdio.h> #include <time.h> #include <rt_misc.h> +#if defined ( __CC_ARM ) #pragma import(__use_no_semihosting_swi) - +#else +__asm(".global __use_no_semihosting"); +#endif extern unsigned char UartGetc(void); extern unsigned char UartPutc(unsigned char my_ch); struct __FILE { int handle; /* Add whatever you need here */ }; diff --git a/software/common/validation/dma350_tests.c b/software/common/validation/dma350_tests.c index bd79e16..1ccd11d 100644 --- a/software/common/validation/dma350_tests.c +++ b/software/common/validation/dma350_tests.c @@ -454,7 +454,7 @@ int main(void) { AdaDesSwTrigInReq(BLOCK,ch,SECURE); uint8_t timeout=0; - uint8_t i = 0; + uint32_t i = 0; uint8_t ch_enabled = 1; while (ch_enabled == 1 && timeout==0) { ch_enabled = AdaGetEnable(ch, SECURE); @@ -656,7 +656,7 @@ void HardFault_Handler(void) " ldr r1,=HardFault_Handler_c \n" " bx r1\n" ".pool\n" ); -}} +} #endif /* C part of the fault handler - common between ARM / Keil /gcc */ diff --git a/software/debug_tester/Makefile b/software/debug_tester/Makefile index 05ce772..53fa671 100644 --- a/software/debug_tester/Makefile +++ b/software/debug_tester/Makefile @@ -37,6 +37,7 @@ # 2. __FPU_PRESENT variable in header file (e.g. CMSDK_CM4.h) is set to 1 CPU_PRODUCT = CORTEX_M0 +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = ../ CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -48,7 +49,11 @@ ifeq ($(CPU_PRODUCT),CORTEX_M0_DS) DEVICE_DIR = $(CMSIS_DIR)/Device/ARM/CMSDK_CM0 STARTUP_FILE = startup_CMSDK_CM0 USER_DEFINE = -DCORTEX_M0 - ARM_CPU_TYPE = --cpu=Cortex-M0 + ifeq ($(TOOL_CHAIN),ds6) + ARM_CPU_TYPE = -mcpu=Cortex-M0 + else + ARM_CPU_TYPE = --cpu=Cortex-M0 + endif GCC_CPU_TYPE = -mcpu=cortex-m0 GCC_LINKER_SCRIPT = $(GCC_LINKER_SCRIPT_PATH)/debugtester.ld endif @@ -56,7 +61,11 @@ ifeq ($(CPU_PRODUCT),CORTEX_M0) DEVICE_DIR = $(CMSIS_DIR)/Device/ARM/CMSDK_CM0 STARTUP_FILE = startup_CMSDK_CM0 USER_DEFINE = -DCORTEX_M0 - ARM_CPU_TYPE = --cpu=Cortex-M0 + ifeq ($(TOOL_CHAIN),ds6) + ARM_CPU_TYPE = -mcpu=Cortex-M0 + else + ARM_CPU_TYPE = --cpu=Cortex-M0 + endif GCC_CPU_TYPE = -mcpu=cortex-m0 GCC_LINKER_SCRIPT = $(GCC_LINKER_SCRIPT_PATH)/debugtester.ld endif @@ -108,11 +117,20 @@ TOOL_CHAIN = ds5 # --------------------------------------------------------------------------------------- # DS-5 options +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif # MicroLIB option (DS-5) COMPILE_MICROLIB = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime -I $(CORE_DIR) -I $(DEVICE_DIR)/Include \ +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g -I $(CORE_DIR) -I $(DEVICE_DIR)/Include \ -I $(SOFTWARE_DIR)/common/retarget $(USER_DEFINE) ARM_ASM_OPTIONS = -g @@ -132,9 +150,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy # The optimisation level for the GCC compiler should be fixed at -01 or the results can # cause unpredictable results for the debugtester behaviour. @@ -146,18 +164,19 @@ all: all_$(TOOL_CHAIN) # --------------------------------------------------------------------------------------- # DS-5 all_ds5 : $(DEBUGTESTER)_le.hex $(DEBUGTESTER)_be.hex $(DEBUGTESTER)_le.lst $(DEBUGTESTER)_be.lst +all_ds6 : $(DEBUGTESTER)_le.hex $(DEBUGTESTER)_be.hex $(DEBUGTESTER)_le.lst $(DEBUGTESTER)_be.lst debugtester_le.o : debugtester.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(ARM_CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(ARM_CPU_TYPE) $< -o $@ system_cmsdk_debugtester_le.o : system_cmsdk_debugtester.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(ARM_CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(ARM_CPU_TYPE) $< -o $@ retarget_cmsdk_debugtester_le.o : retarget_cmsdk_debugtester.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(ARM_CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(ARM_CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(DEVICE_DIR)/Source/ARM/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(ARM_CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(ARM_CPU_TYPE) $< -o $@ $(DEBUGTESTER)_le.elf : $(DEBUGTESTER)_le.o $(STARTUP_FILE).o system_cmsdk_debugtester_le.o retarget_cmsdk_debugtester_le.o armlink $(ARM_LINK_OPTIONS) $(DEBUGTESTER)_le.o $(STARTUP_FILE).o system_cmsdk_debugtester_le.o retarget_cmsdk_debugtester_le.o -o $@ @@ -169,13 +188,13 @@ $(DEBUGTESTER)_le.lst : $(DEBUGTESTER)_le.elf fromelf -c -d -e -s $< --output $@ debugtester_be.o : debugtester.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS_BE) $(ARM_CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS_BE) $(ARM_CPU_TYPE) $< -o $@ system_cmsdk_debugtester_be.o : system_cmsdk_debugtester.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS_BE) $(ARM_CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS_BE) $(ARM_CPU_TYPE) $< -o $@ retarget_cmsdk_debugtester_be.o : retarget_cmsdk_debugtester.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS_BE) $(ARM_CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS_BE) $(ARM_CPU_TYPE) $< -o $@ $(DEBUGTESTER)_be.elf : $(DEBUGTESTER)_be.o $(STARTUP_FILE).o system_cmsdk_debugtester_be.o retarget_cmsdk_debugtester_be.o armlink $(ARM_LINK_OPTIONS) $(DEBUGTESTER)_be.o $(STARTUP_FILE).o system_cmsdk_debugtester_be.o retarget_cmsdk_debugtester_be.o -o $@ diff --git a/software/debug_tester/retarget_cmsdk_debugtester.c b/software/debug_tester/retarget_cmsdk_debugtester.c index b2d677d..769087f 100644 --- a/software/debug_tester/retarget_cmsdk_debugtester.c +++ b/software/debug_tester/retarget_cmsdk_debugtester.c @@ -37,7 +37,7 @@ void debugtester_char_write(int ch) } -#if defined ( __CC_ARM ) +#if defined ( __CC_ARM ) || defined (__ARMCC_VERSION) /******************************************************************************/ /* Retarget functions for ARM DS-5 Professional / Keil MDK */ /******************************************************************************/ @@ -45,8 +45,11 @@ void debugtester_char_write(int ch) #include <stdio.h> #include <time.h> #include <rt_misc.h> +#if defined ( __CC_ARM ) #pragma import(__use_no_semihosting_swi) - +#else +__asm(".global __use_no_semihosting"); +#endif struct __FILE { int handle; /* Add whatever you need here */ }; FILE __stdout; FILE __stdin; diff --git a/testcodes/apb_mux_tests/makefile b/testcodes/apb_mux_tests/makefile index f0fd6a6..0d9f5b2 100644 --- a/testcodes/apb_mux_tests/makefile +++ b/testcodes/apb_mux_tests/makefile @@ -31,6 +31,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0PLUS +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -69,6 +70,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -82,6 +91,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -104,7 +117,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime -I $(DEVICE_DIR)/Include -I $(CORE_DIR) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g -I $(DEVICE_DIR)/Include -I $(CORE_DIR) \ -I $(SOFTWARE_DIR)/common/retarget $(USER_DEFINE) ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -132,9 +155,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -153,21 +176,22 @@ all: all_$(TOOL_CHAIN) # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/validation/$(TESTNAME).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o diff --git a/testcodes/bootloader/makefile b/testcodes/bootloader/makefile index e4221b4..910b7f3 100644 --- a/testcodes/bootloader/makefile +++ b/testcodes/bootloader/makefile @@ -138,7 +138,7 @@ else ARM_TARGET = -Otime endif -ARM_CC_OPTIONS = $(ARM_TARGET) -c -O3 -g -I $(DEVICE_DIR)/Include -I $(CORE_DIR) $(USER_DEFINE) +ARM_CC_OPTIONS = $(ARM_TARGET) -c -O1 -g -I $(DEVICE_DIR)/Include -I $(CORE_DIR) $(USER_DEFINE) ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ diff --git a/testcodes/debug_tests/makefile b/testcodes/debug_tests/makefile index 5fa5656..2c4fe36 100644 --- a/testcodes/debug_tests/makefile +++ b/testcodes/debug_tests/makefile @@ -31,6 +31,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0 +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -69,6 +70,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -82,6 +91,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -107,7 +120,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime $(USER_DEFINE) -I $(GENERIC_DIR) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g $(USER_DEFINE) -I $(GENERIC_DIR) \ -I $(DEVICE_DIR)/Include -I $(CORE_DIR) -I $(SOFTWARE_DIR)/common/retarget \ -I $(SOFTWARE_DIR)/debug_tester ARM_ASM_OPTIONS = -g @@ -137,9 +160,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -157,27 +180,29 @@ all: all_$(TOOL_CHAIN) # --------------------------------------------------------------------------------------- # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst + $(TESTNAME).o : $(SOFTWARE_DIR)/common/debug_tests/$(TESTNAME).c $(SOFTWARE_DIR)/common/debug_tests/$(TESTNAME).h $(GENERIC_FILE) $(SOFTWARE_DIR)/debug_tester/debugtester_functions.h $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ mcu_debugtester_interface.o : $(GENERIC_DIR)/mcu_debugtester_interface.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ CMSDK_driver.o : $(DEVICE_DIR)/Source/CMSDK_driver.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF: $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o CMSDK_driver.o mcu_debugtester_interface.o armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o CMSDK_driver.o mcu_debugtester_interface.o diff --git a/testcodes/default_slaves_tests/makefile b/testcodes/default_slaves_tests/makefile index 2f63c9a..7d431dd 100644 --- a/testcodes/default_slaves_tests/makefile +++ b/testcodes/default_slaves_tests/makefile @@ -30,6 +30,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0PLUS +TARGET = arm-none-eabi # Shared software directory # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software @@ -69,6 +70,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -82,6 +91,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -104,7 +117,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime $(USER_DEFINE) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g $(USER_DEFINE) \ -I $(DEVICE_DIR)/Include -I $(CORE_DIR) -I $(SOFTWARE_DIR)/common/retarget ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -132,9 +155,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -153,21 +176,22 @@ all: all_$(TOOL_CHAIN) # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/validation/$(TESTNAME).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o diff --git a/testcodes/dhry/makefile b/testcodes/dhry/makefile index 06606c5..1ae3ef6 100644 --- a/testcodes/dhry/makefile +++ b/testcodes/dhry/makefile @@ -30,6 +30,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0PLUS +TARGET = arm-none-eabi # Shared software directory # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software @@ -56,7 +57,6 @@ else endif DEPS_LIST = makefile -DHRY_ARMCC_OPTION = -Ono_inline --no_inline --no_multifile -Oloopref # Tool chain : ds5 / gcc / keil TOOL_CHAIN = ds5 @@ -69,6 +69,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -82,6 +90,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -104,7 +116,19 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c + DHRY_ARMCC_OPTION = -fno-inline +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime + DHRY_ARMCC_OPTION = -Ono_inline --no_inline --no_multifile -Oloopref +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g \ -I $(CORE_DIR) -I $(DEVICE_DIR)/Include -I $(SOFTWARE_DIR)/common/retarget \ -I $(SOFTWARE_DIR)/common/dhry \ $(DHRY_ARMCC_OPTION) $(USER_DEFINE) @@ -135,9 +159,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -156,24 +180,25 @@ all: all_$(TOOL_CHAIN) # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst dhry_1.o : $(SOFTWARE_DIR)/common/dhry/dhry_1.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ dhry_2.o : $(SOFTWARE_DIR)/common/dhry/dhry_2.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : dhry_1.o dhry_2.o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o diff --git a/testcodes/dma350_tests/makefile b/testcodes/dma350_tests/makefile index e12935a..d89ff48 100644 --- a/testcodes/dma350_tests/makefile +++ b/testcodes/dma350_tests/makefile @@ -29,8 +29,9 @@ # Choose the core instantiated, can be # - CORTEX_M0 # - CORTEX_M0PLUS -CPU_PRODUCT = CORTEX_M0PLUS +CPU_PRODUCT = CORTEX_M0 +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -70,6 +71,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -83,6 +92,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -108,9 +121,19 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c --c99 -O3 -g -Ospace -I $(DEVICE_DIR)/Include -I $(CORE_DIR) -I $(GENERIC_DIR) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime --c99 +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g -I $(DEVICE_DIR)/Include -I $(CORE_DIR) -I $(GENERIC_DIR) \ -I $(SOFTWARE_DIR)/common/retarget -I $(SOFTWARE_DIR)/drivers $(USER_DEFINE) -ARM_CC_OPTIONS_DRIVER = -c --c99 -O3 -Ospace -I $(DEVICE_DIR)/Include -I $(CORE_DIR) -I $(GENERIC_DIR) \ +ARM_CC_OPTIONS_DRIVER = $(ARM_TARGET) -c -I $(DEVICE_DIR)/Include -I $(CORE_DIR) -I $(GENERIC_DIR) \ -I $(SOFTWARE_DIR)/common/retarget -I $(SOFTWARE_DIR)/drivers $(USER_DEFINE) ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -138,9 +161,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -158,24 +181,25 @@ all: all_$(TOOL_CHAIN) # --------------------------------------------------------------------------------------- # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/validation/$(TESTNAME).c $(GENERIC_FILE) $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ dma_350_driver.o : $(SOFTWARE_DIR)/drivers/dma_350_command_lib.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS_DRIVER) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS_DRIVER) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o dma_350_driver.o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o dma_350_driver.o diff --git a/testcodes/dma_tests/makefile b/testcodes/dma_tests/makefile index 58c8a1b..f15bdf2 100644 --- a/testcodes/dma_tests/makefile +++ b/testcodes/dma_tests/makefile @@ -30,6 +30,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0PLUS +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -68,6 +69,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -81,6 +90,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -106,7 +119,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime $(USER_DEFINE) -I $(GENERIC_DIR) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g $(USER_DEFINE) -I $(GENERIC_DIR) \ -I $(DEVICE_DIR)/Include -I $(CORE_DIR) -I $(SOFTWARE_DIR)/common/retarget ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -134,9 +157,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -155,21 +178,22 @@ all: all_$(TOOL_CHAIN) # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/validation/$(TESTNAME).c $(GENERIC_FILE) $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o diff --git a/testcodes/dualtimer_demo/makefile b/testcodes/dualtimer_demo/makefile index 9a749ca..b7ae56c 100644 --- a/testcodes/dualtimer_demo/makefile +++ b/testcodes/dualtimer_demo/makefile @@ -31,6 +31,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0PLUS +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -68,6 +69,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -81,6 +90,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -103,7 +116,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime -I $(DEVICE_DIR)/Include -I $(CORE_DIR) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g -I $(DEVICE_DIR)/Include -I $(CORE_DIR) \ -I $(SOFTWARE_DIR)/common/retarget $(USER_DEFINE) ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -132,9 +155,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -152,21 +175,22 @@ all: all_$(TOOL_CHAIN) # --------------------------------------------------------------------------------------- # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/demos/$(TESTNAME).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o armlink $(ARM_LINK_OPTIONS) $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o -o $@ diff --git a/testcodes/gpio_driver_tests/makefile b/testcodes/gpio_driver_tests/makefile index 64db24a..8405729 100644 --- a/testcodes/gpio_driver_tests/makefile +++ b/testcodes/gpio_driver_tests/makefile @@ -31,6 +31,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0PLUS +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -68,6 +69,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -81,6 +90,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -103,7 +116,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime $(USER_DEFINE) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g $(USER_DEFINE) \ -I $(DEVICE_DIR)/Include -I $(CORE_DIR) -I $(SOFTWARE_DIR)/common/retarget ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -131,9 +154,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -152,24 +175,25 @@ all: all_$(TOOL_CHAIN) # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/validation/$(TESTNAME).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ CMSDK_driver.o : $(DEVICE_DIR)/Source/CMSDK_driver.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o CMSDK_driver.o armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o CMSDK_driver.o diff --git a/testcodes/gpio_tests/makefile b/testcodes/gpio_tests/makefile index b940245..ed22349 100644 --- a/testcodes/gpio_tests/makefile +++ b/testcodes/gpio_tests/makefile @@ -31,6 +31,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0PLUS +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -69,6 +70,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -82,6 +91,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -104,7 +117,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime $(USER_DEFINE) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g $(USER_DEFINE) \ -I $(DEVICE_DIR)/Include -I $(CORE_DIR) -I $(SOFTWARE_DIR)/common/retarget ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -132,9 +155,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -153,21 +176,22 @@ all: all_$(TOOL_CHAIN) # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/validation/$(TESTNAME).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o diff --git a/testcodes/hello/makefile b/testcodes/hello/makefile index 582465a..e3f943a 100644 --- a/testcodes/hello/makefile +++ b/testcodes/hello/makefile @@ -31,6 +31,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0 +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -68,6 +69,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -81,6 +90,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -109,7 +122,18 @@ COMPILE_SMALLMUL = 0 #ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ # --rw_base 0x30000000 --ro_base 0x00000000 --map --info sizes -ARM_CC_OPTIONS = -c -O3 -Ospace -I $(DEVICE_DIR)/Include -I $(CORE_DIR) \ + +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -I $(DEVICE_DIR)/Include -I $(CORE_DIR) \ -I $(SOFTWARE_DIR)/common/retarget $(USER_DEFINE) ARM_ASM_OPTIONS = ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -137,9 +161,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -160,19 +184,19 @@ all_ds5 : $(TESTNAME).hex $(TESTNAME).lst all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(TESTNAME).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o armlink $(ARM_LINK_OPTIONS) $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o -o $@ diff --git a/testcodes/interrupt_demo/makefile b/testcodes/interrupt_demo/makefile index 6c248cb..24be631 100644 --- a/testcodes/interrupt_demo/makefile +++ b/testcodes/interrupt_demo/makefile @@ -31,6 +31,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0PLUS +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -68,6 +69,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -81,6 +90,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -103,7 +116,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime $(USER_DEFINE) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g $(USER_DEFINE) \ -I $(DEVICE_DIR)/Include -I $(CORE_DIR) -I $(SOFTWARE_DIR)/common/retarget ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -131,9 +154,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -152,24 +175,25 @@ all: all_$(TOOL_CHAIN) # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/demos/$(TESTNAME).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ CMSDK_driver.o : $(DEVICE_DIR)/Source/CMSDK_driver.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o CMSDK_driver.o armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o CMSDK_driver.o diff --git a/testcodes/memory_tests/makefile b/testcodes/memory_tests/makefile index 28356e0..359af0a 100644 --- a/testcodes/memory_tests/makefile +++ b/testcodes/memory_tests/makefile @@ -29,8 +29,9 @@ # Choose the core instantiated, can be # - CORTEX_M0 # - CORTEX_M0PLUS -CPU_PRODUCT = CORTEX_M0PLUS +CPU_PRODUCT = CORTEX_M0 +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -69,6 +70,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -82,6 +91,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -104,7 +117,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime $(USER_DEFINE) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g $(USER_DEFINE) \ -I $(DEVICE_DIR)/Include -I $(CORE_DIR) -I $(SOFTWARE_DIR)/common/retarget ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -132,9 +155,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -153,21 +176,22 @@ all: all_$(TOOL_CHAIN) # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/validation/$(TESTNAME).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o diff --git a/testcodes/romtable_tests/makefile b/testcodes/romtable_tests/makefile index 8711413..c73df47 100644 --- a/testcodes/romtable_tests/makefile +++ b/testcodes/romtable_tests/makefile @@ -29,8 +29,9 @@ # Choose the core instantiated, can be # - CORTEX_M0 # - CORTEX_M0PLUS -CPU_PRODUCT = CORTEX_M0PLUS +CPU_PRODUCT = CORTEX_M0 +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -69,6 +70,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -82,6 +91,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -107,7 +120,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime -I $(CORE_DIR) -I $(DEVICE_DIR)/Include -I $(GENERIC_DIR) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g -I $(CORE_DIR) -I $(DEVICE_DIR)/Include -I $(GENERIC_DIR) \ -I $(SOFTWARE_DIR)/common/retarget -I $(SOFTWARE_DIR)/debug_tester $(USER_DEFINE) ARM_ASM_OPTIONS = -g @@ -137,9 +160,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -157,27 +180,28 @@ all: all_$(TOOL_CHAIN) # --------------------------------------------------------------------------------------- # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/romtable_tests/$(TESTNAME).c $(SOFTWARE_DIR)/common/romtable_tests/$(TESTNAME).h $(GENERIC_FILE) $(SOFTWARE_DIR)/debug_tester/debugtester_functions.h $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ mcu_debugtester_interface.o : $(GENERIC_DIR)/mcu_debugtester_interface.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ CMSDK_driver.o : $(DEVICE_DIR)/Source/CMSDK_driver.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF: $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o CMSDK_driver.o mcu_debugtester_interface.o armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o CMSDK_driver.o mcu_debugtester_interface.o diff --git a/testcodes/rtx_demo/makefile b/testcodes/rtx_demo/makefile index b1edfa2..27bba51 100644 --- a/testcodes/rtx_demo/makefile +++ b/testcodes/rtx_demo/makefile @@ -29,6 +29,8 @@ # Tool chain : ds5 / gcc / keil TOOL_CHAIN = ds5 +TARGET = arm-none-eabi + TESTNAME = rtx_demo CPU_PRODUCT = CORTEX_M0PLUS @@ -61,7 +63,15 @@ all_ds5 : hexfile_select echo "Please compile RTX demo in Keil MDK and press ENTER when ready" ; \ read dummy ; \ fi - + +all_ds6 : hexfile_select + @if [ -e $(TESTNAME).hex ] ; then \ + echo "Found rtx_demo.hex ... use existing hex file. Continue ..." ; \ + else \ + echo "RTX demo compilation not available for DS-5." ; \ + echo "Please compile RTX demo in Keil MDK and press ENTER when ready" ; \ + read dummy ; \ + fi # --------------------------------------------------------------------------------------- # gcc # diff --git a/testcodes/self_reset_demo/makefile b/testcodes/self_reset_demo/makefile index 512c921..d518805 100644 --- a/testcodes/self_reset_demo/makefile +++ b/testcodes/self_reset_demo/makefile @@ -31,6 +31,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0PLUS +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -69,6 +70,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -82,6 +91,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -104,7 +117,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime -I $(CORE_DIR) -I $(DEVICE_DIR)/Include \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g -I $(CORE_DIR) -I $(DEVICE_DIR)/Include \ -I $(SOFTWARE_DIR)/common/retarget $(USER_DEFINE) ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -133,9 +156,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -153,21 +176,22 @@ all: all_$(TOOL_CHAIN) # --------------------------------------------------------------------------------------- # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/demos/$(TESTNAME).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o armlink $(ARM_LINK_OPTIONS) $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o -o $@ diff --git a/testcodes/sleep_demo/makefile b/testcodes/sleep_demo/makefile index f912491..b7fe70b 100644 --- a/testcodes/sleep_demo/makefile +++ b/testcodes/sleep_demo/makefile @@ -31,6 +31,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0PLUS +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -69,6 +70,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -82,6 +91,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -104,7 +117,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime $(USER_DEFINE) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g $(USER_DEFINE) \ -I $(DEVICE_DIR)/Include -I $(CORE_DIR) -I $(SOFTWARE_DIR)/common/retarget ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -132,9 +155,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -153,24 +176,25 @@ all: all_$(TOOL_CHAIN) # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/demos/$(TESTNAME).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ CMSDK_driver.o : $(DEVICE_DIR)/Source/CMSDK_driver.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o CMSDK_driver.o armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o CMSDK_driver.o diff --git a/testcodes/timer_driver_tests/makefile b/testcodes/timer_driver_tests/makefile index 411a0d3..8c29814 100644 --- a/testcodes/timer_driver_tests/makefile +++ b/testcodes/timer_driver_tests/makefile @@ -31,6 +31,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0PLUS +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -68,6 +69,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -81,6 +90,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -103,7 +116,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime $(USER_DEFINE) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g $(USER_DEFINE) \ -I $(DEVICE_DIR)/Include -I $(CORE_DIR) -I $(SOFTWARE_DIR)/common/retarget ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -131,9 +154,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -152,24 +175,25 @@ all: all_$(TOOL_CHAIN) # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/validation/$(TESTNAME).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ CMSDK_driver.o : $(DEVICE_DIR)/Source/CMSDK_driver.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o CMSDK_driver.o armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o CMSDK_driver.o diff --git a/testcodes/timer_tests/makefile b/testcodes/timer_tests/makefile index 7ed138e..c7dc813 100644 --- a/testcodes/timer_tests/makefile +++ b/testcodes/timer_tests/makefile @@ -31,6 +31,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0PLUS +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -68,6 +69,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -81,6 +90,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -103,7 +116,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime $(USER_DEFINE) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g $(USER_DEFINE) \ -I $(DEVICE_DIR)/Include -I $(CORE_DIR) -I $(SOFTWARE_DIR)/common/retarget ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -131,9 +154,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -152,21 +175,22 @@ all: all_$(TOOL_CHAIN) # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/validation/$(TESTNAME).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o diff --git a/testcodes/uart_driver_tests/makefile b/testcodes/uart_driver_tests/makefile index 492bc27..a87910b 100644 --- a/testcodes/uart_driver_tests/makefile +++ b/testcodes/uart_driver_tests/makefile @@ -31,6 +31,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0PLUS +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -68,6 +69,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -81,6 +90,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -103,7 +116,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime $(USER_DEFINE) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g $(USER_DEFINE) \ -I $(DEVICE_DIR)/Include -I $(CORE_DIR) -I $(SOFTWARE_DIR)/common/retarget ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -131,9 +154,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -152,24 +175,25 @@ all: all_$(TOOL_CHAIN) # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/validation/$(TESTNAME).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ CMSDK_driver.o : $(DEVICE_DIR)/Source/CMSDK_driver.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o CMSDK_driver.o armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o CMSDK_driver.o diff --git a/testcodes/uart_tests/makefile b/testcodes/uart_tests/makefile index 304643b..445af9c 100644 --- a/testcodes/uart_tests/makefile +++ b/testcodes/uart_tests/makefile @@ -31,6 +31,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0PLUS +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -68,6 +69,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -82,6 +91,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -104,7 +117,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime $(USER_DEFINE) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g $(USER_DEFINE) \ -I $(DEVICE_DIR)/Include -I $(CORE_DIR) -I $(SOFTWARE_DIR)/common/retarget ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -132,9 +155,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -153,21 +176,22 @@ all: all_$(TOOL_CHAIN) # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/validation/$(TESTNAME).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o diff --git a/testcodes/watchdog_demo/makefile b/testcodes/watchdog_demo/makefile index 12163f7..8b9f7e4 100644 --- a/testcodes/watchdog_demo/makefile +++ b/testcodes/watchdog_demo/makefile @@ -31,6 +31,7 @@ # - CORTEX_M0PLUS CPU_PRODUCT = CORTEX_M0PLUS +TARGET = arm-none-eabi # Shared software directory SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software CMSIS_DIR = $(SOFTWARE_DIR)/cmsis @@ -68,6 +69,14 @@ ifeq ($(TOOL_CHAIN),ds5) endif endif +ifeq ($(TOOL_CHAIN),ds6) + ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) + CPU_TYPE = -mcpu=Cortex-M0plus + else + CPU_TYPE = -mcpu=Cortex-M0 + endif +endif + ifeq ($(TOOL_CHAIN),gcc) ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS) CPU_TYPE = -mcpu=cortex-m0plus @@ -81,6 +90,10 @@ ifeq ($(TOOL_CHAIN),ds5) STARTUP_DIR = $(DEVICE_DIR)/Source/ARM endif +ifeq ($(TOOL_CHAIN),ds6) + STARTUP_DIR = $(DEVICE_DIR)/Source/ARM +endif + # Startup code directory for gcc ifeq ($(TOOL_CHAIN),gcc) STARTUP_DIR = $(DEVICE_DIR)/Source/GCC @@ -103,7 +116,17 @@ COMPILE_MICROLIB = 0 # Small Multiply (Cortex-M0/M0+ has small multiplier option) COMPILE_SMALLMUL = 0 -ARM_CC_OPTIONS = -c -O3 -g -Otime -I $(DEVICE_DIR)/Include -I $(CORE_DIR) \ +ifeq ($(TOOL_CHAIN),ds6) + ARM_TARGET = --target=arm-$(TARGET) + CC_TOOL = armclang -O1 + ASM_TOOL = armclang -masm=armasm $(ARM_TARGET) -c +else + CC_TOOL = armcc -O3 + ASM_TOOL = armasm + ARM_TARGET = -Otime +endif + +ARM_CC_OPTIONS = $(ARM_TARGET) -c -g -I $(DEVICE_DIR)/Include -I $(CORE_DIR) \ -I $(SOFTWARE_DIR)/common/retarget $(USER_DEFINE) ARM_ASM_OPTIONS = -g ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \ @@ -131,9 +154,9 @@ endif # --------------------------------------------------------------------------------------- # gcc options -GNG_CC = arm-none-eabi-gcc -GNU_OBJDUMP = arm-none-eabi-objdump -GNU_OBJCOPY = arm-none-eabi-objcopy +GNG_CC = $(TARGET)-gcc +GNU_OBJDUMP = $(TARGET)-objdump +GNU_OBJCOPY = $(TARGET)-objcopy LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld @@ -151,21 +174,22 @@ all: all_$(TOOL_CHAIN) # --------------------------------------------------------------------------------------- # DS-5 all_ds5 : $(TESTNAME).hex $(TESTNAME).lst +all_ds6 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).o : $(SOFTWARE_DIR)/common/demos/$(TESTNAME).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST) - armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ + $(CC_TOOL) $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@ $(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST) - armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ + $(ASM_TOOL) $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o $@ $(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o armlink $(ARM_LINK_OPTIONS) $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o -o $@ -- GitLab