ST


A world leader in providing the semiconductor solutions that make a positive contribution to people’s lives, both today and in the future.

SDK changes log

mbed code history page http://developer.mbed.org/users/mbed_official/code/mbed/shortlog


v136 - 17W07

NUCLEO_F207ZG

  • Add definition of "Pxx_ALTn" pins

STM32L0

  • Add LL Cube driver

All STM32

  • Add i2c_sw_reset function for devices with I2C IP V2
  • Reorganize targets folders


v135 - 17W05

STM32F3

  • Update CubeF3 HAL driver to V1.4.0 16-Dec-2016
  • Update CMSIS F3 driver to V2.3.1 16-Dec-2016

STM32F4

  • Remove of HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4); in HAL_Init function.

DISCO_F429ZI

  • Change GCC_ARM startup files (.s and .ld) and SystemInit function for uvisor.

STM32F7

  • Update CubeF7 HAL driver to V1.1.2 23-Sep-2016
  • Update CMSIS F7 driver to V1.1.2 23-Sep-2016

All STM32

  • Fix bug in i2c_byte_read function.


v134 - 17W03

STM32F0

  • Update CubeF0 HAL driver to V1.5.0 04-Nov-2016
  • Update CMSIS F0 driver to V2.3.1 04-Nov-2016

All STM32

  • Fix bugs in CAN
  • Fix bug for F0 in HAL_InitTick function
  • Fix bugs and add improvements for I2C
  • Fix bug for L4 in deepsleep function
  • Fix bug in spi_master_write function

v133 - 17W01

STM32F7

  • Disable DCache for Ethernet (LWIP feature)

STM32F1

  • Update CubeF1 HAL driver to V1.0.5 06-Dec-2016
  • Clear flags in can_irq function

NUCLEO_F103RB

  • Correct PC7/PWM, PB9/CANTD and PB8/CAN_RD pins configuration

All STM32

  • Add call to MBED_ASSERT when USE_FULL_ASSERT macro is enabled in xxx_hal_conf.h file
  • Improvement of I2C async functions
  • Factorization of rtc_api and sleep files


v132 - 16W51

STM32F0

  • Change ADC scan conversion mode to ADC_SCAN_DIRECTION_FORWARD instead of DISABLE

STM32F2/F3/F4/F7/L0/L4

  • Changes in ST HAL i2c, usb and pcd files

STM32F4

  • Changes in ST HAL dma files
  • Fix problem with VBAT/VREF channels

STM32L0

  • Changes in ST HAL spi and dma files

STM32L1

  • Changes in ST HAL i2c and spi files

All STM32

  • Fix issue with gpio_irq_free function

DISCO_F469NI

  • Add missing CAN pins

NUCLEO_F412ZG

  • Add new target

DISCO_L476VG

  • Change stack/heap configuration for GCC and IAR
  • Suppress start with external clock (MCO)
  • Update SetSysClock_PLL_MSI function

NUCLEO_L476RG

  • Suppress start with external clock (MCO)
  • Update SetSysClock_PLL_MSI function

NUCLEO_L432KC

  • Suppress start with external clock (MCO)


v131 - 16W50

NUCLEO_F103RB

  • Add Serial Flow Control pins


v130 - 16W47

STM32F4

  • Add I2C Async communication

STM32L0

  • Update CubeL0 HAL driver to V1.7.0 31-May-2016


v129 - 16W45

All STM32

  • Change GCC_ARM init sequence in startup_xxx.s file

STM32F0

  • Fix issue in CAN filter function

NUCLEO_F072RB

  • Correction on PB_5/PWM pin (channel 2 used)


v128 - 16W43

STM32F0

  • Add Serial Flow Control

STM32F1

  • Fix issue with us_ticker

STM32F4

  • Remove the previous byte transfer wait in i2c_stop function
  • Add LowPower Ticker with RTC

All STM32

  • Fix issue with GPIO mode configuration
  • Add ADC internal channels
  • Remove the call to HAL_Init() in mbed_sdk_init() for GCC_ARM compiler


v127 - 16W39

NUCLEO_F303ZE

  • Change initial SP to 0x20010000 (instead of 0x20004000) for ARM_STD compiler

STM32F4

  • Changes in stm32f4xx_hal_i2c.c !!! Functions I2C_MasterReceive_RXNE and I2C_MasterReceive_BTF.
  • Changes in stm32f4xx_hal_spi.c !!! Functions SPI_TxISR_8BIT and SPI_TxISR_16BIT.

STM32F0

  • Add ADC internal channels
  • Add LowPower Ticker with RTC
  • Add Serial Async

STM32F3

  • Add Serial Flow Control
  • Add LowPower Ticker with RTC

STM32F4

  • Add SPI Async
  • Add I2C Async

STM32F7

  • Add LowPower Ticker with RTC
  • Add Serial Async

STM32L0

  • Add Serial Flow Control
  • Add LowPower Ticker with RTC
  • Add Serial Async

STM32L1

  • Add Serial Flow Control
  • Add LowPower Ticker with RTC

STM32L4

  • Add LowPower Ticker with RTC


v126 - 16W37

NUCLEO_F303ZE

  • Add new target

DISCO_F769NI

  • Add new target (done by Community)

STM32F1

  • Add Serial Async mode and Serial Flow Control

STM32F4

  • Add ADC internal channels

DISCO_L476VG

  • Add Serial Flow Control pins


v125 - 16W35

STM32F3/L1/L4/NUCLEO_F207ZG

  • Add Serial Async and Hardware Flow Control

STM32F4/F7

  • Add entropy hardware poll


v124 - 16W33

STM32F0/F1

  • Add macro STM_PIN_DATA_EXT to facilitate pinout configuration (analog_in/out, pwmout)

STM32F1

  • Fix bug with ADC external trigger conversion (use software start)

DISCO_F429ZI/F469NI, NUCLEO_F410RB/F411RE/F429ZI/F446RE

  • Add Serial Flow Control pins

STM32F4

  • Update Serial Async mode. Remove the DMA transfer.

DISCO_L476VG

  • Add more SPI_2 pins


v123 - 16W32

STM32F0/F1/F3/F4/F7/L0/L1/L4

  • Change timer flags management in hal_tick.c

STM32F0/F1/F4/F7/L0/L1/L4

  • Increase PWM period

STM32F0/F1/F3/F7/L0/L1/L4

  • Update RTC date format

STM32F4/F7/L1/L4

  • Replace TXE by TC flag for Serial

STM32F3

  • Update STM32Cube HAL driver to V1.3.0

NUCLEO_F207ZG

  • Add new target


v122 - 16W30

STM32F0

  • Update STM32Cube CMSIS driver to V2.3.0 and HAL driver to V1.4.0
  • Add LowPower Ticker

NUCLEO_F030R8/F070RB/F103RB, DISCO_F100RB

  • Update hal_tick.c

STM32F1

  • Add CAN
  • Fix bug in GPIO PU/PD configuration
  • Improve SPI

STM32F3

  • Update STM32Cube CMSIS driver to V2.3.0 and HAL driver to V1.2.1
  • Add CAN
  • Improve SERIAL and SPI

STM32F4

  • Update STM32Cube CMSIS driver to V2.5.0 and HAL driver to V1.5.0
  • Improve SERIAL Async and SPI

STM32F7

  • Update STM32Cube CMSIS driver to V1.1.0 and HAL driver to V1.1.0
  • Add CAN
  • Improve SERIAL Async and SPI

STM32L0

  • Improve usticker, SERIAL and SPI

STM32L1

  • Update STM32Cube CMSIS driver to V2.1.3 and HAL driver to V1.1.3
  • Improve RTC, SERIAL and SPI

STM32L4

  • Update STM32Cube CMSIS driver to V1.1.1 and HAL driver to V1.5.1
  • Add CAN
  • Improve RTC, SERIAL and SPI

NUCLEO_F429ZI/F446ZE/F767ZI/L011K4/L432KC

  • Add new targets


v121 - 16W21

STM32F0/F1

  • Add fix for 16-bit timer (Issue #816) - differ from L0

STM32F1/F4

  • Add USART reset during instance initialization

STM32F4

  • Set initial CAN freq to 100kb/s

STM32F7

  • Fix issue with ADC end of conversion

STM32L0

  • Add fix for 16-bit timer (Issue #816) - differ from F0/F1

NUCLEO_F031K6

  • Add PA_3 pin for Serial Rx

NUCLEO_F042K6/F072RB/F091RC

  • Add CAN api


v120 - 16W19

STM32F1

  • Update STM32CubeF1 HAL driver from V1.0.0/15-December-2014 to V1.0.4/29-April-2016

DISCO_L476VG/NUCLEO_L476RG

  • Increase heap size from 32kb to 96kb for ARM_MICRO compiler

DISCO_L476VG

  • Move stack/heap in 0x20000000-0x20017FFF memory area (SRAM1) for IAR compiler

STM32F3

  • Increase PWM period (up to 32.76 s)

STM32F4

  • Add different CAN filter for CAN1 and CAN2

NUCLEO_L031K6

  • Change PWM_OUT pin value (PB_0 instead of PB_3)


v119 - 16W17

STM32L0

  • CubeL0 HAL driver updated to V1.5.0 08-JAN-2016
  • Update in rtc_api.c concerning backup registers clock

STM32F4/F7

  • Utility function HAL_Delay redefined in mbed_overrides.c file.

NUCLEO_L476RG

  • Add Serial Flow Control (#define DEVICE_SERIAL_FC) feature

NUCLEO_L031K6

  • New target added


v118 - 16W15

STM32F0/F1/F3/L1

  • Increase LSE startup timeout to 5 sec

STM32F0/F1/F3/F7/L1

  • Remove automatic RTC LSE/LSI clock switching
  • Add "#define DEVICE_RTC_LSI" option

NUCLEO_F401RE

  • Add Serial Flow Control feature ("#define DEVICE_SERIAL_FC 1" added in device.h)

STM32F0/F1/F3/F4/F7/L0/L1/L4

  • Remove the RCC backup registers reset when LSE clock is used


v117 - 16W13

NUCLEO_F303K8

  • Fix issue with number of interrupt vectors (98 instead of 101)

DISCO_L476VG/NUCLEO_L476RG

  • Update startup file to better manage the stack/heap. Heap size increased.

STM32L0/STM32L4

  • Increase LSE startup timeout to 5 sec

STM32F4

  • Fix bug in serial_api.c concerning usage of TXE flag instead of TC

STM32L0

  • Remove automatic RTC LSE/LSI clock switching
  • Add "#define DEVICE_RTC_LSI" option


v116 - 16W11

STM32F3

  • Fix issue with ADC clock setting whith multiple ADC instances

STM32F4

  • Increase LSE startup timeout to 5 sec
  • Remove usage of LSI clock for RTC per default
  • Add "#define DEVICE_RTC_LSI" option
  • Add handling of UART ORE flag

STM32F7

  • Update STM32CubeF7 HAL driver to V1.0.4 09-December-2015

NUCLEO_L476RG

  • Add "#define DEVICE_RTC_LSI" option


v115 - 16W09

NUCLEO_F746ZG

  • Add target

DISCO_L476VG/NUCLEO_L476RG

  • Fix bug with wrong definition of NVIC_RAM_VECTOR_ADDRESS
  • Increase LSE timeout to 5 seconds
  • Remove usage of LSI clock for RTC per default

B96B_F446VE

  • Add support of CAN peripheral api
  • Add support of Serial asynchronous mode with/without DMA

STM32F4

  • Add Serial asynchronous mode with/without DMA (only activated on B96B_F446VE)


v114 - 16W07

B96B_F446VE

  • Add serial hardware flow control

ALL platforms

  • Add SW4STM32 toolchain exporter


v113 - 16W05

STM32F0

  • Fill all RCC_OscInitStruct fields in SetSysClock_xxx functions

B96B_F446VE

  • Add DEVICE_SERIAL_ASYNCH and DEVICE_SERIAL_ASYNCH_DMA modes for this target only

STM32F4

  • Add code for DEVICE_SERIAL_ASYNCH and DEVICE_SERIAL_ASYNCH_DMA modes


v112 - 16W02

STM32F0

  • Correct NVIC_SetVector function with the use of SYSCFG_CFGR1 register
  • Correct SystemInit function with call to HAL_Init and SetSysClock functions
  • Change in mbed_sdk_init function

ALL except STM32F1

  • Fix RTC problem during init phase

B96B_F446VE

  • Add target


v111 - 15W51

NUCLEO_F030R8

  • Add correction in HAL_InitTick function

NUCLEO_F031K6/F042K6/F303K8

  • Remove start with external clock

ALL

  • Decrease HSE, HSI and LSE startup timeouts
  • Fix potential issue on I2C with start/stop conditions

ALL except STM32F1

  • Add check of RTC INITS flag during init phase

STM32L1

  • Add clear of UART ORE flag


v110 - 15W48

DISCO_F429ZI

  • Add target

DISCO_F469NI

  • Add target

NUCLEO_F410RB

  • Add target

STM32F4

  • Decrease HSE timeout to 200ms
  • Update STM32F4xx HAL driver to V1.4.1

NUCLEO_L476RG

  • Change in the SRAM1/SRAM2 memory placement for IAR

v109 - 15W44

NUCLEO_F031K6

  • Add HSI calibration

STM32F0

  • Decrease LSE timeout to 500ms
  • Fix issue with DAC 16-bits normalized value

STM32F3

  • Fix issue with DAC 16-bits normalized value

STM32F4

  • Fix issue with DAC 16-bits normalized value
  • Fix issue with potential pending STOP before START

STM32F7

  • Fix issue with DAC 16-bits normalized value
  • Fix issues in RTC: init flag and in rtc_write function

STM32L0

  • Fix issue with DAC 16-bits normalized value

STM32L1

  • Fix issue with DAC 16-bits normalized value

STM32L4

  • Fix issue with DAC 16-bits normalized value

NUCLEO_F042K6

  • Add target (beta)

NUCLEO_F303K8

  • Add target (beta)


v108 - 15W40

STM32F0xx

  • Update STM32CubeF0 hal driver to V1.3.0
  • Update STM32CubeF4 cmsis device driver to V2.2.2

NUCLEO_F031K6

  • Add target (beta)

NUCLEO_L476RG and DISCO_L476VG

  • Change stack/heap placement in SRAM1 and SRAM2 for ARM_MICRO, ARM_STD, IAR, GCC


v107 - 15W38

NUCLEO_L476RG

  • Add target


v106 - 15W36

NUCLEO_F446RE

  • Add target

STM32F4

  • Update STM32CubeF4 hal driver to V1.3.2
  • Update STM32CubeF4 cmsis device driver to V2.3.2


v105 - 15W34

DISCO_F746NG

  • Update Cube driver
  • Update Pinout and PwmOut files

DISCO_L476VG

  • Add target


v104 - 15W32

DISCO_F746NG

  • Fix in pwmout
  • Add IAR exporter template


v103 - 15W30

  • No change


v102 - 15W28

NUCLEO_F030R8, NUCLEO_F070RB

  • Fix startup file + Remove the call to Systick (mbed RTOS compliancy)

DISCO_F746NG

  • Add target


v101 - 15W24

All targets

  • Update SPI NSS pin configuration

STM32F4

  • Fix issue with PWM clock configuration

NUCLEO_F103RB, NUCLEO_L152RE

  • Fix startup file for mbed RTOS

NUCLEO_F446RE

  • Add target


v100 - 15W22

STM32F3 targets

  • Refactor analogin and pwmout api files
  • Add new macro STM_PIN_DATA_EXT to facilitate pinout configuration (analog_in/out, pwmout)

DISCO_F334C8

  • Add target


v99 - 15W20

STM32F4

  • Update STM32Cube driver to v1.3.0
  • Update GPIO set/clr registers setting

NUCLEO_F103RB

  • Fix bug with GPIO pullup/down setting

STM32L0

  • Add new macro STM_PIN_DATA_EXT to facilitate pinout configuration (analog_in/out, pwmout)

DISCO_L053C8

  • Add target


v98 - 15W18

STM32F0 targets

  • Fix issue with SystemCoreClock variable during initialization phase

STM32F1, F3, F4, L0 targets

  • Fix issue with constant tables when __IO or __I is used

NUCLEO_F411RE

  • Change system clock to 96 MHz (instead of 100 MHz) to allow USB clock equals to 48 MHz

STM32F4, L0, L1

  • Increase LSE start timeout to 5 s (instead of 500 ms)


v97 - 15W16

  • Reorganization of STM32L1, STM32F1, STM32F3 and STM32F4 hal folders
  • Improvement of PeripheralPins.c file for STM32F4 targets


v96 - 15W12

NUCLEO_F103RB

  • Porting to STM32Cube driver

NUCLEO_L053R8

  • cmsis and hal folders refactoring
  • Update STM32Cube driver to v1.2.0


v95 - 15W10

Several NUCLEO platforms

  • Correction of IAR stack (1/8 RAM) and heap (1/4 RAM) sizes


v94 - 15W08

  • No change


v93 - 15W06

New platforms added

  • NUCLEO_F303RE and NUCLEO_F070RB

NUCLEO_F0xx

  • Update STM32Cube driver to v1.2.0


v92 - 14W48

All NUCLEO SDKs

  • InterruptIn: Multiple pins can now be used on the same EXTI line


v91 - 14W44

  • No change


v90 - 14W44

NUCLEO_F030R8

  • Porting to STM32Cube driver
  • InterruptIn: Fix bug when IRQ edges are disabled

NUCLEO_F072RB

  • InterruptIn: Fix bug when IRQ edges are disabled
  • SPI: Fix bug with 8-bit data write/read

NUCLEO_F091RC

  • New target added
  • Use STM32Cube driver

NUCLEO_F103RB

  • InterruptIn: Fix bug when IRQ edges are disabled

NUCLEO_F302R8

  • Porting to STM32Cube driver
  • InterruptIn: Fix bug when IRQ edges are disabled
  • AnalogIn: Increase sampling time
  • Remove the call to Systick for Cube HAL (compliant with mbed RTOS)

NUCLEO_F334R8

  • InterruptIn: Fix bug when IRQ edges are disabled
  • AnalogIn: Increase sampling time

NUCLEO_F401RE

  • InterruptIn: Fix bug when IRQ edges are disabled
  • Update STM32Cube driver version

NUCLEO_F411RE

  • InterruptIn: Fix bug when IRQ edges are disabled
  • Update STM32Cube driver version

NUCLEO_L053R8

  • InterruptIn: Fix bug when IRQ edges are disabled
  • AnalogIn: Increase sampling time

NUCLEO_L152RE

  • Porting to STM32Cube driver
  • InterruptIn: Fix bug when IRQ edges are disabled
  • AnalogIn: Increase sampling time


v89 - 14W37

All NUCLEO SDKs

  • Set heap size to 0x400 and set heap limit for uARM toolchain
  • Fix bug with analogin_read_u16 function return value
  • Fix bug with multiple I2C slave devices

NUCLEO_F072RB/F334R8/L053R8

  • Fix bug with Serial (causing wrong communication with some shields only)


v88 - 14W33

NUCLEO_F334R8

  • I2C: Fix bug with wrong clock selection


v87 - 14W30

NUCLEO_F401RE

  • HEAP added on ARM_MICRO and GCC_ARM compilers


v86 - 14W27

General

  • Add NUCLEO_F072RB, NUCLEO_F334R8, NUCLEO_F411RE and NUCLEO_L053R8 SDKs

All NUCLEO SDKs

  • Add mbed assert
  • I2C: Fix bug with I2C EEPROM communication
  • Serial: Set 8bit data as default value
  • SPI: Set 8bit data as default value

NUCLEO_F030R8

  • Serial: Add Tx only and Rx only modes
  • SPI: Fix bug with wrong configuration of NSS pin

NUCLEO_F103RB

  • Serial: Add Tx only and Rx only modes

NUCLEO_F302R8

  • Serial: Add Tx only and Rx only modes

NUCLEO_F401RE

  • Serial: Add Tx only and Rx only modes
  • SPI: Fix bug with wrong configuration of NSS pin
  • Sleep: Disable HAL tick before entering in sleep mode

NUCLEO_L152RE

  • Serial: Add Tx only and Rx only modes


v85 - 14W24

All NUCLEO SDKs

  • Improve "xxx_free" functions (spi, serial, rtc, pwm)

NUCLEO_F401RE

  • Remove the usage of Systick and use a standard timer instead for HAL driver timeouts
  • Update Cube HAL driver to V1.1.0RC2
  • Correct PWM channel number on PA_3


v84 - 14W21

NUCLEO_F030R8

  • Add SPI slave and I2C slave
  • Change PWM channel number for PA_7

NUCLEO_F103RB

  • Add SPI slave and I2C slave
  • Add LSE clock configuration for RTC

NUCLEO_F302R8

  • Add SPI slave and I2C slave

NUCLEO_F401RE

  • Add automatic clock configuration between external clock, xtal and device internal clock
    • system clock = 84 MHz for all modes
  • Add SPI slave and I2C slave
  • Add PA_7 pin for ADC input

NUCLEO_L152RE

  • Add SPI slave and I2C slave
  • Add LSE clock configuration for RTC


v83 - 14W18

NUCLEO_F030R8

  • Add automatic clock configuration between external clock, xtal and device internal clock
    • system clock = 48 MHz for all modes
  • Add all possible pins for ADC, InterruptIn, I2C, PWM, UART, SPI
  • Add LSE clock configuration for RTC

NUCLEO_F103RB

  • Add all possible pins for ADC, InterruptIn, I2C, PWM, UART
  • Change the timer used for the us_ticker (TIM4 instead of TIM1)

NUCLEO_F302R8

  • Add this new platform
  • system clock = 72 MHz for external clock/xtal and 64 MHz for internal clock

NUCLEO_F401RE

  • Add LSE clock configuration for RTC

NUCLEO_L152RE

  • Add all possible pins for InterruptIn


v82 - 14W15

NUCLEO_F103RB

  • Add automatic clock switching between external clock, xtal and device internal clock
    • system clock = 72 MHz for external clock/xtal and 64 MHz for internal clock
  • Add all possible pins for SPI

NUCLEO_F401RE

  • Fix issue with PWM_OUT on PC_9 pin

NUCLEO_L152RE

  • Add automatic clock switching between external clock, xtal and device internal clock
    • system clock = 24 MHz for external clock/xtal (to obtain USB 48 MHz clock) and 32 MHz for internal clock
  • Add all possible pins for ADC, DAC, PWM, UART


v81 - 14W12

NUCLEO_F030R8

  • Fix issue with SPI 16-bit data

NUCLEO_F401RE

  • Set system clock to 84 MHz with PLL(HSI)
  • Add all possible pins for ADC, InterruptIn, I2C, PWM, UART, SPI
  • Fix issue with SPI 16-bit data

NUCLEO_L152RE

  • Add all possible pins for I2C, UART, SPI


v80 - 14W08

  • No change


v79 - 14W08

NUCLEO_F030R8

  • Fix issue with us_ticker

NUCLEO_F103RB

  • Fix issue with us_ticker

NUCLEO_F401RE

  • Improve sleep and us_ticker

NUCLEO_L152RE

  • Improve sleep and us_ticker


v78 - 14W08

  • No change


v77 - 14W07

  • Add NUCLEO_F030R8, NUCLEO_F401RE, NUCLEO_F103RB, NUCLEO_L152RE SDKs