CDY version that shares functionality with Counter

Dependencies:   SDFileSystem_HelloWorld mbed FATFileSystem

Revision:
0:aa13e1c335cd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile	Sun Nov 04 18:44:51 2018 -0700
@@ -0,0 +1,368 @@
+# This file was automagically generated by mbed.org. For more information, 
+# see http://mbed.org/handbook/Exporting-to-GCC-ARM-Embedded
+
+###############################################################################
+# Boiler-plate
+
+# cross-platform directory manipulation
+ifeq ($(shell echo $$OS),$$OS)
+    MAKEDIR = if not exist "$(1)" mkdir "$(1)"
+    RM = rmdir /S /Q "$(1)"
+else
+    MAKEDIR = '$(SHELL)' -c "mkdir -p \"$(1)\""
+    RM = '$(SHELL)' -c "rm -rf \"$(1)\""
+endif
+
+OBJDIR := BUILD
+# Move to the build directory
+ifeq (,$(filter $(OBJDIR),$(notdir $(CURDIR))))
+.SUFFIXES:
+mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
+MAKETARGET = '$(MAKE)' --no-print-directory -C $(OBJDIR) -f '$(mkfile_path)' \
+		'SRCDIR=$(CURDIR)' $(MAKECMDGOALS)
+.PHONY: $(OBJDIR) clean
+all:
+	+@$(call MAKEDIR,$(OBJDIR))
+	+@$(MAKETARGET)
+$(OBJDIR): all
+Makefile : ;
+% :: $(OBJDIR) ; :
+clean :
+	$(call RM,$(OBJDIR))
+
+else
+
+# trick rules into thinking we are in the root, when we are in the bulid dir
+VPATH = ..
+
+# Boiler-plate
+###############################################################################
+# Project settings
+
+PROJECT := 000_GEO_SHOW2ME_OK_F411RE
+
+
+# Project settings
+###############################################################################
+# Objects and Paths
+
+OBJECTS += QEI/QEI.o
+OBJECTS += SDFileSystem/FATFileSystem/ChaN/ccsbcs.o
+OBJECTS += SDFileSystem/FATFileSystem/ChaN/diskio.o
+OBJECTS += SDFileSystem/FATFileSystem/ChaN/ff.o
+OBJECTS += SDFileSystem/FATFileSystem/FATDirHandle.o
+OBJECTS += SDFileSystem/FATFileSystem/FATFileHandle.o
+OBJECTS += SDFileSystem/FATFileSystem/FATFileSystem.o
+OBJECTS += SDFileSystem/SDFileSystem.o
+OBJECTS += ST7565_LCD/ST7565_LCD.o
+OBJECTS += main.o
+
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_flash_ramfunc.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/PeripheralPins.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/analogin_api.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/analogout_api.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/can_api.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/cmain.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/cmsis_nvic.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/gpio_api.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/gpio_irq_api.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/hal_init_pre.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/hal_tick_16b.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/hal_tick_32b.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/i2c_api.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/lp_ticker.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/mbed_board.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/mbed_overrides.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/pinmap.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/port_api.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/pwmout_api.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/retarget.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/rtc_api.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/serial_api.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/sleep.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/spi_api.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/startup_stm32f411xe.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_adc.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_adc_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_can.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_cec.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_cortex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_crc.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_cryp.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_cryp_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_dac.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_dac_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_dcmi.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_dcmi_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_dfsdm.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_dma.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_dma2d.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_dma_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_dsi.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_eth.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_flash.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_flash_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_fmpi2c_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_fmpi2c.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_msp_template.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_gpio.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_hash.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_hash_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_hcd.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_i2c.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_i2c_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_i2s.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_i2s_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_irda.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_iwdg.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_lptim.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_ltdc.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_ltdc_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_smartcard.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_nand.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_nor.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_pccard.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_pcd.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_pcd_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_pwr.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_pwr_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_qspi.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_rcc.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_rcc_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_rng.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_rtc.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_rtc_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_sai.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_sai_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_sd.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_sdram.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_spdifrx.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_spi.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_sram.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_tim.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_tim_ex.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_uart.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_usart.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_hal_wwdg.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_ll_fmc.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_ll_fsmc.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_ll_sdmmc.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f4xx_ll_usb.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm_spi_api.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/system_stm32f4xx.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/trng_api.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/us_ticker_16b.o
+ SYS_OBJECTS += mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/us_ticker_32b.o
+
+INCLUDE_PATHS += -I../
+INCLUDE_PATHS += -I../.
+INCLUDE_PATHS += -I../QEI
+INCLUDE_PATHS += -I../SDFileSystem
+INCLUDE_PATHS += -I../SDFileSystem/FATFileSystem
+INCLUDE_PATHS += -I../SDFileSystem/FATFileSystem/ChaN
+INCLUDE_PATHS += -I../ST7565_LCD
+INCLUDE_PATHS += -I../mbed/.
+INCLUDE_PATHS += -I../mbed/TARGET_NUCLEO_F411RE
+INCLUDE_PATHS += -I../mbed/TARGET_NUCLEO_F411RE/TARGET_STM
+INCLUDE_PATHS += -I../mbed/TARGET_NUCLEO_F411RE/TARGET_STM/TARGET_STM32F4
+INCLUDE_PATHS += -I../mbed/TARGET_NUCLEO_F411RE/TARGET_STM/TARGET_STM32F4/TARGET_STM32F411xE
+INCLUDE_PATHS += -I../mbed/TARGET_NUCLEO_F411RE/TARGET_STM/TARGET_STM32F4/TARGET_STM32F411xE/TARGET_NUCLEO_F411RE
+INCLUDE_PATHS += -I../mbed/TARGET_NUCLEO_F411RE/TARGET_STM/TARGET_STM32F4/TARGET_STM32F411xE/device
+INCLUDE_PATHS += -I../mbed/TARGET_NUCLEO_F411RE/TARGET_STM/TARGET_STM32F4/device
+INCLUDE_PATHS += -I../mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR
+INCLUDE_PATHS += -I../mbed/drivers
+INCLUDE_PATHS += -I../mbed/hal
+INCLUDE_PATHS += -I../mbed/platform
+
+LIBRARY_PATHS := -L../mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR 
+LIBRARIES := -lmbed 
+LINKER_SCRIPT ?= ../mbed/TARGET_NUCLEO_F411RE/TOOLCHAIN_IAR/stm32f411xe.icf
+
+# Objects and Paths
+###############################################################################
+# Tools and Flags
+
+AS      = 'iasmarm' '--cpu' 'Cortex-M4F'
+CC      = 'iccarm' '--no_wrap_diagnostics' '-e' '--diag_suppress=Pa050,Pa084,Pa093,Pa082' '-Oh' '--enable_restrict' '--cpu' 'Cortex-M4F' '--thumb' '--dlib_config' 'DLib_Config_Full.h' '--vla'
+CPP     = 'iccarm' '--no_wrap_diagnostics' '-e' '--diag_suppress=Pa050,Pa084,Pa093,Pa082' '-Oh' '--enable_restrict' '--cpu' 'Cortex-M4F' '--thumb' '--dlib_config' 'DLib_Config_Full.h' '--c++' '--no_rtti' '--no_exceptions' '--guard_calls' '--no_static_destruction'
+LD      = 'ilinkarm'
+ELF2BIN = 'ielftool'
+
+
+
+C_FLAGS += --vla
+C_FLAGS += -DMBED_BUILD_TIMESTAMP=1535436231.0
+C_FLAGS += -D__MBED__=1
+C_FLAGS += -DDEVICE_I2CSLAVE=1
+C_FLAGS += -DTARGET_LIKE_MBED
+C_FLAGS += -DDEVICE_PORTOUT=1
+C_FLAGS += -DUSBHOST_OTHER
+C_FLAGS += -DDEVICE_PORTINOUT=1
+C_FLAGS += -DTARGET_RTOS_M4_M7
+C_FLAGS += -DDEVICE_LOWPOWERTIMER=1
+C_FLAGS += -DDEVICE_RTC=1
+C_FLAGS += -DTOOLCHAIN_object
+C_FLAGS += -DDEVICE_SERIAL_ASYNCH=1
+C_FLAGS += -DTARGET_STM32F4
+C_FLAGS += -D__CMSIS_RTOS
+C_FLAGS += -D__CORTEX_M4
+C_FLAGS += -DDEVICE_I2C_ASYNCH=1
+C_FLAGS += -DTARGET_CORTEX_M
+C_FLAGS += -DTARGET_LIKE_CORTEX_M4
+C_FLAGS += -DTARGET_M4
+C_FLAGS += -DTARGET_UVISOR_UNSUPPORTED
+C_FLAGS += -DDEVICE_SPI_ASYNCH=1
+C_FLAGS += -DTARGET_STM32F411xE
+C_FLAGS += -DTOOLCHAIN_IAR
+C_FLAGS += -DDEVICE_INTERRUPTIN=1
+C_FLAGS += -DTARGET_CORTEX
+C_FLAGS += -DDEVICE_I2C=1
+C_FLAGS += -DTRANSACTION_QUEUE_SIZE_SPI=2
+C_FLAGS += -DTARGET_NUCLEO_F411RE
+C_FLAGS += -DDEVICE_STDIO_MESSAGES=1
+C_FLAGS += -DDEVICE_SERIAL=1
+C_FLAGS += -DTARGET_FF_MORPHO
+C_FLAGS += -D__FPU_PRESENT=1
+C_FLAGS += -DTARGET_FF_ARDUINO
+C_FLAGS += -DDEVICE_PORTIN=1
+C_FLAGS += -DTARGET_RELEASE
+C_FLAGS += -DTARGET_STM
+C_FLAGS += -DDEVICE_SERIAL_FC=1
+C_FLAGS += -D__MBED_CMSIS_RTOS_CM
+C_FLAGS += -DDEVICE_SLEEP=1
+C_FLAGS += -DDEVICE_SPI=1
+C_FLAGS += -DUSB_STM_HAL
+C_FLAGS += -DDEVICE_ERROR_RED=1
+C_FLAGS += -DDEVICE_SPISLAVE=1
+C_FLAGS += -DDEVICE_ANALOGIN=1
+C_FLAGS += -DDEVICE_PWMOUT=1
+C_FLAGS += -DTARGET_STM32F411RE
+C_FLAGS += -DARM_MATH_CM4
+C_FLAGS += --preinclude=mbed_config.h
+
+CXX_FLAGS += --guard_calls
+CXX_FLAGS += --no_static_destruction
+CXX_FLAGS += -DMBED_BUILD_TIMESTAMP=1535436231.0
+CXX_FLAGS += -D__MBED__=1
+CXX_FLAGS += -DDEVICE_I2CSLAVE=1
+CXX_FLAGS += -DTARGET_LIKE_MBED
+CXX_FLAGS += -DDEVICE_PORTOUT=1
+CXX_FLAGS += -DUSBHOST_OTHER
+CXX_FLAGS += -DDEVICE_PORTINOUT=1
+CXX_FLAGS += -DTARGET_RTOS_M4_M7
+CXX_FLAGS += -DDEVICE_LOWPOWERTIMER=1
+CXX_FLAGS += -DDEVICE_RTC=1
+CXX_FLAGS += -DTOOLCHAIN_object
+CXX_FLAGS += -DDEVICE_SERIAL_ASYNCH=1
+CXX_FLAGS += -DTARGET_STM32F4
+CXX_FLAGS += -D__CMSIS_RTOS
+CXX_FLAGS += -D__CORTEX_M4
+CXX_FLAGS += -DDEVICE_I2C_ASYNCH=1
+CXX_FLAGS += -DTARGET_CORTEX_M
+CXX_FLAGS += -DTARGET_LIKE_CORTEX_M4
+CXX_FLAGS += -DTARGET_M4
+CXX_FLAGS += -DTARGET_UVISOR_UNSUPPORTED
+CXX_FLAGS += -DDEVICE_SPI_ASYNCH=1
+CXX_FLAGS += -DTARGET_STM32F411xE
+CXX_FLAGS += -DTOOLCHAIN_IAR
+CXX_FLAGS += -DDEVICE_INTERRUPTIN=1
+CXX_FLAGS += -DTARGET_CORTEX
+CXX_FLAGS += -DDEVICE_I2C=1
+CXX_FLAGS += -DTRANSACTION_QUEUE_SIZE_SPI=2
+CXX_FLAGS += -DTARGET_NUCLEO_F411RE
+CXX_FLAGS += -DDEVICE_STDIO_MESSAGES=1
+CXX_FLAGS += -DDEVICE_SERIAL=1
+CXX_FLAGS += -DTARGET_FF_MORPHO
+CXX_FLAGS += -D__FPU_PRESENT=1
+CXX_FLAGS += -DTARGET_FF_ARDUINO
+CXX_FLAGS += -DDEVICE_PORTIN=1
+CXX_FLAGS += -DTARGET_RELEASE
+CXX_FLAGS += -DTARGET_STM
+CXX_FLAGS += -DDEVICE_SERIAL_FC=1
+CXX_FLAGS += -D__MBED_CMSIS_RTOS_CM
+CXX_FLAGS += -DDEVICE_SLEEP=1
+CXX_FLAGS += -DDEVICE_SPI=1
+CXX_FLAGS += -DUSB_STM_HAL
+CXX_FLAGS += -DDEVICE_ERROR_RED=1
+CXX_FLAGS += -DDEVICE_SPISLAVE=1
+CXX_FLAGS += -DDEVICE_ANALOGIN=1
+CXX_FLAGS += -DDEVICE_PWMOUT=1
+CXX_FLAGS += -DTARGET_STM32F411RE
+CXX_FLAGS += -DARM_MATH_CM4
+CXX_FLAGS += --preinclude=mbed_config.h
+
+ASM_FLAGS += -DTRANSACTION_QUEUE_SIZE_SPI=2
+ASM_FLAGS += -D__CORTEX_M4
+ASM_FLAGS += -DUSB_STM_HAL
+ASM_FLAGS += -DARM_MATH_CM4
+ASM_FLAGS += -D__FPU_PRESENT=1
+ASM_FLAGS += -DUSBHOST_OTHER
+ASM_FLAGS += -D__MBED_CMSIS_RTOS_CM
+ASM_FLAGS += -D__CMSIS_RTOS
+
+
+LD_FLAGS :=--skip_dynamic_initialization --threaded_lib 
+LD_SYS_LIBS := 
+
+# Tools and Flags
+###############################################################################
+# Rules
+
+.PHONY: all lst size
+
+
+all: $(PROJECT).bin $(PROJECT).hex size
+
+
+.s.o:
+	+@$(call MAKEDIR,$(dir $@))
+	+@echo "Assemble: $(notdir $<)"
+  
+	@$(AS) -c $(ASM_FLAGS) -o $@ $<
+  
+
+
+.S.o:
+	+@$(call MAKEDIR,$(dir $@))
+	+@echo "Assemble: $(notdir $<)"
+  
+	@$(AS) -c $(ASM_FLAGS) -o $@ $<
+  
+
+.c.o:
+	+@$(call MAKEDIR,$(dir $@))
+	+@echo "Compile: $(notdir $<)"
+	@$(CC) $(C_FLAGS) $(INCLUDE_PATHS) -o $@ $<
+
+.cpp.o:
+	+@$(call MAKEDIR,$(dir $@))
+	+@echo "Compile: $(notdir $<)"
+	@$(CPP) $(CXX_FLAGS) $(INCLUDE_PATHS) -o $@ $<
+
+
+
+
+$(PROJECT).elf: $(OBJECTS) $(SYS_OBJECTS)  $(LINKER_SCRIPT) 
+	+@echo "link: $(notdir $@)"
+	@$(LD) $(LD_FLAGS) --config $(filter-out %.o, $^) $(LIBRARY_PATHS) --output $@ $(filter %.o, $^) $(LIBRARIES) $(LD_SYS_LIBS)
+
+
+$(PROJECT).bin: $(PROJECT).elf
+	$(ELF2BIN) --bin $< $@
+	+@echo "===== bin file ready to flash: $(OBJDIR)/$@ =====" 
+
+$(PROJECT).hex: $(PROJECT).elf
+	$(ELF2BIN) --ihex $< $@
+
+
+# Rules
+###############################################################################
+# Dependencies
+
+DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d)
+-include $(DEPS)
+endif
+
+# Dependencies
+###############################################################################