Add EFM32GG config to Makefile, correct pins

This commit is contained in:
Mikael Berg 2015-12-18 15:01:42 +01:00
parent fcb5bd821f
commit b364ada261
3 changed files with 111 additions and 36 deletions

139
Makefile
View File

@ -37,7 +37,7 @@
# NRF51822DK=1
# NRF52832DK=1 # Ultra low power BLE (bluetooth low energy) enabled SoC. Arm Cortex-M4f processor. With NFC (near field communication).
# CARAMBOLA=1
# DPTBOARD=1 # DPTechnics IoT development board with BlueCherry.io IoT platform integration and DPT-WEB IDE.
# DPTBOARD=1 # DPTechnics IoT development board with BlueCherry.io IoT platform integration and DPT-WEB IDE.
# RASPBERRYPI=1
# BEAGLEBONE=1
# ARIETTA=1
@ -51,6 +51,7 @@
# MINISTM32_ANGLED_VG=1
# ESP8266_BOARD=1 # ESP8266
# EMW3165 # MXCHIP EMW3165: STM32F411CE, BCM43362, 512KB flash 128KB RAM
# EFM32GGSTK=1
# Or nothing for standard linux compile
#
# Also:
@ -167,6 +168,13 @@ STLIB=STM32F401xE
PRECOMPILED_OBJS+=$(ROOT)/targetlibs/stm32f4/lib/startup_stm32f401xx.o
OPTIMIZEFLAGS+=-Os
else ifdef EFM32GGSTK
EMBEDDED=1
#USE_DFU=1
DEFINES+= -DEFM32GG990F1024
BOARD=EFM32GGSTK
OPTIMIZEFLAGS+=-Os
else ifdef OLIMEXINO_STM32
EMBEDDED=1
SAVE_ON_FLASH=1
@ -529,7 +537,7 @@ endif
ifdef RASPBERRYPI
EMBEDDED=1
BOARD=RASPBERRYPI
DEFINES += -DRASPBERRYPI
DEFINES += -DRASPBERRYPI
LINUX=1
USE_FILESYSTEM=1
USE_GRAPHICS=1
@ -861,7 +869,7 @@ libs/network/network.c \
libs/network/socketserver.c \
libs/network/socketerrors.c
#
#
WRAPPERSOURCES += libs/network/js/jswrap_jsnetwork.c
INCLUDE += -I$(ROOT)/libs/network/js
SOURCES += \
@ -964,7 +972,7 @@ endif
ifdef USE_WIRINGPI
DEFINES += -DUSE_WIRINGPI
LIBS += -lwiringPi
INCLUDE += -I/usr/local/include -L/usr/local/lib
INCLUDE += -I/usr/local/include -L/usr/local/lib
endif
ifdef USE_BLUETOOTH
@ -1065,11 +1073,11 @@ targetlibs/stm32f1/lib/stm32f10x_tim.c \
targetlibs/stm32f1/lib/stm32f10x_usart.c \
targetlibs/stm32f1/lib/stm32f10x_wwdg.c \
targetlibs/stm32f1/lib/system_stm32f10x.c
#targetlibs/stm32f1/lib/stm32f10x_cec.c
#targetlibs/stm32f1/lib/stm32f10x_crc.c
#targetlibs/stm32f1/lib/stm32f10x_dbgmcu.c
#targetlibs/stm32f1/lib/stm32f10x_fsmc.c
#targetlibs/stm32f1/lib/stm32f10x_cec.c
#targetlibs/stm32f1/lib/stm32f10x_crc.c
#targetlibs/stm32f1/lib/stm32f10x_dbgmcu.c
#targetlibs/stm32f1/lib/stm32f10x_fsmc.c
ifdef USB
STM32_LEGACY_USB=1
@ -1127,7 +1135,7 @@ ifdef WICED_XXX
DEFINES += -DNETWORK_LwIP=1 -DLwIP_VERSION=\"v1.4.0.rc1\"
DEFINES += -DRTOS_FreeRTOS=1 -DconfigUSE_MUTEXES -DconfigUSE_RECURSIVE_MUTEXES
DEFINES += -DFreeRTOS_VERSION=\"v7.5.2\" -DWWD_DIRECT_RESOURCES -DHSE_VALUE=26000000
INCLUDE +=
INCLUDE +=
endif
STM32=1
INCLUDE += -I$(ROOT)/targetlibs/stm32f4 -I$(ROOT)/targetlibs/stm32f4/lib
@ -1153,19 +1161,19 @@ targetlibs/stm32f4/lib/stm32f4xx_tim.c \
targetlibs/stm32f4/lib/stm32f4xx_usart.c \
targetlibs/stm32f4/lib/stm32f4xx_wwdg.c \
targetlibs/stm32f4/lib/system_stm32f4xx.c
#targetlibs/stm32f4/lib/stm32f4xx_cryp_aes.c
#targetlibs/stm32f4/lib/stm32f4xx_dcmi.c
#targetlibs/stm32f4/lib/stm32f4xx_dma2d.c
#targetlibs/stm32f4/lib/stm32f4xx_can.c
#targetlibs/stm32f4/lib/stm32f4xx_cryp_des.c
#targetlibs/stm32f4/lib/stm32f4xx_cryp_tdes.c
#targetlibs/stm32f4/lib/stm32f4xx_cryp.c
#targetlibs/stm32f4/lib/stm32f4xx_hash.c
#targetlibs/stm32f4/lib/stm32f4xx_hash_md5.c
#targetlibs/stm32f4/lib/stm32f4xx_hash_sha1.c
#targetlibs/stm32f4/lib/stm32f4xx_ltdc.c
#targetlibs/stm32f4/lib/stm32f4xx_rng.c
#targetlibs/stm32f4/lib/stm32f4xx_sai.c
#targetlibs/stm32f4/lib/stm32f4xx_cryp_aes.c
#targetlibs/stm32f4/lib/stm32f4xx_dcmi.c
#targetlibs/stm32f4/lib/stm32f4xx_dma2d.c
#targetlibs/stm32f4/lib/stm32f4xx_can.c
#targetlibs/stm32f4/lib/stm32f4xx_cryp_des.c
#targetlibs/stm32f4/lib/stm32f4xx_cryp_tdes.c
#targetlibs/stm32f4/lib/stm32f4xx_cryp.c
#targetlibs/stm32f4/lib/stm32f4xx_hash.c
#targetlibs/stm32f4/lib/stm32f4xx_hash_md5.c
#targetlibs/stm32f4/lib/stm32f4xx_hash_sha1.c
#targetlibs/stm32f4/lib/stm32f4xx_ltdc.c
#targetlibs/stm32f4/lib/stm32f4xx_rng.c
#targetlibs/stm32f4/lib/stm32f4xx_sai.c
#targetlibs/stm32f4/lib/stm324xx_fsmc.c
ifdef USB
STM32_USB=1
@ -1179,7 +1187,7 @@ ifdef STM32_USB
SOURCES += \
targetlibs/stm32usb/Src/stm32f4xx_ll_usb.c \
targetlibs/stm32usb/Src/stm32f4xx_hal_pcd.c \
targetlibs/stm32usb/Src/stm32f4xx_hal_pcd_ex.c
targetlibs/stm32usb/Src/stm32f4xx_hal_pcd_ex.c
INCLUDE += -I$(ROOT)/targetlibs/stm32usb -I$(ROOT)/targetlibs/stm32usb/Inc
SOURCES += \
@ -1219,13 +1227,13 @@ targetlibs/stm32legacyusb/legacy_usb.c
endif #USB
ifeq ($(FAMILY), NRF51)
NRF5X=1
NRF5X_SDK_PATH=$(ROOT)/targetlibs/nrf5x/nrf51_sdk
# ARCHFLAGS are shared by both CFLAGS and LDFLAGS.
ARCHFLAGS = -mcpu=cortex-m0 -mthumb -mabi=aapcs -mfloat-abi=soft # Use nRF51 makefiles provided in SDK as reference.
# nRF51 specific. Main differences in SDK structure are softdevice, uart, delay...
INCLUDE += -I$(NRF5X_SDK_PATH)/components/softdevice/s110/headers
SOURCES += $(NRF5X_SDK_PATH)/components/toolchain/system_nrf51.c \
@ -1237,19 +1245,19 @@ ifeq ($(FAMILY), NRF51)
LINKER_RAM:=$(shell python scripts/get_board_info.py $(BOARD) "board.chip['ram']")
LINKER_FILE = $(NRF5X_SDK_PATH)/components/toolchain/gcc/linker_nrf51_ble_espruino_$(LINKER_RAM).ld
SOFTDEVICE = targetlibs/nrf5x/softdevice/s110_nrf51_8.0.0_softdevice.hex
endif # FAMILY == NRF51
ifeq ($(FAMILY), NRF52)
NRF5X=1
NRF5X_SDK_PATH=$(ROOT)/targetlibs/nrf5x/nrf52_sdk
# ARCHFLAGS are shared by both CFLAGS and LDFLAGS.
ARCHFLAGS = -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfloat-abi=hard -mfpu=fpv4-sp-d16 # Use nRF52 makefiles provided in SDK as reference.
# nRF52 specific... Different structure from nRF51 SDK for both delay and uart.
INCLUDE += -I$(NRF5X_SDK_PATH)/components/softdevice/s132/headers
INCLUDE += -I$(NRF5X_SDK_PATH)/components/softdevice/s132/headers/nrf52
@ -1268,16 +1276,83 @@ ifeq ($(FAMILY), NRF52)
endif #FAMILY == NRF52
ifeq ($(FAMILY), EFM32GG)
GECKO_SDK_PATH=$(ROOT)/targetlibs/Gecko_SDK
CFLAGS += -Wno-sign-conversion -Wno-conversion -Wno-unused-parameter
ARM = 1
#ARM_HAS_OWN_CMSIS = 1
INCLUDE += -I$(ROOT)/targets/efm32
SOURCES += \
targets/efm32/main.c \
targets/efm32/jshardware.c
INCLUDE += -I$(GECKO_SDK_PATH)/Device/SiliconLabs/EFM32GG/Include
INCLUDE += -I$(GECKO_SDK_PATH)/emdrv/nvm/inc
INCLUDE += -I$(GECKO_SDK_PATH)/emdrv/rtcdrv/inc
INCLUDE += -I$(GECKO_SDK_PATH)/emdrv/common/inc
INCLUDE += -I$(GECKO_SDK_PATH)/emlib/inc
SOURCES += \
$(GECKO_SDK_PATH)/Device/SiliconLabs/EFM32GG/Source/GCC/startup_efm32gg.c \
$(GECKO_SDK_PATH)/Device/SiliconLabs/EFM32GG/Source/system_efm32gg.c \
$(GECKO_SDK_PATH)/emdrv/rtcdrv/src/rtcdriver.c \
$(GECKO_SDK_PATH)/emlib/src/em_assert.c \
$(GECKO_SDK_PATH)/emlib/src/em_cmu.c \
$(GECKO_SDK_PATH)/emlib/src/em_emu.c \
$(GECKO_SDK_PATH)/emlib/src/em_gpio.c \
$(GECKO_SDK_PATH)/emlib/src/em_msc.c \
$(GECKO_SDK_PATH)/emlib/src/em_rtc.c \
$(GECKO_SDK_PATH)/emlib/src/em_system.c \
$(GECKO_SDK_PATH)/emlib/src/em_timer.c \
$(GECKO_SDK_PATH)/emlib/src/em_usart.c \
# $(GECKO_SDK_PATH)/emdrv/nvm/src/nvm.c \
# $(GECKO_SDK_PATH)/emdrv/nvm/src/nvm_hal.c \
# $(GECKO_SDK_PATH)/emlib/src/em_acmp.c \
# $(GECKO_SDK_PATH)/emlib/src/em_adc.c \
# $(GECKO_SDK_PATH)/emlib/src/em_aes.c \
# $(GECKO_SDK_PATH)/emlib/src/em_burtc.c \
# $(GECKO_SDK_PATH)/emlib/src/em_crc.c \
# $(GECKO_SDK_PATH)/emlib/src/em_cryotimer.c \
# $(GECKO_SDK_PATH)/emlib/src/em_crypto.c \
# $(GECKO_SDK_PATH)/emlib/src/em_dac.c \
# $(GECKO_SDK_PATH)/emlib/src/em_dbg.c \
# $(GECKO_SDK_PATH)/emlib/src/em_dma.c \
# $(GECKO_SDK_PATH)/emlib/src/em_ebi.c \
# $(GECKO_SDK_PATH)/emlib/src/em_i2c.c \
# $(GECKO_SDK_PATH)/emlib/src/em_idac.c \
# $(GECKO_SDK_PATH)/emlib/src/em_int.c \
# $(GECKO_SDK_PATH)/emlib/src/em_lcd.c \
# $(GECKO_SDK_PATH)/emlib/src/em_ldma.c \
# $(GECKO_SDK_PATH)/emlib/src/em_lesense.c \
# $(GECKO_SDK_PATH)/emlib/src/em_letimer.c \
# $(GECKO_SDK_PATH)/emlib/src/em_leuart.c \
# $(GECKO_SDK_PATH)/emlib/src/em_mpu.c \
# $(GECKO_SDK_PATH)/emlib/src/em_opamp.c \
# $(GECKO_SDK_PATH)/emlib/src/em_pcnt.c \
# $(GECKO_SDK_PATH)/emlib/src/em_prs.c \
# $(GECKO_SDK_PATH)/emlib/src/em_rmu.c \
# $(GECKO_SDK_PATH)/emlib/src/em_rtcc.c \
# $(GECKO_SDK_PATH)/emlib/src/em_vcmp.c \
# $(GECKO_SDK_PATH)/emlib/src/em_wdog.c
endif #FAMILY == EFM32
ifdef NRF5X
# Just try and get rid of the compile warnings
CFLAGS += -Wno-sign-conversion -Wno-conversion -Wno-unused-parameter
DEFINES += -DBLUETOOTH
ARM = 1
ARM_HAS_OWN_CMSIS = 1 # Nordic uses its own CMSIS files in its SDK, these are up-to-date.
INCLUDE += -I$(ROOT)/targetlibs/nrf5x -I$(NRF5X_SDK_PATH)
TEMPLATE_PATH = $(ROOT)/targetlibs/nrf5x # This is where common linker for both nRF51 & nRF52 is stored.
LDFLAGS += -L$(TEMPLATE_PATH)

View File

@ -1,3 +1,3 @@
Name,Alternate,Additional
PC0,TTa,USART1_TX
PC1,TTa,USART1_RX
PD0,TTa,USART1_TX
PD1,TTa,USART1_RX

1 Name Alternate Additional
2 PC0 PD0 TTa USART1_TX
3 PC1 PD1 TTa USART1_RX

View File

@ -1,3 +1,3 @@
Name,Function,af1,af2,af3,af4,af5
PC0,ACMP0_CH0,DAC0_OUT0ALT,OPAMP_OUT0ALT,EBI_A23,TIM0_CC1,PCNT0_S0IN,USART0_TX,USART1_TX,I2C0_SDA,LES_CH0,PRS_CH2
PC1,ACMP0_CH1,ACMP0_CH1,DAC0_OUT0ALT,OPAMP_OUT0ALT,EBI_A24,TIM0_CC2,PCNT0_S1IN,US0_RX,USART1_RX,I2C0_SCL,LES_CH1,PRS_CH3
PD0,ACMP0_CH0,DAC0_OUT0ALT,OPAMP_OUT0ALT,EBI_A23,TIM0_CC1,PCNT0_S0IN,USART0_TX,USART1_TX,I2C0_SDA,LES_CH0,PRS_CH2
PD1,ACMP0_CH1,ACMP0_CH1,DAC0_OUT0ALT,OPAMP_OUT0ALT,EBI_A24,TIM0_CC2,PCNT0_S1IN,US0_RX,USART1_RX,I2C0_SCL,LES_CH1,PRS_CH3

1 Name,Function,af1,af2,af3,af4,af5
2 PC0,ACMP0_CH0,DAC0_OUT0ALT,OPAMP_OUT0ALT,EBI_A23,TIM0_CC1,PCNT0_S0IN,USART0_TX,USART1_TX,I2C0_SDA,LES_CH0,PRS_CH2 PD0,ACMP0_CH0,DAC0_OUT0ALT,OPAMP_OUT0ALT,EBI_A23,TIM0_CC1,PCNT0_S0IN,USART0_TX,USART1_TX,I2C0_SDA,LES_CH0,PRS_CH2
3 PC1,ACMP0_CH1,ACMP0_CH1,DAC0_OUT0ALT,OPAMP_OUT0ALT,EBI_A24,TIM0_CC2,PCNT0_S1IN,US0_RX,USART1_RX,I2C0_SCL,LES_CH1,PRS_CH3 PD1,ACMP0_CH1,ACMP0_CH1,DAC0_OUT0ALT,OPAMP_OUT0ALT,EBI_A24,TIM0_CC2,PCNT0_S1IN,US0_RX,USART1_RX,I2C0_SCL,LES_CH1,PRS_CH3