EFM32

来自Jack's Lab
(版本间的差异)
跳转到: 导航, 搜索
(EFM32ZG)
(EFM32ZG)
第73行: 第73行:
 
* USART1
 
* USART1
 
* LEUART0
 
* LEUART0
 +
 +
 +
 +
'''Peripheral:'''
 +
 +
<source lang=bash>
 +
 +
#define AES_BASE          (0x400E0000UL) /**< AES base address  */
 +
#define DMA_BASE          (0x400C2000UL) /**< DMA base address  */
 +
#define MSC_BASE          (0x400C0000UL) /**< MSC base address  */
 +
#define EMU_BASE          (0x400C6000UL) /**< EMU base address  */
 +
#define RMU_BASE          (0x400CA000UL) /**< RMU base address  */
 +
#define CMU_BASE          (0x400C8000UL) /**< CMU base address  */
 +
#define TIMER0_BASE      (0x40010000UL) /**< TIMER0 base address  */
 +
#define TIMER1_BASE      (0x40010400UL) /**< TIMER1 base address  */
 +
#define ACMP0_BASE        (0x40001000UL) /**< ACMP0 base address  */
 +
#define USART1_BASE      (0x4000C400UL) /**< USART1 base address  */
 +
#define PRS_BASE          (0x400CC000UL) /**< PRS base address  */
 +
#define IDAC0_BASE        (0x40004000UL) /**< IDAC0 base address  */
 +
#define GPIO_BASE        (0x40006000UL) /**< GPIO base address  */
 +
#define VCMP_BASE        (0x40000000UL) /**< VCMP base address  */
 +
#define ADC0_BASE        (0x40002000UL) /**< ADC0 base address  */
 +
#define LEUART0_BASE      (0x40084000UL) /**< LEUART0 base address  */
 +
#define PCNT0_BASE        (0x40086000UL) /**< PCNT0 base address  */
 +
#define I2C0_BASE        (0x4000A000UL) /**< I2C0 base address  */
 +
#define RTC_BASE          (0x40080000UL) /**< RTC base address  */
 +
#define WDOG_BASE        (0x40088000UL) /**< WDOG base address  */
 +
#define CALIBRATE_BASE    (0x0FE08000UL) /**< CALIBRATE base address */
 +
#define DEVINFO_BASE      (0x0FE081B0UL) /**< DEVINFO base address */
 +
#define ROMTABLE_BASE    (0xF00FFFD0UL) /**< ROMTABLE base address */
 +
#define LOCKBITS_BASE    (0x0FE04000UL) /**< Lock-bits page base address */
 +
#define USERDATA_BASE    (0x0FE00000UL) /**< User data page base address */
 +
</source>
  
 
<br>
 
<br>

2019年11月4日 (一) 15:06的版本

目录

1 Overview

1.1 EFM32ZG

  • ARM Cortex-M0+ @ 32bit MCU up to 24 MHz
  • 32/16/8/4 kB flash, 4/2 kB RAM
  • 17 ~ 37 GPIOs
  • USART/SPI/I2S x1, LEUART x1 (no UART), I2C x1, TIMER x2, RTC x1, PCNT x1, WATCHDOG x1, ADC x1, IDAC x1 (no DAC)
  • AES128
  • Super low-power
    • 20 nA @ 3 V Shutoff Mode
    • 0.5 μA @ 3V Stop mode (EM3), with brown-out detection and RAM retention
    • 0.9 μA @ 3V Deep Sleep mode (EM2)
    • 48 μA/MHz @ 3V Sleep mode (EM1)
    • 114 μA/MHz @ 3V Run mode (EM0)
  • Fast wake-up time of 2 µs


Core PinMap:

  • PIN19 --- PF0 --- DBG_SWCLK / BOOT_TX
  • PIN20 --- PF1 --- DBG_SWDIO / BOOT_RX
  • PIN14 --- PD7 --- SCL
  • PIN13 --- PD6 --- SDA


EFM32ZG110-QFN24-pinmap.png

AutoECO-LoRa-Pin.png


  • RST --- PIN18
  • SEL --- PIN6
  • MOSI --- PIN3
  • MISO --- PIN4
  • SCK --- PIN5


Digital Pinmap:

D00 - PA00
D01 - PB07
D02 - PB08
D03 - PB11
D04 - PB13
D05 - PB14

D06 - PC00
D07 - PC01
D08 - PC14
D09 - PC15
D10 - PD06
D11 - PD07

D12 - PE12
D13 - PE13
D14 - PF00
D15 - PF01
D16 - PF02
  • T2_PA0 ---> 10K ---> VBat
  • T2_PA0 ---> Relay_Always_Open ---> GND
  • T2_PIN13_PD6 ---> Dev_Power_Ctrl
  • T2_PIN14_PD7 ---> J2_T ---> 1K ---> T2_PIN17_PC14 (PRS_CH0)
  • T2_PIN2_IOVDD ---> 10K ---> J2_IO


UART:

  • USART1
  • LEUART0


Peripheral:


#define AES_BASE          (0x400E0000UL) /**< AES base address  */
#define DMA_BASE          (0x400C2000UL) /**< DMA base address  */
#define MSC_BASE          (0x400C0000UL) /**< MSC base address  */
#define EMU_BASE          (0x400C6000UL) /**< EMU base address  */
#define RMU_BASE          (0x400CA000UL) /**< RMU base address  */
#define CMU_BASE          (0x400C8000UL) /**< CMU base address  */
#define TIMER0_BASE       (0x40010000UL) /**< TIMER0 base address  */
#define TIMER1_BASE       (0x40010400UL) /**< TIMER1 base address  */
#define ACMP0_BASE        (0x40001000UL) /**< ACMP0 base address  */
#define USART1_BASE       (0x4000C400UL) /**< USART1 base address  */
#define PRS_BASE          (0x400CC000UL) /**< PRS base address  */
#define IDAC0_BASE        (0x40004000UL) /**< IDAC0 base address  */
#define GPIO_BASE         (0x40006000UL) /**< GPIO base address  */
#define VCMP_BASE         (0x40000000UL) /**< VCMP base address  */
#define ADC0_BASE         (0x40002000UL) /**< ADC0 base address  */
#define LEUART0_BASE      (0x40084000UL) /**< LEUART0 base address  */
#define PCNT0_BASE        (0x40086000UL) /**< PCNT0 base address  */
#define I2C0_BASE         (0x4000A000UL) /**< I2C0 base address  */
#define RTC_BASE          (0x40080000UL) /**< RTC base address  */
#define WDOG_BASE         (0x40088000UL) /**< WDOG base address  */
#define CALIBRATE_BASE    (0x0FE08000UL) /**< CALIBRATE base address */
#define DEVINFO_BASE      (0x0FE081B0UL) /**< DEVINFO base address */
#define ROMTABLE_BASE     (0xF00FFFD0UL) /**< ROMTABLE base address */
#define LOCKBITS_BASE     (0x0FE04000UL) /**< Lock-bits page base address */
#define USERDATA_BASE     (0x0FE00000UL) /**< User data page base address */


1.2 EFM32HG

  • ARM Cortex-M+ @ 25 MHz
  • Crystalless USB w/ built-in 3.3V regulator for minimal part count
  • 64/32 kB flash, 8/4 kB RAM
  • Capacitive touch sensors
  • Super low-power




2 Bootloader

2.1 UART Bootloader

EFM32 出厂自带 UART bootloader

拉高 DBG_SWCLK 通电启动 EFM32 Series 0, EZR32 Series 0, or EFM32 Series 1 即可进入 Uart Bootloader:

  • The bootloader will check the application space in flash.
    • If the application space contains a valid application, the bootloader will run that application.
    • If there is not a valid application present, the bootloader will sleep in EM2 to conserve power, while periodically checking the bootloader pins.

Note: DBG_SWCLK has an internal pull-down. Leaving this pin unconnected will not invoke bootloader mode on reset.


EFM32ZG110 Pin:

  • PIN19 --- PF0 --- DBG_SWCLK / BOOT_TX -----> Serial_RX
  • PIN20 --- PF1 --- DBG_SWDIO / BOOT_RX -----> Serial_TX


Once the bootloader has been successfully initialized it will print the bootloader version and chip unique ID:

1.40 ChipID: F08AB6000B153525



2.2 ToBoot

USB DFU bootloader - "toboot"

https://github.com/im-tomu/toboot



3 QuickStart



4 OpenOCD

Windows:


Flashing the toboot with ST-Link:

 ../../../nodetao/toolchain/openocd/bin/openocd.exe -f interface/stlink.cfg -f aet1-flash.conf




5 ARDUINO_EFM32

Build message:

/C/Users/Jack/Documents/arduino-1.8.7-windows/arduino-builder -dump-prefs -logger=machine -hardware /C/Users/Jack/Documents/arduino-1.8.7-windows/hardware -hardware /C/Users/Jack/AppData/Local/Arduino15/packages -tools /C/Users/Jack/Documents/arduino-1.8.7-windows/tools-builder -tools /C/Users/Jack/Documents/arduino-1.8.7-windows/hardware/tools/avr -tools /C/Users/Jack/AppData/Local/Arduino15/packages -built-in-libraries /C/Users/Jack/Documents/arduino-1.8.7-windows/libraries -libraries /C/Users/Jack/Documents/Arduino/libraries -fqbn=arm:EFM32:EFM32TG110:cpu=32,clock_source=hfrc28,serial=leserial,log=default,upload_method=jLinkMethod -ide-version=10807 -build-path /C/Users/Jack/AppData/Local/Temp/arduino_build_619136 -warnings=none -build-cache /C/Users/Jack/AppData/Local/Temp/arduino_cache_982407 -prefs=build.warn_data_percentage=75 -verbose /C/Users/Jack/Documents/Arduino/Blink/Blink.ino
/C/Users/Jack/Documents/arduino-1.8.7-windows/arduino-builder -compile -logger=machine -hardware /C/Users/Jack/Documents/arduino-1.8.7-windows/hardware -hardware /C/Users/Jack/AppData/Local/Arduino15/packages -tools /C/Users/Jack/Documents/arduino-1.8.7-windows/tools-builder -tools /C/Users/Jack/Documents/arduino-1.8.7-windows/hardware/tools/avr -tools /C/Users/Jack/AppData/Local/Arduino15/packages -built-in-libraries /C/Users/Jack/Documents/arduino-1.8.7-windows/libraries -libraries /C/Users/Jack/Documents/Arduino/libraries -fqbn=arm:EFM32:EFM32TG110:cpu=32,clock_source=hfrc28,serial=leserial,log=default,upload_method=jLinkMethod -ide-version=10807 -build-path /C/Users/Jack/AppData/Local/Temp/arduino_build_619136 -warnings=none -build-cache /C/Users/Jack/AppData/Local/Temp/arduino_cache_982407 -prefs=build.warn_data_percentage=75 -verbose /C/Users/Jack/Documents/Arduino/Blink/Blink.ino
Using board 'EFM32TG110' from platform in folder: /C/Users/Jack/Documents/arduino-1.8.7-windows/hardware/arm/EFM32
Using core 'arduino' from platform in folder: /C/Users/Jack/Documents/arduino-1.8.7-windows/hardware/arm/EFM32
Detecting libraries used...

"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++" -c -g -Os -w -std=gnu++14 -fpermissive -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -Dprintf=iprintf -w -x c++ -E -CC -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(build_dir)/sketch/Blink.ino.cpp" -o nul
Generating function prototypes...
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++" -c -g -Os -w -std=gnu++14 -fpermissive -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -Dprintf=iprintf -w -x c++ -E -CC -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(build_dir)/sketch/Blink.ino.cpp" -o "$(build_dir)/preproc/ctags_target_for_gcc_minus_e.cpp"
"$(ARDU_DIR)/tools-builder/ctags/5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "$(build_dir)/preproc/ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++" -c -g -Os -w -fno-exceptions -std=gnu++14 -fpermissive -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(build_dir)/sketch/Blink.ino.cpp" -o "$(build_dir)/sketch/Blink.ino.cpp.o"
Compiling libraries...
Compiling core...
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -c -g -Os -w -fno-exceptions -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110/variant.c" -o "$(build_dir)/core/variant.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++" -c -g -Os -w -fno-exceptions -std=gnu++14 -fpermissive -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110/variant.cpp" -o "$(build_dir)/core/variant.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -c -g -Os -w -fno-exceptions -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/hooks.c" -o "$(build_dir)/core/hooks.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -c -g -Os -w -fno-exceptions -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/syscalls.c" -o "$(build_dir)/core/syscalls.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -c -g -Os -w -fno-exceptions -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32_hal/startup.c" -o "$(build_dir)/core/efm32_hal/startup.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -c -g -Os -w -fno-exceptions -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/avr/dtostrf.c" -o "$(build_dir)/core/avr/dtostrf.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -c -g -Os -w -fno-exceptions -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32_hal/emlib_part2.c" -o "$(build_dir)/core/efm32_hal/emlib_part2.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -c -g -Os -w -fno-exceptions -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32/efm32pwm.c" -o "$(build_dir)/core/efm32/efm32pwm.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -c -g -Os -w -fno-exceptions -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32_hal/emlib_part1.c" -o "$(build_dir)/core/efm32_hal/emlib_part1.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -c -g -Os -w -fno-exceptions -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/itoa.c" -o "$(build_dir)/core/itoa.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -c -g -Os -w -fno-exceptions -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32/gpiointerrupt.c" -o "$(build_dir)/core/efm32/gpiointerrupt.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -c -g -Os -w -fno-exceptions -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32/efm32init.c" -o "$(build_dir)/core/efm32/efm32init.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -c -g -Os -w -fno-exceptions -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32/core_callback.c" -o "$(build_dir)/core/efm32/core_callback.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -c -g -Os -w -fno-exceptions -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/wiring_shift.c" -o "$(build_dir)/core/wiring_shift.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -c -g -Os -w -fno-exceptions -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32/efm32dac.c" -o "$(build_dir)/core/efm32/efm32dac.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -c -g -Os -w -fno-exceptions -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32_hal/system.c" -o "$(build_dir)/core/efm32_hal/system.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -c -g -Os -w -fno-exceptions -std=gnu11 -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32/efm32gpio.c" -o "$(build_dir)/core/efm32/efm32gpio.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++" -c -g -Os -w -fno-exceptions -std=gnu++14 -fpermissive -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/main.cpp" -o "$(build_dir)/core/main.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++" -c -g -Os -w -fno-exceptions -std=gnu++14 -fpermissive -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32/efm32adc.cpp" -o "$(build_dir)/core/efm32/efm32adc.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++" -c -g -Os -w -fno-exceptions -std=gnu++14 -fpermissive -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32/HardwareSerial.cpp" -o "$(build_dir)/core/efm32/HardwareSerial.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++" -c -g -Os -w -fno-exceptions -std=gnu++14 -fpermissive -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/abi.cpp" -o "$(build_dir)/core/abi.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++" -c -g -Os -w -fno-exceptions -std=gnu++14 -fpermissive -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/RingBuffer.cpp" -o "$(build_dir)/core/RingBuffer.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++" -c -g -Os -w -fno-exceptions -std=gnu++14 -fpermissive -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/Stream.cpp" -o "$(build_dir)/core/Stream.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++" -c -g -Os -w -fno-exceptions -std=gnu++14 -fpermissive -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32/debug.cpp" -o "$(build_dir)/core/efm32/debug.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++" -c -g -Os -w -fno-exceptions -std=gnu++14 -fpermissive -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32/avr_emulation.cpp" -o "$(build_dir)/core/efm32/avr_emulation.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++" -c -g -Os -w -fno-exceptions -std=gnu++14 -fpermissive -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/WString.cpp" -o "$(build_dir)/core/WString.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++" -c -g -Os -w -fno-exceptions -std=gnu++14 -fpermissive -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/Print.cpp" -o "$(build_dir)/core/Print.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++" -c -g -Os -w -fno-exceptions -std=gnu++14 -fpermissive -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/new.cpp" -o "$(build_dir)/core/new.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++" -c -g -Os -w -fno-exceptions -std=gnu++14 -fpermissive -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -Dprintf=iprintf -MMD -DARDUINO=10807 -DARDUINO_efm32tg110f32 -DARDUINO_ARCH_EFM32 -DARM_MATH_CM3 -DEFM32TG110F32 -mcpu=cortex-m3 -mthumb -mthumb -DF_CPU=28000000L -DOSC28000000L -DUSE_HFRCO -DEFM32TG -DEFM32GENERIC -DRAM_LENGTH=4096 -DFLASH_LENGTH=32768 -DMENU_SERIAL=SerialLEUART0 "-I$(build_dir)/sketch" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino" "-I$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110" "-I$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/efm32" "-I$(ARDU_DIR)/hardware/arm/EFM32/system" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/CMSIS/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/emlib/inc" "-I$(ARDU_DIR)/hardware/arm/EFM32/system/SiliconLabs/EFM32TG/Include" "$(ARDU_DIR)/hardware/arm/EFM32/cores/arduino/WMath.cpp" -o "$(build_dir)/core/WMath.cpp.o"

"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/Print.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/RingBuffer.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/Stream.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/WMath.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/WString.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/abi.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/avr/dtostrf.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/efm32/HardwareSerial.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/efm32/avr_emulation.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/efm32/core_callback.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/efm32/debug.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/efm32/efm32adc.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/efm32/efm32dac.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/efm32/efm32gpio.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/efm32/efm32init.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/efm32/efm32pwm.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/efm32/gpiointerrupt.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/efm32_hal/emlib_part1.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/efm32_hal/emlib_part2.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/efm32_hal/startup.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/efm32_hal/system.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/hooks.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/itoa.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/main.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/new.cpp.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/syscalls.c.o"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar" rcs "$(build_dir)/core/core.a" "$(build_dir)/core/wiring_shift.c.o"
Archiving built core (caching) in: C:\Users\Jack\AppData\Local\Temp\arduino_cache_982407\core\core_ebcd316fc5c7d0e6d808fa4705f7642f.a

Linking everything together...
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gcc" -mcpu=cortex-m3 -mthumb -mthumb -Os -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all 
-Wl,--warn-common "-T$(ARDU_DIR)/hardware/arm/EFM32/variants/efm32Tg110/ld/efm32tg110f32.ld" "-Wl,-Map,$(build_dir)/Blink.ino.map" -o "$(build_dir)/Blink.ino.elf" "-L$(build_dir)" -Wl,--start-group -u _sbrk -u link -u _close -u _fstat 
-u _isatty -u _lseek -u _read -u _write -u _exit -u kill -u _getpid "$(build_dir)/sketch/Blink.ino.cpp.o" "$(build_dir)/core/variant.c.o" "$(build_dir)/core/variant.cpp.o" "$(build_dir)/core/core.a" -lstdc++ -lc -Wl,--end-group -lm -lgcc --specs=nano.specs
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-objcopy" -O binary "$(build_dir)/Blink.ino.elf" "$(build_dir)/Blink.ino.bin"

"aeth$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-objcopy" -O ihex "$(build_dir)/Blink.ino.elf" "$(build_dir)/Blink.ino.hex"
"$(PKG_DIR)/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-size" -A "$(build_dir)/Blink.ino.elf"

Sketch uses 3960 bytes (12%) of program storage space. Maximum is 32768 bytes.
Global variables use 328 bytes (8%) of dynamic memory, leaving 3768 bytes for local variables. Maximum is 4096 bytes.

hardware/tools/win/jlinkob_upload.bat COM9 {upload.altID} {upload.usbID} C:\Users\Jack\AppData\Local\Temp\arduino_build_619136/Blink.ino.hex EFM32G222F128 0x00000000 VECT_TAB_OFFSET=0x0000000



6 Basic


6.1 Flashing the toboot

Brand-new EFM32HG will not have Toboot installed. Instead, they might have the SiLabs AN0042 bootloader.

The recommend way to load the bootloader onto a Chip is using a Raspberry Pi with OpenOCD. Instructions for doing this can be found in the openocd directory. You need OpenOCD version 0.10.0 or later to have EFM32HG support.

Tomu can be powered using the 3.3V pin, so you can create a sort of "programming wand" by bringing 3.3V, GND, SCK, and SIO out to a 0.1" header, running openocd in a loop, and touching the programming pins on the side of a Tomu board. The process only takes a few seconds, so contact doesn't have to be great.


6.2 Install dfu-util

The dfu-util suite of programs is used to talk to Toboot

Ubuntu and Debian

 sudo apt-get install dfu-util

Create /etc/udev/rules.d/10-tomu.rules and populate it with the following:

 ATTRS{idProduct}=="70b1", ATTRS{idVendor}=="1209", MODE="777"
 (Note: you can give it a more restrictive mode if you also give it a group that you’re in)


Windows

Download dfu-util-static.exe from the dfu-util repository and rename it to dfu-util.exe. Place it somewhere in your $PATH for convenience. To build examples, you’ll also want to get dfu-suffix.exe and put it in your $PATH.


Mac

Install Homebrew and run:

 brew install dfu-util






个人工具
名字空间

变换
操作
导航
工具箱