Cross-Reference: TI Stellaris LaunchPad EK-LM4F120XL
github.com/Swepz/platforimIO-Tiva, Setup guide for Texas Instruments Tiva Launchpads(TM4C) embedded projects using platformIO
Cross-Reference: TI Stellaris LaunchPad EK-LM4F120XL
github.com/Swepz/platforimIO-Tiva, Setup guide for Texas Instruments Tiva Launchpads(TM4C) embedded projects using platformIO
DMX Controller & DMX Software für Einsteiger: So klappt’s mit der Lichtsteuerung
DMX Steuerung Grundlagen
DMX RDM 8CH Dimmer
STM32 based DMX controller with USB Interface (PDF)
PC_DIMMER DMX512-Dimmerpack
Semitone Lighting Controllers
Einfacher DMX-Dimmer
DMX Dimmer
4 Ch DMX Dimmer
DMX RDM 8CH Dimmer
DMX Dimmerpack
ST STEVAL-ILL030V1: LED lighting control using DMX512 control based on STM32F102C6T6 and STCS1APHR
build_type = release | debug
Build Configurations
Build options
"build": {
"core": "stm32",
"cpu": "cortex-m0",
"extra_flags": "-DSTM32F072xB",
"f_cpu": "48000000L",
"mcu": "stm32f072rbt6",
"product_line": "STM32F072xB",
"variant": "NUCLEO_F072RB"
},
[...]
| RCC | Reset and Clock Controller |
| PWR | Power Controller block |
| PLL | Phase-Locked Loop |
| internal oscillator | |
| RC-OSC | resistor-capacitor oscillator |
| HSI | High-speed internal RC oscillator |
| CSI | Low-power internal RC oscillator |
| LSI | Low-speed internal 32 kHz RC oscillator |
| external crystal or resonator | |
| HSE | High-speed external clock |
| LSE | Low-speed external clock |
[...] Reset_Handler: [...] /* Call the clock system intitialization function.*/ bl SystemInit /* Call static constructors */ bl __libc_init_array /* Call the application's entry point.*/ bl main LoopForever: b LoopForever [...] g_pfnVectors: .word _estack .word Reset_Handler .word NMI_Handler .word HardFault_Handler .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word SVC_Handler .word 0 .word 0 .word PendSV_Handler .word SysTick_Handler .word WWDG_IRQHandler /* Window WatchDog */ .word PVD_VDDIO2_IRQHandler /* PVD and VDDIO2 through EXTI Line detect */ .word RTC_IRQHandler /* RTC through the EXTI line */ .word FLASH_IRQHandler /* FLASH */ .word RCC_CRS_IRQHandler /* RCC and CRS */ .word EXTI0_1_IRQHandler /* EXTI Line 0 and 1 */ .word EXTI2_3_IRQHandler /* EXTI Line 2 and 3 */ .word EXTI4_15_IRQHandler /* EXTI Line 4 to 15 */ .word TSC_IRQHandler /* TSC */ .word DMA1_Channel1_IRQHandler /* DMA1 Channel 1 */ .word DMA1_Channel2_3_IRQHandler /* DMA1 Channel 2 and Channel 3 */ .word DMA1_Channel4_5_6_7_IRQHandler /* DMA1 Channel 4, Channel 5, Channel 6 and Channel 7*/ .word ADC1_COMP_IRQHandler /* ADC1, COMP1 and COMP2 */ .word TIM1_BRK_UP_TRG_COM_IRQHandler /* TIM1 Break, Update, Trigger and Commutation */ .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ .word TIM2_IRQHandler /* TIM2 */ .word TIM3_IRQHandler /* TIM3 */ .word TIM6_DAC_IRQHandler /* TIM6 and DAC */ .word TIM7_IRQHandler /* TIM7 */ .word TIM14_IRQHandler /* TIM14 */ .word TIM15_IRQHandler /* TIM15 */ .word TIM16_IRQHandler /* TIM16 */ .word TIM17_IRQHandler /* TIM17 */ .word I2C1_IRQHandler /* I2C1 */ .word I2C2_IRQHandler /* I2C2 */ .word SPI1_IRQHandler /* SPI1 */ .word SPI2_IRQHandler /* SPI2 */ .word USART1_IRQHandler /* USART1 */ .word USART2_IRQHandler /* USART2 */ .word USART3_4_IRQHandler /* USART3 and USART4 */ .word CEC_CAN_IRQHandler /* CEC and CAN */ .word USB_IRQHandler /* USB */ [...]
// Force init to be called *first*, i.e. before static object allocation.
// Otherwise, statically allocated objects that need HAL may fail.
__attribute__((constructor(101))) void premain()
{
// Required by FreeRTOS, see http://www.freertos.org/RTOS-Cortex-M3-M4.html
#ifdef NVIC_PRIORITYGROUP_4
HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
#endif
#if (__CORTEX_M == 0x07U)
// Defined in CMSIS core_cm7.h
#ifndef I_CACHE_DISABLED
SCB_EnableICache();
#endif
#ifndef D_CACHE_DISABLED
SCB_EnableDCache();
#endif
#endif
init();
}
/*
* \brief Main entry point of Arduino application
*/
int main(void)
{
initVariant();
setup();
for (;;) {
#if defined(CORE_CALLBACK)
CoreCallback();
#endif
loop();
serialEventRun();
}
return 0;
}
void my_constructor1(void) __attribute__((constructor));
void my_constructor2(void) __attribute__((constructor(102)));
void my_constructor3(void) __attribute__((constructor(103)));
void my_constructor1(void) /* This is the 3rd constructor function to be called */
printf("Called my_constructor1()\n");
}
void my_constructor2(void) /* This is the 1st constructor function to be called */
printf("Called my_constructor2()\n");
}
void my_constructor3(void) /* This is the 2nd constructor function to be called */
printf("Called my_constructor3()\n");
}
int main(void)
{
printf("Called main()\n");
}
__attribute__((constructor(priority))) function attribute
__attribute__((constructor[(priority)]))
WEAK void init(void)
{
hw_config_init();
}
/**
* @brief This function performs the global init of the system (HAL, IOs...)
* @param None
* @retval None
*/
void hw_config_init(void)
{
/* Init DWT if present */
#ifdef DWT_BASE
dwt_init();
#endif
/* Initialize the HAL */
HAL_Init();
/* Configure the system clock */
SystemClock_Config();
#if defined (USBCON) && defined(USBD_USE_CDC)
USBD_CDC_init();
#endif
#if defined (STM32MP1xx)
__HAL_RCC_HSEM_CLK_ENABLE();
#endif
}
/**
* @brief This function configures the Flash prefetch,
* Configures time base source, NVIC and Low level hardware
* @note This function is called at the beginning of program after reset and before
* the clock configuration
* @note The time base configuration is based on HSI clock when exiting from Reset.
* Once done, time base tick start incrementing.
* In the default implementation,Systick is used as source of time base.
* The tick variable is incremented each 1ms in its ISR.
* @retval HAL status
*/
HAL_StatusTypeDef HAL_Init(void)
{
[...]
}
#if !defined(HAL_I2C_MODULE_DISABLED) #define HAL_I2C_MODULE_ENABLED #else #undef HAL_I2C_MODULE_ENABLED #endif [...] /* * Unused HAL modules */ #if 0 [...] HAL_I2S_MODULE_ENABLED [...] #endif [...]
[...] #ifdef HAL_I2C_MODULE_ENABLED #include "stm32g4xx_hal_i2c.h" #endif /* HAL_I2C_MODULE_ENABLED */ #ifdef HAL_I2S_MODULE_ENABLED #include "stm32g4xx_hal_i2s.h" #endif /* HAL_I2S_MODULE_ENABLED */ [...]
RCC_HSE_OFF
| Disable |
RCC_HSE_BYPASS
| BYPASS Clock Source (from other MCU) |
RCC_HSE_ON
| Crystal/Ceramic Resonator (own XTAL) |
![]() |
/**
* @brief RCC Internal/External Oscillator (HSE, HSI, LSE and LSI) configuration structure definition
*/
typedef struct
{
uint32_t OscillatorType;
uint32_t HSEState;
uint32_t LSEState;
uint32_t HSIState;
uint32_t HSICalibrationValue;
uint32_t HSI14State;
uint32_t HSI14CalibrationValue;
uint32_t LSIState;
uint32_t HSI48State;
RCC_PLLInitTypeDef PLL;
} RCC_OscInitTypeDef;
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_NONE |
RCC_OSCILLATORTYPE_HSE |
RCC_OSCILLATORTYPE_HSI |
RCC_OSCILLATORTYPE_LSE |
RCC_OSCILLATORTYPE_LSI |
RCC_OSCILLATORTYPE_HSI14 |
RCC_OSCILLATORTYPE_HSI48;
/* PLL Source Mux */
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE |
RCC_PLLSOURCE_HSI |
RCC_PLLSOURCE_HSI48
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL6;
RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
/**
* @brief RCC System, AHB and APB busses clock configuration structure definition
*/
typedef struct
{
uint32_t ClockType; /*!< The clock to be configured. */
uint32_t SYSCLKSource; /*!< The clock source (SYSCLKS). */
uint32_t AHBCLKDivider; /*!< The AHB clock (HCLK) divider. */
uint32_t APB1CLKDivider; /*!< The APB1 clock (PCLK1) divider. */
} RCC_ClkInitTypeDef;
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK |
RCC_CLOCKTYPE_SYSCLK |
RCC_CLOCKTYPE_PCLK1;
/* System Clock Mux */
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI |
RCC_SYSCLKSOURCE_HSI48 |
RCC_SYSCLKSOURCE_HSE |
RCC_SYSCLKSOURCE_PLLCLK;
![]() |
How to check the operating clock speed?
Blue Pill clock define
But it is never used in the source!
[...] #ifndef F_CPU #define F_CPU SystemCoreClock #endif [...]
/**
* @brief System Clock Configuration
* @param None
* @retval None
*/
WEAK void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef RCC_ClkInitStruct;
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48;
RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
HAL_RCC_OscConfig(&RCC_OscInitStruct);
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
| RCC_CLOCKTYPE_PCLK1;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI48;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);
}
[...] extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ [...]
/**
* @brief Initializes the CPU, AHB and APB buses clocks according to the specified
* parameters in the RCC_ClkInitStruct.
* @param RCC_ClkInitStruct pointer to an RCC_OscInitTypeDef structure that
* contains the configuration information for the RCC peripheral.
* @param FLatency FLASH Latency
* The value of this parameter depend on device used within the same series
* @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency
* and updated by @ref HAL_RCC_GetHCLKFreq() function called within this function
*
* @note The HSI is used (enabled by hardware) as system clock source after
* start-up from Reset, wake-up from STOP and STANDBY mode, or in case
* of failure of the HSE used directly or indirectly as system clock
* (if the Clock Security System CSS is enabled).
*
* @note A switch from one clock source to another occurs only if the target
* clock source is ready (clock stable after start-up delay or PLL locked).
* If a clock source which is not yet ready is selected, the switch will
* occur when the clock source will be ready.
* You can use @ref HAL_RCC_GetClockConfig() function to know which clock is
* currently used as system clock source.
* @retval HAL status
*/
HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency)
{
[...]
/* Update the SystemCoreClock global variable */
SystemCoreClock = HAL_RCC_GetSysClockFreq() >> AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE)>> RCC_CFGR_HPRE_BITNUMBER];
[...]
return HAL_OK;
}
/*
* @brief Configures the System clock source, PLL Multiplier and Divider factors,
* AHB/APBx prescalers and Flash settings
* @note This function should be called only once the RCC clock configuration
* is reset to the default reset state (done in SystemInit() function).
* @param None
* @retval None
*/
/******************************************************************************/
/* PLL (clocked by HSE) used as System clock source */
/******************************************************************************/
static uint8_t SetSysClock_PLL_HSE(uint8_t bypass)
{
RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef RCC_ClkInitStruct;
/* The voltage scaling allows optimizing the power consumption when the device is
clocked below the maximum system frequency, to update the voltage scaling value
regarding system frequency refer to product datasheet. */
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2);
// Enable HSE oscillator and activate PLL with HSE as source
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
if (bypass == 0) {
RCC_OscInitStruct.HSEState = RCC_HSE_ON; // External 8 MHz xtal on OSC_IN/OSC_OUT
} else {
RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS; // External 8 MHz clock on OSC_IN
}
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = HSE_VALUE / 1000000L; // Expects an 8 MHz external clock by default. Redefine HSE_VALUE if not
RCC_OscInitStruct.PLL.PLLN = 336; // VCO output clock = 336 MHz (1 MHz * 336)
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; // PLLCLK = 84 MHz (336 MHz / 4)
RCC_OscInitStruct.PLL.PLLQ = 7; // USB clock = 48 MHz (336 MHz / 7) --> OK for USB
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
return 0; // FAIL
}
// Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 clocks dividers
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; // 84 MHz
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; // 84 MHz
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; // 42 MHz
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; // 84 MHz
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) {
return 0; // FAIL
}
/* Output clock on MCO1 pin(PA8) for debugging purpose */
/*
if (bypass == 0)
HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSE, RCC_MCODIV_2); // 4 MHz
else
HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSE, RCC_MCODIV_1); // 8 MHz
*/
return 1; // OK
}
/******************************************************************************/
/* PLL (clocked by HSI) used as System clock source */
/******************************************************************************/
uint8_t SetSysClock_PLL_HSI(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef RCC_ClkInitStruct;
/* The voltage scaling allows optimizing the power consumption when the device is
clocked below the maximum system frequency, to update the voltage scaling value
regarding system frequency refer to product datasheet. */
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2);
// Enable HSI oscillator and activate PLL with HSI as source
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSEState = RCC_HSE_OFF;
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
RCC_OscInitStruct.PLL.PLLM = 16; // VCO input clock = 1 MHz (16 MHz / 16)
RCC_OscInitStruct.PLL.PLLN = 336; // VCO output clock = 336 MHz (1 MHz * 336)
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; // PLLCLK = 84 MHz (336 MHz / 4)
RCC_OscInitStruct.PLL.PLLQ = 7; // USB clock = 48 MHz (336 MHz / 7) --> freq is ok but not precise enough
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
return 0; // FAIL
}
/* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 clocks dividers */
RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; // 84 MHz
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; // 84 MHz
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; // 42 MHz
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; // 84 MHz
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) {
return 0; // FAIL
}
/* Output clock on MCO1 pin(PA8) for debugging purpose */
//HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSI, RCC_MCODIV_1); // 16 MHz
return 1; // OK
}
WEAK void SystemClock_Config(void)
{
/* 1- If fail try to start with HSE and external xtal */
if (SetSysClock_PLL_HSE(0) == 0) {
/* 2- Try to start with HSE and external clock */
if (SetSysClock_PLL_HSE(1) == 0) {
/* 3- If fail start with HSI clock */
if (SetSysClock_PLL_HSI() == 0) {
Error_Handler();
}
}
}
/* Output clock on MCO2 pin(PC9) for debugging purpose */
//HAL_RCC_MCOConfig(RCC_MCO2, RCC_MCO2SOURCE_SYSCLK, RCC_MCODIV_4);
}
Does STM32CubeIDE work with STM32duino?
STM32CubeIDE — using libs from arduino
17:10:11 **** Build of configuration Debug for project EvalBoardOledRotary **** make -j4 all arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.o" arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.o" arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.o" arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.o" arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.o" arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.o" arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.o" arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.o" arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.o" arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.o" arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.o" arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.o" arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.o" arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.o" arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.o" arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.o" arm-none-eabi-gcc "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.o" arm-none-eabi-gcc -mcpu=cortex-m0 -g3 -c -x assembler-with-cpp -MMD -MP -MF"Core/Startup/startup_stm32f072rbtx.d" -MT"Core/Startup/startup_stm32f072rbtx.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Core/Startup/startup_stm32f072rbtx.o" "../Core/Startup/startup_stm32f072rbtx.s" arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Core/Src/main.o" arm-none-eabi-gcc "../Core/Src/stm32f0xx_hal_msp.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/stm32f0xx_hal_msp.d" -MT"Core/Src/stm32f0xx_hal_msp.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Core/Src/stm32f0xx_hal_msp.o" arm-none-eabi-gcc "../Core/Src/stm32f0xx_it.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/stm32f0xx_it.d" -MT"Core/Src/stm32f0xx_it.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Core/Src/stm32f0xx_it.o" arm-none-eabi-gcc "../Core/Src/syscalls.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/syscalls.d" -MT"Core/Src/syscalls.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Core/Src/syscalls.o" arm-none-eabi-gcc "../Core/Src/sysmem.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/sysmem.d" -MT"Core/Src/sysmem.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Core/Src/sysmem.o" arm-none-eabi-gcc "../Core/Src/system_stm32f0xx.c" -mcpu=cortex-m0 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F072xB -DDEBUG -c -I../Core/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc -I../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Core/Src/system_stm32f0xx.d" -MT"Core/Src/system_stm32f0xx.o" --specs=nano.specs -mfloat-abi=soft -mthumb -o "Core/Src/system_stm32f0xx.o" arm-none-eabi-g++ -o "EvalBoardOledRotary.elf" @"objects.list" -mcpu=cortex-m0 -T"C:\Users\andreas\STM32CubeIDE\workspace_1.5.1\EvalBoardOledRotary\STM32F072RBTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="EvalBoardOledRotary.map" -Wl,--gc-sections -static --specs=nano.specs -mfloat-abi=soft -mthumb -Wl,--start-group -lc -lm -lstdc++ -lsupc++ -Wl,--end-group Finished building target: EvalBoardOledRotary.elf arm-none-eabi-size EvalBoardOledRotary.elf arm-none-eabi-objdump -h -S EvalBoardOledRotary.elf > "EvalBoardOledRotary.list" arm-none-eabi-objcopy -O binary EvalBoardOledRotary.elf "EvalBoardOledRotary.bin" text data bss dec hex filename 7724 20 1700 9444 24e4 EvalBoardOledRotary.elf Finished building: default.size.stdout Finished building: EvalBoardOledRotary.bin Finished building: EvalBoardOledRotary.list
CMSIS_STARTUP_FILECUSTOM_STARTUP_FILE// C:\Users\bacr\.platformio\packages\framework-arduinoststm32\system\Drivers\CMSIS\Device\ST\STM32G4xx\Source\Templates\gcc
$ /c/Users/bacr/.platformio/packages/toolchain-gccarmnoneeabi/bin/arm-none-eabi-readelf -e .pio/build/nucleo_g474re/firmware.elf
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: ARM
Version: 0x1
Entry point address: 0x800b9a9
Start of program headers: 52 (bytes into file)
Start of section headers: 259544 (bytes into file)
Flags: 0x5000400, Version5 EABI, hard-float ABI
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 4
Size of section headers: 40 (bytes)
Number of section headers: 19
Section header string table index: 18
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .isr_vector PROGBITS 08000000 010000 0001d8 00 A 0 0 1
[ 2] .text PROGBITS 080001e0 0101e0 00e9f0 00 AX 0 0 16
[ 3] .rodata PROGBITS 0800ebd0 01ebd0 002f3c 00 A 0 0 8
[ 4] .ARM.extab PROGBITS 08011b0c 0308c4 000000 00 W 0 0 1
[ 5] .ARM ARM_EXIDX 08011b0c 021b0c 000008 00 AL 2 0 4
[ 6] .preinit_array PREINIT_ARRAY 08011b14 0308c4 000000 04 WA 0 0 1
[ 7] .init_array INIT_ARRAY 08011b14 021b14 000024 04 WA 0 0 4
[ 8] .fini_array FINI_ARRAY 08011b38 021b38 00000c 04 WA 0 0 4
[ 9] .data PROGBITS 20000000 030000 0008c4 00 WA 0 0 4
[10] .bss NOBITS 200008c8 0308c8 001984 00 WA 0 0 8
[11] .noinit PROGBITS 2000224c 0308c4 000000 00 W 0 0 1
[12] ._user_heap_stack NOBITS 2000224c 03224c 000604 00 WA 0 0 1
[13] .ARM.attributes ARM_ATTRIBUTES 00000000 0308c4 000030 00 0 0 1
[14] .comment PROGBITS 00000000 0308f4 000066 01 MS 0 0 1
[15] .debug_frame PROGBITS 00000000 03095c 00128c 00 0 0 4
[16] .symtab SYMTAB 00000000 031be8 0088f0 10 17 1419 4
[17] .strtab STRTAB 00000000 03a4d8 005048 00 0 0 1
[18] .shstrtab STRTAB 00000000 03f520 0000b7 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
L (link order), O (extra OS processing required), G (group), T (TLS),
C (compressed), x (unknown), o (OS specific), E (exclude),
y (purecode), p (processor specific)
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x010000 0x08000000 0x08000000 0x11b44 0x11b44 RWE 0x10000
LOAD 0x030000 0x20000000 0x08011b44 0x008c4 0x008c4 RW 0x10000
LOAD 0x0308c8 0x200008c8 0x08012408 0x00000 0x01984 RW 0x10000
LOAD 0x03224c 0x2000224c 0x2000224c 0x00000 0x00604 RW 0x10000
Section to Segment mapping:
Segment Sections...
00 .isr_vector .text .rodata .ARM .init_array .fini_array
01 .data
02 .bss
03 ._user_heap_stack
$ /c/Users/bacr/.platformio/packages/toolchain-gccarmnoneeabi/bin/arm-none-eabi-objdump.exe -f .pio/build/nucleo_g474re/firmware.elf
.pio/build/nucleo_g474re/firmware.elf: file format elf32-littlearm
architecture: armv7e-m, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x0800b9a9
$ /c/Users/bacr/.platformio/packages/toolchain-gccarmnoneeabi/bin/arm-none-eabi-objdump.exe -D .pio/build/nucleo_g474re/firmware.elf | grep -C 10 ADC1_2_IRQHandler
0800b9de <LoopForever>:
800b9de: e7fe b.n 800b9de <LoopForever>
800b9e0: 20020000 andcs r0, r2, r0
800b9e4: 20000000 andcs r0, r0, r0
800b9e8: 200008c4 andcs r0, r0, r4, asr #17
800b9ec: 08011b44 stmdaeq r1, {r2, r6, r8, r9, fp, ip}
800b9f0: 200008c8 andcs r0, r0, r8, asr #17
800b9f4: 2000224c andcs r2, r0, ip, asr #4
0800b9f8 <ADC1_2_IRQHandler>:
800b9f8: e7fe b.n 800b9f8 <ADC1_2_IRQHandler>
...
0800b9fc <pinMode>:
800b9fc: b2c3 uxtb r3, r0
packages/toolchain-gccarmnoneeabi/bin/arm-none-eabi-gcc arm-none-eabi-gcc -x assembler-with-cpp -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Os -mcpu=cortex-m4 -mthumb -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -DPLATFORMIO=50202 -DSTM32G4xx -DSTM32G474xx -DPIO_FRAMEWORK_ARDUINO_NANOLIB_FLOAT_PRINTF -DENABLE_HWSERIAL3 -DPIN_SERIAL_RX=PC0 -DPIN_SERIAL_TX=PC1 -DPIN_SERIAL3_RX=PB11 -DPIN_SERIAL3_TX=PB10 -DSERIAL_RX_BUFFER_SIZE=256 -DSERIAL_TX_BUFFER_SIZE=256 -DPIN_WIRE_SDA=PC9 -DPIN_WIRE_SCL=PC8 -DSTM32G4xx -DARDUINO=10808 -DARDUINO_ARCH_STM32 -DARDUINO_NUCLEO_G474RE -DBOARD_NAME=\"NUCLEO_G474RE\" -DHAL_UART_MODULE_ENABLED -DUSE_FULL_LL_DRIVER -DVARIANT_H=\"variant_NUCLEO_G474RE.h\" -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\cores\arduino\avr -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32 -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\LL -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\hid -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\cdc -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\system\Drivers\STM32G4xx_HAL_Driver\Inc -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\system\Drivers\STM32G4xx_HAL_Driver\Src -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\system\STM32G4xx -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\system\Middlewares\ST\STM32_USB_Device_Library\Core\Inc -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\system\Middlewares\ST\STM32_USB_Device_Library\Core\Src -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\system\Middlewares\OpenAMP -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\system\Middlewares\OpenAMP\open-amp\lib\include -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\system\Middlewares\OpenAMP\libmetal\lib\include -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\system\Middlewares\OpenAMP\virtual_driver -IC:\Users\bacr\.platformio\packages\framework-cmsis\CMSIS\Core\Include -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\system\Drivers\CMSIS\Device\ST\STM32G4xx\Include -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\system\Drivers\CMSIS\Device\ST\STM32G4xx\Source\Templates\gcc -IC:\Users\bacr\.platformio\packages\framework-cmsis\CMSIS\DSP\Include -IC:\Users\bacr\.platformio\packages\framework-cmsis\CMSIS\DSP\PrivateInclude -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\cores\arduino -IC:\Users\bacr\.platformio\packages\framework-arduinoststm32\variants\STM32G4xx\G473R(B-C-E)T_G474R(B-C-E)T_G483RET_G484RET -c -o .pio\build\nucleo_g474re\FrameworkArduino\stm32\startup_stm32yyxx.S.o C:\Users\bacr\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\startup_stm32yyxx.S
[...]
#if !defined(CMSIS_STARTUP_FILE) && !defined(CUSTOM_STARTUP_FILE)
[...]
#elif defined(STM32F072xB)
#define CMSIS_STARTUP_FILE "startup_stm32f072xb.s"
[...]
Building in debug mode .platformio\packages\framework-arduinoststm32\variants\NUCLEO_F072RB\PeripheralPins.c .platformio\packages\framework-arduinoststm32\variants\NUCLEO_F072RB\variant.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\HardwareSerial.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\HardwareTimer.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\IPAddress.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\Print.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\RingBuffer.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\Stream.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\Tone.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\USBSerial.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\VirtIOSerial.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\WInterrupts.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\WMath.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\WSerial.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\WString.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\abi.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\avr\dtostrf.c .platformio\packages\framework-arduinoststm32\cores\arduino\board.c .platformio\packages\framework-arduinoststm32\cores\arduino\hooks.c .platformio\packages\framework-arduinoststm32\cores\arduino\itoa.c .platformio\packages\framework-arduinoststm32\cores\arduino\main.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\new.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\pins_arduino.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\libmetal\device.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\libmetal\generic\condition.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\libmetal\generic\cortexm\sys.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\libmetal\generic\generic_device.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\libmetal\generic\generic_init.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\libmetal\generic\generic_io.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\libmetal\generic\generic_shmem.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\libmetal\generic\time.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\libmetal\init.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\libmetal\io.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\libmetal\log.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\libmetal\shmem.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\mbox_ipcc.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\open-amp\remoteproc\remoteproc_virtio.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\open-amp\rpmsg\rpmsg.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\open-amp\rpmsg\rpmsg_virtio.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\openamp.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\rsc_table.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\virt_uart.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\virtio\virtio.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\virtio\virtqueue.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\virtio_buffer.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP\virtio_log.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\startup_stm32yyxx.S .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\cdc\cdc_queue.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\cdc\usbd_cdc.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\cdc\usbd_cdc_if.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\hid\usbd_hid_composite.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\hid\usbd_hid_composite_if.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\usb_device_core.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\usb_device_ctlreq.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\usb_device_ioreq.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\usbd_conf.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\usbd_desc.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\usbd_ep_conf.c .platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\usbd_if.c .platformio\packages\framework-arduinoststm32\cores\arduino\wiring_analog.c .platformio\packages\framework-arduinoststm32\cores\arduino\wiring_digital.c .platformio\packages\framework-arduinoststm32\cores\arduino\wiring_pulse.cpp .platformio\packages\framework-arduinoststm32\cores\arduino\wiring_shift.c .platformio\packages\framework-arduinoststm32\cores\arduino\wiring_time.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_adc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_adc_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_can.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_cec.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_comp.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_comp_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_cordic.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_cortex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_crc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_crc_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_cryp.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_cryp_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_dac.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_dac_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_dcmi.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_dcmi_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_dfsdm.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_dfsdm_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_dma.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_dma2d.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_dsi.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_dma_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_dts.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_eth.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_eth_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_fdcan.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_exti.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_firewall.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_flash.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_flash_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_flash_ramfunc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_fmac.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_fmpi2c.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_fmpi2c_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_gfxmmu.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_gpio.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_gpio_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_hash_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_hash.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_hcd.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_hrtim.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_hsem.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_i2c.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_i2c_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_i2s.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_i2s_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_ipcc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_irda.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_iwdg.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_jpeg.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_lcd.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_lptim.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_ltdc_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_ltdc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_mdma.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_mdios.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_mmc_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_mmc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_nor.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_nand.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_opamp.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_opamp_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_ospi.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_otfdec.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_pccard.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_pcd.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_pcd_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_pssi.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_pka.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_pwr_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_pwr.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_qspi.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_ramecc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_rcc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_rng.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_rcc_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_rng_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_rtc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_rtc_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_sai.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_sai_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_sd.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_sd_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_sdadc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_smartcard.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_sdram.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_smbus.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_smartcard_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_spdifrx.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_spi.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_spi_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_sram.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_swpmi.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_tim.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_tim_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_uart.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_tsc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_uart_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_usart.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_usart_ex.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_wwdg.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_bdma.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_adc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_cordic.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_comp.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_crc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_crs.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_dac.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_delayblock.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_dma.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_dma2d.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_exti.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_fmc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_fmac.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_gpio.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_fsmc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_hrtim.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_i2c.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_lptim.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_mdma.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_lpuart.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_opamp.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_pka.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_pwr.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_rcc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_rng.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_sdmmc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_rtc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_swpmi.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_spi.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_ucpd.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_tim.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_usb.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_usart.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\PortNames.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\LL\stm32yyxx_ll_utils.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\analog.cpp .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\bootloader.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\clock.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\core_callback.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\dwt.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\hw_config.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\interrupt.cpp .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\lock_resource.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\pinmap.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\low_power.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\rtc.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\stm32_def.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\stm32_eeprom.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\system_stm32yyxx.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\timer.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\stm32\uart.c .platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\syscalls.c src\main.cpp
arm-none-eabi-gcc -o .pio\build\nucleo_g071rb\FrameworkArduinoVariant\PeripheralPins.c.o -c -std=gnu11 -Os -mcpu=cortex-m0plus -mthumb -ffunction-sections -fdata-sections -Wall -nostdlib --param max-inline-insns-single=500 -DPLATFORMIO=50100 -DSTM32G0xx -DSTM32G071xx -DSTM32G0xx -DARDUINO=10808 -DARDUINO_ARCH_STM32 -DARDUINO_NUCLEO_G071RB -DBOARD_NAME=\"NUCLEO_G071RB\" -DHAL_UART_MODULE_ENABLED -D__CORTEX_SC=0 -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\cores\arduino\avr -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32 -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\LL -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\hid -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\cdc -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Drivers\STM32G0xx_HAL_Driver\Inc -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Drivers\STM32G0xx_HAL_Driver\Src -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\STM32G0xx -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Middlewares\ST\STM32_USB_Device_Library\Core\Inc -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Middlewares\ST\STM32_USB_Device_Library\Core\Src -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Middlewares\OpenAMP -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Middlewares\OpenAMP\open-amp\lib\include -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Middlewares\OpenAMP\libmetal\lib\include -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Middlewares\OpenAMP\virtual_driver -IC:\Users\andreas\.platformio\packages\framework-cmsis\CMSIS\Core\Include -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Drivers\CMSIS\Device\ST\STM32G0xx\Include -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Drivers\CMSIS\Device\ST\STM32G0xx\Source\Templates\gcc -IC:\Users\andreas\.platformio\packages\framework-cmsis\CMSIS\DSP\Include -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\cores\arduino -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\variants\NUCLEO_G071RB -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\variants\NUCLEO_G071RB C:\Users\andreas\.platformio\packages\framework-arduinoststm32\variants\NUCLEO_G071RB\PeripheralPins.c [...] arm-none-eabi-gcc -o .pio\build\nucleo_g071rb\SrcWrapper\src\HAL\stm32yyxx_hal_smartcard_ex.c.o -c -std=gnu11 -Os -mcpu=cortex-m0plus -mthumb -ffunction-sections -fdata-sections -Wall -nostdlib --param max-inline-insns-single=500 -DPLATFORMIO=50100 -DSTM32G0xx -DSTM32G071xx -DSTM32G0xx -DARDUINO=10808 -DARDUINO_ARCH_STM32 -DARDUINO_NUCLEO_G071RB -DBOARD_NAME=\"NUCLEO_G071RB\" -DHAL_UART_MODULE_ENABLED -D__CORTEX_SC=0 -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\cores\arduino\avr -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32 -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\LL -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\OpenAMP -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\hid -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32\usb\cdc -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Drivers\STM32G0xx_HAL_Driver\Inc -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Drivers\STM32G0xx_HAL_Driver\Src -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\STM32G0xx -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Middlewares\ST\STM32_USB_Device_Library\Core\Inc -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Middlewares\ST\STM32_USB_Device_Library\Core\Src -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Middlewares\OpenAMP -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Middlewares\OpenAMP\open-amp\lib\include -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Middlewares\OpenAMP\libmetal\lib\include -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Middlewares\OpenAMP\virtual_driver -IC:\Users\andreas\.platformio\packages\framework-cmsis\CMSIS\Core\Include -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Drivers\CMSIS\Device\ST\STM32G0xx\Include -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\system\Drivers\CMSIS\Device\ST\STM32G0xx\Source\Templates\gcc -IC:\Users\andreas\.platformio\packages\framework-cmsis\CMSIS\DSP\Include -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\cores\arduino -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\variants\NUCLEO_G071RB -IC:\Users\andreas\.platformio\packages\framework-arduinoststm32\variants\NUCLEO_G071RB C:\Users\andreas\.platformio\packages\framework-arduinoststm32\libraries\SrcWrapper\src\HAL\stm32yyxx_hal_smartcard_ex.c [...]
arm-none-eabi-g++ -o .pio/build/nucleo_g071rb/firmware.elf -T C:/Users/andreas/.platformio/packages/framework-arduinoststm32/system/ldscript.ld -Os -mthumb -mcpu=cortex-m0plus --specs=nano.specs -Wl,--gc-sections,--relax -Wl,--check-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--defsym=LD_MAX_SIZE=131072 -Wl,--defsym=LD_MAX_DATA_SIZE=36864 -Wl,--defsym=LD_FLASH_OFFSET=0x0 -Wl,--default-script C:/Users/andreas/.platformio/packages/framework-arduinoststm32/variants/NUCLEO_G071RB/ldscript.ld .pio/build/nucleo_g071rb/FrameworkArduinoVariant/PeripheralPins.c.o .pio/build/nucleo_g071rb/FrameworkArduinoVariant/variant.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/HardwareSerial.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/HardwareTimer.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/IPAddress.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/Print.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/RingBuffer.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/Stream.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/Tone.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/USBSerial.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/VirtIOSerial.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/WInterrupts.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/WMath.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/WSerial.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/WString.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/abi.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/avr/dtostrf.c.o .pio/build/nucleo_g071rb/FrameworkArduino/board.c.o .pio/build/nucleo_g071rb/FrameworkArduino/hooks.c.o .pio/build/nucleo_g071rb/FrameworkArduino/itoa.c.o .pio/build/nucleo_g071rb/FrameworkArduino/main.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/new.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/pins_arduino.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/libmetal/device.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/libmetal/generic/condition.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/libmetal/generic/cortexm/sys.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/libmetal/generic/generic_device.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/libmetal/generic/generic_init.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/libmetal/generic/generic_io.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/libmetal/generic/generic_shmem.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/libmetal/generic/time.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/libmetal/init.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/libmetal/io.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/libmetal/log.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/libmetal/shmem.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/mbox_ipcc.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/open-amp/remoteproc/remoteproc_virtio.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/open-amp/rpmsg/rpmsg.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/open-amp/rpmsg/rpmsg_virtio.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/openamp.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/rsc_table.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/virt_uart.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/virtio/virtio.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/virtio/virtqueue.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/virtio_buffer.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/OpenAMP/virtio_log.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/startup_stm32yyxx.S.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/usb/cdc/cdc_queue.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/usb/cdc/usbd_cdc.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/usb/cdc/usbd_cdc_if.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/usb/hid/usbd_hid_composite.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/usb/hid/usbd_hid_composite_if.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/usb/usb_device_core.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/usb/usb_device_ctlreq.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/usb/usb_device_ioreq.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/usb/usbd_conf.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/usb/usbd_desc.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/usb/usbd_ep_conf.c.o .pio/build/nucleo_g071rb/FrameworkArduino/stm32/usb/usbd_if.c.o .pio/build/nucleo_g071rb/FrameworkArduino/wiring_analog.c.o .pio/build/nucleo_g071rb/FrameworkArduino/wiring_digital.c.o .pio/build/nucleo_g071rb/FrameworkArduino/wiring_pulse.cpp.o .pio/build/nucleo_g071rb/FrameworkArduino/wiring_shift.c.o .pio/build/nucleo_g071rb/FrameworkArduino/wiring_time.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_adc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_adc_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_can.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_cec.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_comp.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_comp_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_cordic.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_cortex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_crc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_crc_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_cryp.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_cryp_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_dac.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_dac_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_dcmi.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_dcmi_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_dfsdm.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_dfsdm_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_dma.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_dma2d.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_dma_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_dsi.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_dts.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_eth.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_eth_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_exti.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_fdcan.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_firewall.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_flash.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_flash_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_flash_ramfunc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_fmac.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_fmpi2c.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_fmpi2c_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_gfxmmu.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_gpio.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_gpio_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_hash.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_hash_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_hcd.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_hrtim.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_hsem.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_i2c.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_i2c_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_i2s.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_i2s_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_ipcc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_irda.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_iwdg.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_jpeg.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_lcd.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_lptim.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_ltdc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_ltdc_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_mdios.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_mdma.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_mmc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_mmc_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_nand.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_nor.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_opamp.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_opamp_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_ospi.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_otfdec.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_pccard.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_pcd.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_pcd_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_pka.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_pssi.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_pwr.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_pwr_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_qspi.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_ramecc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_rcc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_rcc_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_rng.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_rng_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_rtc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_rtc_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_sai.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_sai_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_sd.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_sd_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_sdadc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_sdram.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_smartcard.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_smartcard_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_smbus.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_spdifrx.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_spi.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_spi_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_sram.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_swpmi.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_tim.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_tim_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_tsc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_uart.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_uart_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_usart.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_usart_ex.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/HAL/stm32yyxx_hal_wwdg.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_adc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_bdma.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_comp.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_cordic.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_crc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_crs.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_dac.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_delayblock.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_dma.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_dma2d.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_exti.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_fmac.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_fmc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_fsmc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_gpio.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_hrtim.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_i2c.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_lptim.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_lpuart.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_mdma.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_opamp.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_pka.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_pwr.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_rcc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_rng.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_rtc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_sdmmc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_spi.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_swpmi.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_tim.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_ucpd.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_usart.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_usb.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/LL/stm32yyxx_ll_utils.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/PortNames.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/analog.cpp.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/bootloader.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/clock.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/core_callback.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/dwt.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/hw_config.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/interrupt.cpp.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/lock_resource.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/low_power.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/pinmap.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/rtc.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/stm32_def.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/stm32_eeprom.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/system_stm32yyxx.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/timer.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/stm32/uart.c.o .pio/build/nucleo_g071rb/SrcWrapper/src/syscalls.c.o .pio/build/nucleo_g071rb/src/main.cpp.o -LC:/Users/andreas/.platformio/platforms/ststm32/ldscripts -L.pio/build/nucleo_g071rb -LC:/Users/andreas/.platformio/packages/framework-arduinoststm32/variants/NUCLEO_G071RB -LC:/Users/andreas/.platformio/packages/framework-cmsis/CMSIS/DSP/Lib/GCC -Wl,--start-group -larm_cortexM0l_math -lc -lm -lgcc -lstdc++ -Wl,--end-group [...] arm-none-eabi-objcopy -O binary .pio\build\nucleo_g071rb\firmware.elf .pio\build\nucleo_g071rb\firmware.bin [...]
Complex Frequency and Laplace Transform
Circuit protection, Circuit protection for ESD, surge, overvoltage, overcurrent and EMI
Application-specific port protection, Overvoltage, overcurrent, EMI, ESD and surge protection integrated for USB and HDMI
TPS2400, 5.5-V over voltage protection controller with 100-V input transient protection
TPS2640, 42-V, 2-A industrial eFuse with integrated reverse input polarity protection
TPS2595, 2.7-V to 18-V, 34mΩ, 0.5-4A eFuse with over voltage protection in small WSON package
TPS25946, 2.7-V to 23-V, 5.5-A, 28-mΩ eFuse with bi-directional current support
Complete System Power Protection IC, Protect Your Power System Against Faults with Single-Chip Solutions
MAX14571, Adjustable Overvoltage and Overcurrent Protectors with High Accuracy (This product is Not Recommended for New Designs)
MAX17561, Adjustable Overvoltage and Overcurrent Protectors with High Accuracy
MAX9940, Signal-Line Overvoltage Protector for Low-Voltage Devices
MAX14571 (Not Recommended)
MAX14572 (Not Recommended)
MAX17562
MAX9940
LTC4360-1, Overvoltage Protection Controller
LTC4367, 100V Overvoltage, Undervoltage and Reverse Supply Protection Controller
LTC436x Series Overvoltage Overcurrent Protection Controllers, Analog Devices’ LTC436x family features fast shutdown to protect low voltage electronics
LTC4365 Surge Suppressors
NCP370, Full Overvoltage and Overcurrent Protection Circuit
TPS63070, Wide input voltage (2V-16V) buck-boost converter
SparkFun Buck-Boost Converter
Buck-Boost Hookup Guide
SparkFun TPS63070 Schematic (PDF)
Coilcraft XFL4020-152MEB
Bourns Inc. SRP4020FA-1R5M
fb = resistor feedback network
TPS65131, Split-Rail Converter with Dual, Positive and Negative Outputs (750mA typ)
TPS65131EVM-839, Evaluation Module for TPS65131 – Positive and Negative Output DC-DC Converter
TIDA-050017: TEC driver reference design for 3.3V inputs, mit TPS63802 (Vout = 1.8 – 5.2 ???)
Coilcraft XFL4015-471MEC
AVX Corporation LMLP0707MR47DTAS
Niederohmige selbtstrückstellende PTC-Sicherungen der Serien MF-NSML/MF-USML
Rücksetzbare PTC-Sicherungen
MF-NSMF035X-2
MF-USHT035KX-2
B59201P1080A062
Neu Rückstellbare Sicherungen – PPTC
PTC FSMD0501206 PTC-Sicherung, SMD 1206, 8V, 500mA, rückstellend
Wikipedia Selbstrückstellende Sicherung
Sicherungen mit PTC
Selbst rückstellende Sicherungen
#354 Tasmota vs ESPhome: Who wins? (DIY Sensors, ESP32, Deep-Sleep, etc.)
#286 How does Software Defined Radio (SDR) work under the Hood? SDR Tutorial
RISC-V: How much is open source? Featuring the new ESP32-C3
|
release Year
|
2014
|
2016
|
2019
|
|
Microcontroller
|
Xtensa single-core 32-bit L106
|
Xtensa single/dual-core 32-bit LX6
|
Xtensa single-core 32-bit LX7
|
|
Clock Frequency
|
80 MHz
|
160/240 MHz
|
240 MHz
|
|
Co-processor
|
No
|
ULP
|
ULP (RISC-V)
|
|
SRAM
|
160 KB
|
520 KB
|
320 KB
|
|
ROM
|
No
|
448 KB
|
128 KB
|
|
RTC Memory
|
No
|
16 KB
|
16 KB
|
|
External SPIRAM
|
Up to 16MB
|
Up to 16MB
|
Up to 128MB
|
|
External Flash
|
No
|
No
|
Up to 1G
|
|
Wi-Fi (802.11 b/g/n)
|
HT20
|
HT20
|
HT20
|
|
ESP-MESH
|
Yes
|
Yes
|
Yes
|
|
Bluetooth
|
No
|
BT 4.2 BR/EDR & BLE
|
No
|
|
Ethernet
|
No
|
10/100 Mbps
|
No
|
|
CAN
|
No
|
2.0
|
No
|
|
Time of Flight
|
No
|
No
|
Yes
|
|
GPIO (total)
|
16
|
34
|
43
|
|
Touch Sensors
|
No
|
10
|
14
|
|
SPI
|
2
|
4
|
4 (OSPI)
|
|
I2C
|
1 (soft)
|
2
|
2
|
|
I2S
|
2
|
2
|
1
|
|
UART
|
2 (1 ½ actually)
|
3
|
2
|
|
ADC
|
1 (10-bit)
|
18 (12-bit)
|
20 (12-bit)
|
|
DAC
|
No
|
2 (8-bit)
|
2 (8-bit)
|
|
PWM (soft)
|
8
|
16
|
8
|
|
SDMMC
|
No
|
Yes
|
No
|
|
RMT (remote control)
|
No
|
Yes
|
Yes
|
|
USB OTG
|
No
|
No
|
Yes
|
|
LCD Interface
|
No
|
No
|
Yes
|
|
Camera Interface
|
No
|
No
|
Yes
|
|
Temperature sensor
|
No
|
Yes
|
Yes
|
|
Hall sensor
|
No
|
Yes
|
No
|
|
Security
|
No
|
Secure boot Flash encryption 1024-bit OTP
|
Secure boot Flash encryption 4096-bit OTP
|
|
Crypto
|
No
|
AES, SHA-2, RSA, ECC, RNG
|
AES-128/192/256, SHA-2, RSA, RNG, HMAC, Digital Signature
|
|
Low Power Consumption
|
Automatic RF power management 5uA in idle mode 24uA at 1% duty cycle
|
Using STM32CubeMX and PlatformIO
github.com/jbaumann/pio_and_stm32cubeide
github.com/ussserrr/stm32pio, Automate managing of STM32CubeMX + PlatformIO projects
github.com/stm32duino/Arduino_Core_STM32, STM32 core support for Arduino
How to create the STM32CubeMx project?
Getting started with STM32 and things you need to be aware of, January 5, 2020
Packages
[env:lolin32] platform = espressif32 board = lolin32 framework = arduino
[env:uno] platform = atmelavr board = uno framework = arduino
> pio -h Usage: pio [OPTIONS] COMMAND [ARGS]... Options: --version Show the version and exit. -f, --force DEPRECATE -c, --caller TEXT Caller ID (service) --no-ansi Do not print ANSI control characters -h, --help Show this message and exit. Commands: access Manage resource access account Manage PlatformIO account boards Embedded board explorer check Static code analysis ci Continuous integration debug Unified debugger device Device manager & serial/socket monitor home GUI to manage PlatformIO lib Library manager org Manage organizations package Package manager platform Platform manager project Project manager remote Remote development run Run project targets (build, upload, clean, etc.) settings Manage system settings system Miscellaneous system commands team Manage organization teams test Unit testing update Update installed platforms, packages and libraries upgrade Upgrade PlatformIO to the latest version
> pio platform Usage: pio platform [OPTIONS] COMMAND [ARGS]... Options: -h, --help Show this message and exit. Commands: frameworks List supported frameworks, SDKs install Install new development platform list List installed development platforms search Search for development platform show Show details about development platform uninstall Uninstall development platform update Update installed development platforms
> pio platform list
> pio platform frameworks arduino ~ Arduino cmsis ~ CMSIS esp8266-nonos-sdk ~ ESP8266 Non-OS SDK esp8266-rtos-sdk ~ ESP8266 RTOS SDK espidf ~ Espressif IoT Development Framework freedom-e-sdk ~ Freedom E SDK freertos ~ FreeRTOS gd32vf103-sdk ~ GigaDevice GD32V SDK kendryte-freertos-sdk ~ Kendryte FreeRTOS SDK kendryte-standalone-sdk ~ Kendryte Standalone SDK libopencm3 ~ libopencm3 mbed ~ Mbed nuclei-sdk ~ Nuclei SDK pulp-os ~ PULP OS pulp-sdk ~ PULP SDK pumbaa ~ Pumbaa shakti-sdk ~ Shakti SDK simba ~ Simba siwisdk ~ SIWI GSM Software Development Kit for MT6261 and MT2503 SoC spl ~ Standard Peripheral Library stm32cube ~ STM32Cube wd-riscv-sdk ~ WD-Firmware wiringpi ~ WiringPi zephyr ~ Zephyr RTOS
> pio platform search asrmicro650x ~ ASR Microelectronics ASR650x aceinna_imu ~ Aceinna IMU atmelavr ~ Atmel AVR atmelsam ~ Atmel SAM atmelmegaavr ~ Atmel megaAVR chipsalliance ~ CHIPS Alliance espressif32 ~ Espressif 32 espressif8266 ~ Espressif 8266 freescalekinetis ~ Freescale Kinetis gd32v ~ GigaDevice GD32V hwlogic ~ HWLogic infineonxmc ~ Infineon XMC intel_arc32 ~ Intel ARC32 intel_mcs51 ~ Intel MCS-51 (8051) kendryte210 ~ Kendryte K210 lattice_ice40 ~ Lattice iCE40 linux_arm ~ Linux ARM linux_i686 ~ Linux i686 linux_x86_64 ~ Linux x86_64 lgt8f ~ Logic Green boards maxim32 ~ Maxim 32 microchippic32 ~ Microchip PIC32 m68k ~ Motorola 68k with up to date toolchain builds nxplpc ~ NXP LPC nxpimxrt ~ NXP i.MX RT native ~ Native nordicnrf51 ~ Nordic nRF51 nordicnrf52 ~ Nordic nRF52 nuclei ~ Nuclei openhw ~ OpenHW Group riscv_gap ~ RISC-V GAP siwigsm ~ SIWI GSM Platform ststm32 ~ ST STM32 ststm8 ~ ST STM8 shakti ~ Shakti sifive ~ SiFive siliconlabsefm32 ~ Silicon Labs EFM32 swm32 ~ Synwit SWM320 timsp430 ~ TI MSP430 titiva ~ TI TIVA teensy ~ Teensy wiznet7500 ~ WIZNet W7500 windows_x86 ~ Windows x86
> pio platform search espressif32 espressif32 ~ Espressif 32
> pio platform show espressif32 espressif32 ~ Espressif 32 ========================== Frameworks: arduino, espidf, pumbaa, simba Packages -------- Package toolchain-xtensa32 Package toolchain-xtensa32s2 Package toolchain-esp32ulp Package toolchain-esp32s2ulp Package framework-arduinoespressif32 Package framework-arduino-mbcwb Package framework-espidf Package framework-simba Package framework-pumbaa Package tool-esptoolpy Package tool-mbctool Package tool-openocd-esp32 Package tool-mkspiffs Package tool-cmake Package tool-ninja Package tool-mconf Package tool-idf Boards ------ ID MCU Frequency Flash RAM Name ------------------------------- ------- ----------- ------- ------ ------------------------------------------- [...] lolin32 ESP32 240MHz 4MB 320KB WEMOS LOLIN32 lolin_d32 ESP32 240MHz 4MB 320KB WEMOS LOLIN D32 lolin_d32_pro ESP32 240MHz 4MB 320KB WEMOS LOLIN D32 PRO [...]
> pio init The current working directory C:\Users\andreas\switchdrive\PlatformIO will be used for the project. The next files/directories have been created in C:\Users\andreas\switchdrive\PlatformIO include - Put project header files here lib - Put here project specific (private) libraries src - Put project source files here platformio.ini - Project Configuration File Project has been successfully initialized! Useful commands: `pio run` - process/build project from the current directory `pio run --target upload` or `pio run -t upload` - upload firmware to a target `pio run --target clean` - clean project (remove compiled files) `pio run --help` - additional information
Docs » PlatformIO Core (CLI) » CLI Guide » pio run
> pio run --list-targets Environment Group Name Title Description ------------- -------- ----------- --------------------------- ----------------------------------------------------- lolin32 Advanced compiledb Compilation Database Generate compilation database `compile_commands.json` lolin32 Generic clean Clean lolin32 Platform buildfs Build Filesystem Image lolin32 Platform erase Erase Flash lolin32 Platform size Program Size Calculate program size lolin32 Platform upload Upload lolin32 Platform uploadfs Upload Filesystem Image lolin32 Platform uploadfsota Upload Filesystem Image OTA
> pio run Processing lolin32 (platform: espressif32; board: lolin32; framework: arduino) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Verbose mode can be enabled via `-v, --verbose` option CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/lolin32.html PLATFORM: Espressif 32 (3.0.0) > WEMOS LOLIN32 [...] DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa) PACKAGES: - framework-arduinoespressif32 3.10004.210126 (1.0.4) - tool-esptoolpy 1.30000.201119 (3.0.0) - toolchain-xtensa32 2.50200.80 (5.2.0) LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 27 compatible libraries Scanning dependencies... Dependency Graph |-- <ESP8266Audio> 1.7 | |-- <SPI> 1.0 | |-- <SPIFFS> 1.0 | | |-- <FS> 1.0 | |-- <HTTPClient> 1.2 | | |-- <WiFiClientSecure> 1.0 | | | |-- <WiFi> 1.0 | |-- <WiFiClientSecure> 1.0 | | |-- <WiFi> 1.0 | |-- <FS> 1.0 | |-- <SD(esp32)> 1.0.5 | | |-- <FS> 1.0 | | |-- <SPI> 1.0 |-- <FS> 1.0 |-- <SD(esp32)> 1.0.5 | |-- <FS> 1.0 | |-- <SPI> 1.0 |-- <WiFi> 1.0 Building in release mode Retrieving maximum program size .pio\build\lolin32\firmware.elf Checking size .pio\build\lolin32\firmware.elf Advanced Memory Usage is available via "PlatformIO Home > Project Inspect" RAM: [ ] 4.7% (used 15524 bytes from 327680 bytes) Flash: [=== ] 27.7% (used 363509 bytes from 1310720 bytes)
> pio run -v Processing lolin32 (platform: espressif32; board: lolin32; framework: arduino; debug_tool: esp-prog; upload_port: COM3; debug_init_break: tbreak setup) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/lolin32.html PLATFORM: Espressif 32 (3.0.0) > WEMOS LOLIN32 HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa) PACKAGES: - framework-arduinoespressif32 3.10004.210126 (1.0.4) - tool-esptoolpy 1.30000.201119 (3.0.0) - toolchain-xtensa32 2.50200.80 (5.2.0) LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 27 compatible libraries Scanning dependencies... Dependency Graph |-- <ESP8266Audio> 1.7 (C:\Users\andreas\switchdrive\PlatformIO\SoundTest\lib\ESP8266Audio) | |-- <SPI> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\SPI) | |-- <SPIFFS> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\SPIFFS) | | |-- <FS> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\FS) | |-- <HTTPClient> 1.2 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\HTTPClient) | | |-- <WiFi> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\WiFi) | | |-- <WiFiClientSecure> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\WiFiClientSecure) | | | |-- <WiFi> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\WiFi) | |-- <WiFiClientSecure> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\WiFiClientSecure) | | |-- <WiFi> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\WiFi) | |-- <FS> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\FS) | |-- <SD(esp32)> 1.0.5 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\SD) | | |-- <FS> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\FS) | | |-- <SPI> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\SPI) |-- <FS> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\FS) |-- <SD(esp32)> 1.0.5 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\SD) | |-- <FS> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\FS) | |-- <SPI> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\SPI) |-- <WiFi> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\WiFi) Building in release mode <lambda>(["checkprogsize"], [".pio\build\lolin32\firmware.elf"]) MethodWrapper(["checkprogsize"], [".pio\build\lolin32\firmware.elf"]) Advanced Memory Usage is available via "PlatformIO Home > Project Inspect" RAM: [ ] 4.7% (used 15524 bytes from 327680 bytes) Flash: [=== ] 27.7% (used 363509 bytes from 1310720 bytes) .pio\build\lolin32\firmware.elf : [...]
> pio system info -------------------------- -------------------------------------------------------- PlatformIO Core 5.1.0 Python 3.7.7-final.0 System Type windows_amd64 Platform Windows-10 File System Encoding utf-8 Locale Encoding cp1252 PlatformIO Core Directory C:\Users\andreas\.platformio PlatformIO Core Executable C:\Users\andreas\.platformio\penv\Scripts\platformio.exe Python Executable C:\Users\andreas\.platformio\penv\Scripts\python.exe Global Libraries 0 Development Platforms 2 Tools & Toolchains 23
Library Storage: C:\Users\andreas\switchdrive\PlatformIO\SoundTest\.pio\libdeps\lolin32
.pio/libdeps/lolin32/ArduinoJson/.piopm:{"type": "library", "name": "ArduinoJson", "version": "6.17.2", "spec": {"owner": "bblanchon", "id": 64, "name": "ArduinoJson", "requirements": null, "url": null}}
.pio/libdeps/lolin32/ArduinoJson/library.json: "url": "https://github.com/bblanchon/ArduinoJson.git"
.pio/libdeps/lolin32/ArduinoJson/library.properties:repository=https://github.com/bblanchon/ArduinoJson.git
[env:lolin32] [...] lib_deps = bblanchon/ArduinoJson@^6.17.2