Skip to content

Arduino Core for STM32 1.4.0

Compare
Choose a tag to compare
@fpistm fpistm released this 31 Oct 17:19

Github Releases (by Release)

This release includes:

  • Added support of:

  • HAL Drivers and CMSIS updated:

    • STM32F3xx HAL Drivers to v1.5.2
    • STM32F3xx CMSIS to v2.3.3
    • STM32F7xx HAL Drivers to v1.2.6
    • STM32F7xx CMSIS to v1.2.3
    • STM32L4xx HAL Drivers to v1.9.0
    • STM32L4xx CMSIS to v1.5.0
  • [F1xxx] LSI typical value is 40kHz

  • Fix I2C issues raised since IT mode introduction

  • Add I2C Scanner examples thanks @Testato

  • WString: add toDouble (Arduino compatibility)

  • [U(S)ART] Allow to use defined PIN_SERIALx_RX and PIN_SERIALx_TX in variant.h if user instantiate a hardware Serial using peripheral name.
    Example:
    HardwareSerial mySerial(USART3);
    will use PIN_SERIAL3_RX and PIN_SERIAL3_TX if defined.

  • Allow use of a custom startup file:
    Syntax in the board.txt:
    xxx.build.startup_file=-DCUSTOM_STARTUP_FILE

    Example to use a custom startup file for Nucleo_L476RG:
    Nucleo_64.menu.pnum.NUCLEO_L476RG.build.startup_file=-DCUSTOM_STARTUP_FILE
    Then add a "*.S" file in the "variant/NUCLEO_L476RG/" folder
    Important note: extension must be '.S' not '.s'

    CUSTOM_STARTUP_FILE could also be defined thanks the build_opt.h.
    CMSIS_STARTUP_FILE could now be overridden using the build_opt.h, ex:
    -DCMSIS_STARTUP_FILE=\"startup_stm32l476xx.s\"

  • Remove SD core dependencies. STM32SD will be able to handle properly SD detect pin and FatFs options.
    SD_DETECT_PIN pin number definition could be added in variant.h
    SD_DATATIMEOUT could be redefined in variant.h

  • Use define instead of enum for pins in variant.h thanks @ghent360 (Arduino compatibility)

  • Fix _sbrk() to avoid user heap to override the minimum stack size

  • Define _sbrk() as weak

  • [Nucleo-L476RG] Fix available SRAM size

  • [Nucleo-L432KC] Provide full SRAM access

  • Enable FPU Single Precision (SP) for Nucleo-F303K8

  • Add keywords.txt (Arduino compatibility)

  • Fix std::abs() usage

  • Add script to build the core thanks Travis (CI build)

  • Add menu options for C RunTime library

  • Change hourAM_PM_t enum member name. Required by STM32RTC library higher than 1.1.0.

  • [EEPROM] Fix address capablilities

  • [EEPROM] Allow FLASH definition to be redefined

  • [EEPROM emulation] Rework for buffered access thanks @hasenbanck

  • [U(S)ART] Fix AF settings

  • Update LL wrapper files management. Move all LL wrapper file in LL/ directory instead of HAL/
    Split stm32yyxx_ll.h file per feature (stm32yyxx_ll_*.h), this allow a better granularity and to include only the required LL header file instead of the full list.

  • Add built-in IWatchdog library thanks @ghent360.

  • Add debug(const char *format, ...) function

  • Remove GSM built-in library

  • Remove UART emulation

Plus some other small fixes: See 1.3.0...1.4.0

Several components libraries are available on stm32duino organization.
They are also available through the Arduino library manager. Search for STM32duino ;)