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

Table of Contents

  1. mbed-os-5.9.6 - 18W35
  2. mbed-os-5.9.5 - 18W33
  3. mbed-os-5.9.4 - 18W31
  4. mbed-os-5.9.3 - 18W29
  5. mbed-os-5.9.2 - 18W27
  6. v162/mbed-os-5.9.1 - 18W25
  7. mbed-os-5.9.0 - 18W24
  8. mbed-os-5.8.6 - 18W23
  9. mbed-os-5.8.5 - 18W21
  10. mbed-os-5.8.4 - 18W19
  11. mbed-os-5.8.3 - 18W17
  12. v161/mbed-os-5.8.2 - 18W15
  13. mbed-os-5.8.1 - 18W13
  14. mbed-os-5.8.0 - 18W13
  15. v160/mbed-os-5.7.7 - 18W12
  16. mbed-os-5.7.6 - 18W09
  17. v159/mbed-os-5.7.5 - 18W07
  18. mbed-os-5.7.4 - 18W05
  19. v158/mbed-os-5.7.3 - 18W03
  20. mbed-os-5.7.2 - 18W01
  21. mbed-os-5.7.1 - 17W52
  22. mbed-os-5.7.0 - 17W51
  23. v157/mbed-os-5.6.6 - 17W49
  24. v156/mbed-os-5.6.5 - 17W47
  25. v155/mbed-os-5.6.4 - 17W45
  26. v154/mbed-os-5.6.3 - 17W43
  27. v153/mbed-os-5.6.2 - 17W41
  28. v152/mbed-os-5.6.1 - 17W40
  29. v151/mbed-os-5.5.7 - 17W37
  30. v150/mbed-os-5.5.6 - 17W35
  31. v149/mbed-os-5.5.5 - 17W33
  32. v148/mbed-os-5.5.4 - 17W31
  33. v147/mbed-os-5.5.3 - 17W29
  34. v146/mbed-os-5.5.2 - 17W27
  35. v145/mbed-os-5.5.1 - 17W25
  36. v144/mbed-os-5.4.7 - 17W23
  37. v143/mbed-os-5.4.6 - 17W21
  38. v142/mbed-os-5.4.5 - 17W19
  39. v141/mbed-os-5.4.4 - 17W17
  40. v140/mbed-os-5.4.3 - 17W15
  41. v139/mbed-os-5.4.2 - 17W13
  42. v138/mbed-os-5.4.1 - 17W11
  43. v137/mbed-os-5.3.6 - 17W09
  44. v136/mbed-os-5.3.5 - 17W07
  45. v135 - 17W05
  46. v134 - 17W03
  47. v133 - 17W01
  48. v132 - 16W51
  49. v131 - 16W50
  50. v130 - 16W47
  51. v129 - 16W45
  52. v128 - 16W43
  53. v127 - 16W39
  54. v126 - 16W37
  55. v125 - 16W35
  56. v124 - 16W33
  57. v123 - 16W32
  58. v122 - 16W30
  59. v121 - 16W21
  60. v120 - 16W19
  61. v119 - 16W17
  62. v118 - 16W15
  63. v117 - 16W13
  64. v116 - 16W11
  65. v115 - 16W09
  66. v114 - 16W07
  67. v113 - 16W05
  68. v112 - 16W02
  69. v111 - 15W51
  70. v110 - 15W48
  71. v109 - 15W44
  72. v108 - 15W40
  73. v107 - 15W38
  74. v106 - 15W36
  75. v105 - 15W34
  76. v104 - 15W32
  77. v103 - 15W30
  78. v102 - 15W28
  79. v101 - 15W24
  80. v100 - 15W22
  81. v99 - 15W20
  82. v98 - 15W18
  83. v97 - 15W16
  84. v96 - 15W12
  85. v95 - 15W10
  86. v94 - 15W08
  87. v93 - 15W06
  88. v92 - 14W48
  89. v91 - 14W44
  90. v90 - 14W44
  91. v89 - 14W37
  92. v88 - 14W33
  93. v87 - 14W30
  94. v86 - 14W27
  95. v85 - 14W24
  96. v84 - 14W21
  97. v83 - 14W18
  98. v82 - 14W15
  99. v81 - 14W12
  100. v80 - 14W08
  101. v79 - 14W08
  102. v78 - 14W08
  103. v77 - 14W07

mbed library change log
http://developer.mbed.org/users/mbed_official/code/mbed/shortlog

mbed-os-library releases
https://github.com/ARMmbed/mbed-os/releases


mbed-os-5.9.6 - 18W35

STM32F1

  • Fix RTC wrong Sunday value

STM32

  • Fix wrong MBED_ASSERT usage in clock setting

NUCLEO_F303RE

  • Add bootloader support

STM32

  • Fix LPTICKER/RTC wake up timer issue: timer is now reset before setting a new value


mbed-os-5.9.5 - 18W33

STM32F439xI

  • Decrease stack and increase heap sizes in IAR linker file

STM32F1

  • Update to CubeF1 V1.6.1

STM32F7

  • Remove HAL_InitTick() declaration in us_ticker_data.h files

STM32

  • Remove uart force_reset at init

STM32

  • Check for UART ongoing transfers before entering deepsleep


mbed-os-5.9.4 - 18W31

STM32

  • Improve GPIO IRQ edge detection when waking-up from deepsleep

STM32F2/F4/F7

  • Use LL API for IRQ

STM32L496

  • Fix RAM size in ARM scatter file


mbed-os-5.9.3 - 18W29

STM32

  • Add lpuart_clock_source config
  • Fix RTC test issue on targets using a 16-bit timer for us_ticker
  • Refactor us_ticker files
  • Bypass RTC shadow registers
  • Improvement of lp_ticker code
  • Enable HSI/LSE clocks for LPUART

DISCO_L496AG

  • Change LED1 and LED2 pins

DISCO L4

  • Add TWO_RAM_REGIONS macro


mbed-os-5.9.2 - 18W27

STM32

  • Disable STM ethernet driver hardware checksum calculation
  • Fix data alignment issue in HASH function for F2, F7, L4
  • STM32: Reduce HAL_deepsleep stack usage
  • Update all files with MBED astyle rules
  • Get serial RX/TX active state

NUCLEO_F429ZI

  • Fix LED_RED mapping


v162/mbed-os-5.9.1 - 18W25

STM32

  • Increase sampling time for ADC internal channels
  • Remove support of LPTICKER on small targets (F030R8, F031K6, F042K6, F051R8, F103C8)
  • Add ISM43362 driver support for DISCO boards with WIFI (DISCO_L475, DISCO_F413)
  • Replace HAL_GetTick function
  • Ethernet: remove TX RX locking interrupt perforation

STM32F4

  • Fix data aligment problem in hash write function

STM32F76x

  • Add support of dual bank flash mode

DISCO_F413ZH

  • Use SPI_3 to control the WIFI module on the board

STM32L433RC

  • Add IAR exporter


mbed-os-5.9.0 - 18W24

  • No change


mbed-os-5.8.6 - 18W23

STM32

  • Add the possibility for the user to define its own Ethernet PHY init functions
  • Fix SPI NSS pin configuration
  • Rework all PeripheralPins.c and PinNames.h files
  • Increase ADC internal channels sampling time

STM32L433RC

  • Add IAR exporter definition

DISCO_F413ZH

  • Set PB_4/PB_5 on SPI3 instead of SPI1


mbed-os-5.8.5 - 18W21

STM32

  • Fix for Ethernet: remove tx/rx locking interrupt perforation
  • Fix invalid config header path in SW4STM32 exporter

STM32F3

  • Update with STM32CubeF3 V1.9.0


mbed-os-5.8.4 - 18W19

STM32L0

  • Update with CubeL0 V1.10.0

STM32

  • RTC Init minor update

NUCLEO_F411RE

  • Add bootloader support


mbed-os-5.8.3 - 18W17

STM32

  • Improvement of deep sleep clock configuration
  • Fix issue with PCD negative numbers
  • Fix compilation warning issues

STM32L4

  • Correct armc6 detection logic

DISCO_F769NI

  • Set clock_source to USE_PLL_HSE_EXTC

STM32L151CC

  • Add iar export support

STM32L496AG

  • Add IAR exporter


v161/mbed-os-5.8.2 - 18W15

STM32L1

  • Update ST HAL driver to CubeL1 v1.8.1


mbed-os-5.8.1 - 18W13

DISCO_L496AG

  • Add new platform

STM32

  • Fix issue with RTC: When LSE is configured LSI should not be affected
  • Optimize RTC wake up timer init for LPticker

NUCLEO_L433RC_P

  • Fix pins definitions

STM32L4

  • Fix ADC Internal Channels sampling time and channels management


mbed-os-5.8.0 - 18W13

  • No change


v160/mbed-os-5.7.7 - 18W12

STM32L475 / L476 / L486

  • Use SRAM2 for stack and SRAM1 for heap

STM32

  • Update RTC free function


mbed-os-5.7.6 - 18W09

DISCO_F303VC

  • STDIO pins correction and alignment with STM32 family

STM32L0/STM32L4

  • Enable use of LPUART in stop mode

STM32F7

  • Update ST HAL driver with CubeF7 v1.10.0

STM32F4

  • Update ST HAL driver with CubeF4 v1.19.0

NUCLEO_F429ZI

  • Add support of Asynchronous SERIAL communication

STM32

  • Improvement of STDIO pin redefinition mechanism


v159/mbed-os-5.7.5 - 18W07

STM32

  • Set all PinMap structures as weak
  • Fix a bug with UART irq index
  • Add FIFO flush before transfer in SPI async api

NUCLEO F413ZH / NUCLEO_L433RC

  • Fix STDIO configuration

STM32L4

  • Add missing ST HAL UART functions

STM32L476/486

  • Improve SRAM usage for IAR (use both SRAM areas)

STM32F7

  • Add bootloader support

DISCO_L072CZ_LRWAN1

  • Move target folder


mbed-os-5.7.4 - 18W05

DISCO_F407VG

  • Alignment with other STM32
  • Correct ARM scatter file

DISCO_L475VG_IOT01A

  • Improve SRAM use for IAR toolchain

NUCLEO_F401RE

  • Update PeripheralPins file

STM32F0

  • Fix issue with usarts sharing the same irq vector

STM32F2

  • Add support of Flash API

STM32Lxxx

  • Update HAL_RCC_OscConfig in PLL configuration

STM32

  • Add LPTIM feature and LPT optimization
  • STDIO pins number are now configurable
  • CAN: fix wrong ID and MASK filter
  • Fix serial 7bit data format


v158/mbed-os-5.7.3 - 18W03

NUCLEO_F413ZH

  • Add new platform

STM32

  • Fix issue to exit deepsleep when RTC has not been initialized
  • Add support of Flash API for STM32F0, STM32F1 and STM32F3 devices
  • Improve UART init: factorize code, possibility to change default STDIO baudrate

STM32F0

  • Update HAL driver with Cube V1.9.0


mbed-os-5.7.2 - 18W01

STM32

  • USBHost files refactoring

STM32F7

  • Fix Ethernet issue by adding memory barriers


mbed-os-5.7.1 - 17W52

STM32

  • Fix wrong CAN RTR position bit in TX mailbox register
  • Fix issue with CAN3 declaration
  • Fix compilation issue when USE_FULL_ASSERT macro is used
  • Improvement of Low Power Timer

NUCLEO_L433RC-P

  • Add new platform

DISCO_F413ZH

  • Add support of USB Device

DISCO_L475VG_IOT01A

  • Add IAR exporter


mbed-os-5.7.0 - 17W51

STM32

  • I2C: Configure pins in OpenDrainNoPull by default (no pullup)
  • Add ADC calibration for L4, F1, F3 devices
  • Initialize ADC peripheral for each AnalogIn object creation


v157/mbed-os-5.6.6 - 17W49

STM32

  • Add USB Device on DISCO_F429ZI
  • SPI 3 wires mode not supported in SPI slave

DISCO_L072CZ_LRWAN1

  • Can use LSE clock from LORA module

STM32F407VG

  • Fix RTC issue

NUCLEO_L432KC

  • Fixed async serial issue

DISCO_F429ZI

  • Support bootloader

DISCO_F746NG

  • Add usp_speed configuration


v156/mbed-os-5.6.5 - 17W47

NUCLEO_L496ZG_P

  • Add new platform

STM32F412

  • Fix IAR linker file issue (wrong RAM size)

STM32

  • Fix Flash 2MB GetSector issue
  • Fix Ethernet RMII issue
  • Fix memory corruption in Receive in HAL smartcard files
  • Add support of CAN3

DISCO_L475VG_IOT01A

  • Add bootloader support

DISCO_L072CZ_LRWAN1

  • HSE clock configuration improvement


v155/mbed-os-5.6.4 - 17W45

NUCLEO_L496ZG

  • Add new platform

DISCO_L475VG_IOT01A, DISCO_L072CZ_LRWAN1

  • Activate the FLASH hal support

NUCLEO_F207ZG

  • Analogout improvement

NUCLEO_F070RB

  • Fix out of memory problem for mail, race, malloc and semaphore tests

STM32F4/STM32L4

  • Remove HAL MSP template file

STM32F7

  • Fix Ethernet issue for STM32F767 revA devices

STM32

  • TRNG: remove call to deprecated HAL_RNG_GetRandomNumber
  • Remove compilation warnings (analogout, serial, ethernet, I2C, flash)


v154/mbed-os-5.6.3 - 17W43

NUCLEO-32pins boards

  • Add alternate pins (Px_y_ALTz)

STM32

  • Fix an issue with GCC in analogout and RTC api files (structures not well initialized after Reset)
  • RTC: Call irq_handler whenever interrupt fires

NUCLEO_F446RE

  • Add bootloader support


v153/mbed-os-5.6.2 - 17W41

STM32

  • Add the possibility to freeze the master Timer when in Debug (need FREEZE_TIMER_ON_DEBUG macro to be set)
  • Improvement of Flash api (Lock/Unlock for each operation)
  • Remove HSE_XTAL clock setting per defaultin targets.json
  • USBDevice files clean-up

STM32F7

  • Fix RTC WakeUp Timer issue (change in ST HAL - PR #5208)

NUCLEO_L432KC

  • Increase RAM size from 48K to 64K


v152/mbed-os-5.6.1 - 17W40

NUCLEO_F070RB/F072RB

  • IAR stack size decreased from 2KB to 1KB

STM32F4/F7

  • Add support of Flash API

STM32L0/L1

  • Change minimum Flash programmation size to 4 bytes

STM32L4

  • Change minimum Flash programmation size to 8 bytes

STM32

  • Fix CAN Reset issue to not lose context
  • us_ticker improvements
  • Improvement of sw4stm32 toolchain exporter


v151/mbed-os-5.5.7 - 17W37

NUCLEO_F103RB

  • Fix a bug with AFIO clock not enabled for debug pins (JTAG/SWD)

NUCLEO_F401RE

  • Freeze master timer on stop/breakpoint

STM32F4

  • Increase ADC sample time for VREF

STM32

  • Add support of SPI 3 wires communication


v150/mbed-os-5.5.6 - 17W35

NUCLEO_F410RB

  • Fix issue in ARM and uARM scatter files for reserved RAM area used by interrupt vectors

NUCLEO_L053R8/DISCO_L053C8

  • Refactor files

STM32

  • Fix bug in can_speed function
  • Disable/enable IRQs in sleep/deep_sleep functions


v149/mbed-os-5.5.5 - 17W33

STM32

  • Improvement of analogin files

STM32F4

  • Fix bug in stm32f4xx_hal_mmc.c file

NUCLEO_F412ZG

  • Add support of FLASH API


v148/mbed-os-5.5.4 - 17W31

STM32F0

  • Refactor system_stm32f0xx.c file (clock configuration is done now in system_clock.c)
  • Remove STDIO_TX/RX pins usage on peripherals other than Serial
  • Replace TC by TXE flag in uart_irq

STM32F1

  • Improve I2C transmit/receive processing
  • Refactor system_stm32f1xx.c file (clock configuration is done now in system_clock.c)
  • Replace TC by TXE flag in uart_irq

STM32F2

  • Improve I2C transmit/receive processing
  • Refactor system_stm32f2xx.c file (clock configuration is done now in system_clock.c)
  • Replace TC by TXE flag in uart_irq

STM32F3

  • Refactor system_stm32f3xx.c file (clock configuration is done now in system_clock.c)
  • Replace TC by TXE flag in uart_irq

STM32F4

  • Improve I2C transmit/receive processing
  • Replace TC by TXE flag in uart_irq

STM32F7

  • Refactor system_stm32f7xx.c file (clock configuration is done now in system_clock.c)
  • Replace TC by TXE flag in uart_irq

NUCLEO_F767ZI

  • Change in GCC_ARM startup file

STM32L0

  • Refactor system_stm32l0xx.c file (clock configuration is done now in system_clock.c)
  • Replace TC by TXE flag in uart_irq

DISCO_L053C8/NUCLEO_L053R8

  • Fix bug in DAC pin configuration

STM32L1

  • Improve I2C transmit/receive processing
  • Refactor system_stm32l1xx.c file (clock configuration is done now in system_clock.c)
  • Replace TC by TXE flag in uart_irq
  • Add support of FLASH API

STM32L4

  • Refactor system_stm32l4xx.c file (clock configuration is done now in system_clock.c)
  • Replace TC by TXE flag in uart_irq

STM32

  • Fix issue with can_init_freq function
  • Improvement of GPIO IRQ configuration
  • Improvement of I2C write/read
  • Use targets.json file to configure the system clock


v147/mbed-os-5.5.3 - 17W29

NUCLEO_F070RB

  • Improvement of GCC_ARM startup file

STM32F0/F3/F7/L0/L4

  • Improvement of Serial interrupt flags management

STM32F429xx

  • Add support of Flash API
  • Add support of all alternate-functions pins

STM32F4

  • Increase ADC sampling time to 480 cycles for VBAT internal channel


v146/mbed-os-5.5.2 - 17W27

NUCLEO_F070RB

  • Divide HSI PLL clock by 2

STM32F4

  • Set HSE timeout to 100ms instead of 5s
  • Refactor system_stm32f4xx.c file (clock configuration is done now in system_clock.c)

STM32

  • Refactor of DAC (AnalogOut) code
  • Improve spi_master_write function using LL driver
  • Improve us_ticker_set_interrupt function

DISCO_F413ZH

  • Add new target

STM32F7

  • Update CubeF7 HAL driver to V1.2.2 14-Apr-2017

STM32L0

  • Increase ADC sampling time to 239.5 cycles

DISCO_L475VG_IOT01A

  • Fix startup issues related to cmsis5/rtx5 update


v145/mbed-os-5.5.1 - 17W25

STM32

  • Clock configuration moved from SystemInit() to mbed_sdk_init() (due to CMSIS5 update)
  • Improvement of 16bit ticker, pin_function(), CAN (Add can_init_freq() function), RTC, Serial, SPI master block write

STM32F2

  • Update CubeF2 HAL driver to V1.2.1 14-Apr-2017
  • Update CMSIS F1 driver to V2.2.0 17-Mar-2017

STM32F4

  • Update CubeF4 HAL driver to V1.7.1 14-Apr-2017
  • Update CMSIS F1 driver to V2.6.1 14-Feb-2017

STM32L4

  • Update CubeL4 HAL driver to V1.7.1 21-Apr-2017
  • Update CMSIS F1 driver to V1.3.1 21-Apr-2017

DISCO_L475VG_IOT01A

  • Add new target


v144/mbed-os-5.4.7 - 17W23

STM32

  • NVIC_SetVector function changed (test RAM address instead of Flash address)


v143/mbed-os-5.4.6 - 17W21

STM32F1

  • Update CubeF1 HAL driver to V1.1.0 14-Apr-2017
  • Update CMSIS F1 driver to V4.2.0 31-Mar-2017

NUCLEO_F207ZG/F429ZI/F439ZI/F746ZG/F756ZG/F767ZI

  • Add STM32_D11_SPI_ETHERNET_PIN configuration (set in targets.json file)

STM32F3

  • Fix in stm32f3xx_hal_pcd.h

STM32F4

  • Fix in stm32f3xx_hal_dma.c/h

STM32F429xI

  • Decrease stack size to 4KB

STM32L0

  • Fix in stm32l0xx_hal_rcc_ex.c

DISCO_L072CZ_LRWAN1

  • Add new target


v142/mbed-os-5.4.5 - 17W19

STM32

  • Add definition of BUTTON1 (same as USER_BUTTON)


v141/mbed-os-5.4.4 - 17W17

STM32

  • Move ADC internal channel "pins" in dedicated PinMap_ADC_Internal const table (not tested by ci-test-shield).

STM32F469xI/F756xG/F767xI/F769xI

  • IAR Heap size increased to 64KB


v140/mbed-os-5.4.3 - 17W15

NUCLEO_F303ZE

  • Correct A0-A5 and D0-D1 pins definition

DISCO_L053C8, NUCLEO_L031K6/L053R8

  • Decrease IAR heap/stack size

NUCLEO_L011K4

  • Remove ARM_STD, GCC_ARM and IAR toolchains files (not supported)

NUCLEO_L476RG

  • Add UART on PB_10/PB_11 pins

STM32

  • Fix in I2C slave address management


v139/mbed-os-5.4.2 - 17W13

NUCLEO_F439ZI

  • Add mbedTLS

NUCLEO_F302R8

  • Add PB_8/PB_9 pins for CAN

STM32F429/F439

  • Set IAR heap to 64KB

STM32F7

  • Update CubeF7 HAL driver to V1.2.0 30-Dec-2016
  • Update CMSIS F7 driver to V1.2.0 30-Dec-2016
  • Add missing initialization of TimMasterHandle.Init.AutoReloadPreload element in HAL_InitTick function


v138/mbed-os-5.4.1 - 17W11

NUCLEO_F103RB

  • Fix issue with CAN_RD pin

STM32F429xx

  • Fix startup issue for ARM and IAR (introduced by uVisor)

NUCLEO_F446ZE

  • Add AnalogIn on PF_3/PF_5/PF_10 pins

STM32F746xG

  • Increase heap size to 0x13000 for IAR

STM32L476xG

  • Set APB2 clock to 80MHz (used by SPI)

STM32

  • Factorization of CAN and PWM files
  • Factorization and improvement of GPIO
  • Fix issues with RTC (weekday, rtc_isenabled)
  • Fix issues with deepsleep (STM32L4)


v137/mbed-os-5.3.6 - 17W09

STM32F7

  • Take into account 25MHz xtal -used by HSE_VALUE macro) on some boards.

STM32L4

  • Add clearing of RTC_FLAG_WUTF flag in HAL_RTCEx_SetWakeUpTimer_IT() function (CubeL4 HAL driver).

STM32

  • Bug fix in spi_frequency() function


v136/mbed-os-5.3.5 - 17W07

NUCLEO_F207ZG

  • Add definition of "Pxx_ALTn" pins

STM32L0

  • Add LL Cube driver

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

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

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

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

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

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

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 platforms

  • 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 platforms

  • 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 platforms

  • 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 platforms

  • 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 platforms

  • 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 platforms

  • 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