diff --git a/software/common/retarget/retarget.c b/software/common/retarget/retarget.c index 5a9ed20fc23809fcae9389d5e88c2cda3b773a62..2a22749ca7b6da28468eb0d8d6770d5da2fc6e53 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 bd79e16568d09e92dea319119ba589faa1777263..1ccd11db6a10ec619163d9a544e91e77a90de74c 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 05ce772a70174163c1d07e20524e9e2f09fdfded..53fa671462032512573af831a336d4ca0d2bbd1b 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 b2d677d6d055f14dfcf5c9cb461ab9c94ff19ec1..769087f98e7214fd308410ac420aadf60bb63917 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 f0fd6a6d4dd446337e78b001d0f6a5c573ba9cb4..0d9f5b294f318357fe5adf91f4401ba50913fdf7 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 e4221b47dc54a3016e544492829be0141d02ec0b..910b7f3b758e90b7671e1d0b4cb56eaecaa756ae 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 5fa5656cc52bff72366155cd2d46dfbbd8486dc2..2c4fe3625fdfd7585c55c513767a59509f5fe222 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 2f63c9a75a83380c88183d07c1114a4b6ca238fa..7d431dda0b84795034e22f4ce86325c99e3aa9d8 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 06606c5e0c36fae8c1efb068d35797f7d40cc1a8..1ae3ef6ee10ce0cca260b5a5e1b70518cfeee0bf 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 e12935a66438e43a5c15df4d4806ff271572aecb..d89ff48e25973e1779715a78145137a86bee38ac 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 58c8a1bb2a79e1390ad9cca73a7a20d94a1b3cbe..f15bdf2d66e84841e527ebf1f5605c6ddacc825d 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 9a749ca7dfcc787b9e02e0b005e1f85b6db7bb75..b7ae56c7917e3545f68b348e2d9dd352e81b9873 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 64db24a940b1c3d5f40b0edfde56a3f7aa425c05..8405729188aabb34e0d61983e5cc3b8eefe09d7f 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 b94024562e4be1d234137beeef64cad7986845d6..ed22349abe6206496b9b47d7ef9cac9f97ac40b2 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 582465a2581c81d02452d107d301649ab125c121..e3f943a2d3647564624f9caf2a732d8b6a3a07f5 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 6c248cbf6b561ee17eca2e289d2a45f4b38bed09..24be631b5b7bf6d8f758ae39573f6fe882ff2475 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 28356e0fa8b2280dd670404c70ca5affcecc4e32..359af0ab37451e687e3d47b41be4dd6556c50a32 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 87114132ea870160dfff94a1ef6e02e767104843..c73df473563b25e93ed8b99004fbe047b4ce5cd8 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 b1edfa2aac5c3042f7d4074268169d758a34cb73..27bba512d903e3a7e98307e725a1a2f1c6097362 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 512c921f0c817ef7465f92ebbbf81943b8fb1807..d518805489e3fcd0fcee0e5cd34df2af05b5f6ad 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 f9124916371b7f794372d6dc8a43d48c5058fdc4..b7fe70bdb02cca370d34b5f4d91145440aff6cec 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 411a0d391301b1b9fa30627c6b5bf5e3685559be..8c29814cd33ad4113784c3e5d9423e09c495774f 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 7ed138e029d5ad776bf642ecb4cfb8fe3263b87a..c7dc8133422fd5f9a61adff17f89281d3e4a9010 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 492bc2712c8ab9036a0eaab1a0af496327a8948b..a87910bd36fa69d97e6a0d72ab3aad5b7b8622a9 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 304643b8e31de3a9be1131fe729b689e9a2af0d6..445af9cfa36ce5a1b87298caf26384ab7a4dd5b0 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 12163f7ff96a112916f71f514eb50de873191318..8b9f7e469f07b0c06ce866fa3f2a231d9e4c4fa9 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 $@