Arduino Core for STM32 1.6.0
This release includes:
Add support of:
- Nucleo H743ZI2
- Nucleo G071RB
- P-Nucleo WB55RG (No BLE support at this time)
- Sparky V1
- STEVAL-3DP001V1
- VAkE v1.0
HAL Drivers and CMSIS updated:
- STM32F0xx HAL Drivers to v1.7.2
- STM32F4xx HAL Drivers to v1.7.6
- STM32F4xx CMSIS to v2.6.3
- STM32F7xx HAL Drivers to v1.2.7
- STM32F7xx CMSIS to v1.2.4
- STM32H7xx HAL Drivers to v1.5.0
- STM32H7xx CMSIS to v1.5.0
- STM32L0xx HAL Drivers to v1.10.2
- STM32L1xx HAL Drivers to v1.4.0
- STM32L1xx CMSIS to v2.3.0
- STM32L4xx HAL Drivers to v1.10.0
- STM32L4xx CMSIS to v1.5.1
HAL Drivers and CMSIS added:
- STM32G0xx HAL Drivers v1.2.0
- STM32G0xx CMSIS v1.2.0
- STM32WBxx HAL Drivers v1.1.0
- STM32WBxx CMSIS v1.1.0
Core dependencies:
- Moved from CMSIS 5.3.0 to 5.5.1
- Moved from arm-none-eabi-gcc 6-2017-q2-update to 8-2018-q4-major
- Updates STM32 Tools 1.3.0
Enhancements/improvements:
- Introduce code formatting using Astyle 3.1:
- code style definition: .astylerc
- ignored path: .astyleignore
- python script to launch Astyle: astyle.py
- Add STM32 core version. See Wiki
- Code cleaning/hardening:
- Clean useless legacy comments
- Remove useless array for digital pins configured
- Dynamically handle I2C, UART and Timer indexes
- [USB HID] Harden init
- [I2C] Harden init and save space
- [UART] Save space and avoid loop to search the right
serial_t obj
- Several update for USB device from @makarenya and @ghent360
- [RTC] Handle reset time (#266)
- [DWT] Add API to enable DWT access
- Use
DWT
cycle counter fordelayMicroseconds()
- [DISCO_L072CZ_LRWAN1] Enable USB clock
- [Timer] Extend channels support (#477)
- Support custom
USBD_reenumerate
(#500) - Re-evaluate interrupt priority values(#472). See Custom-definitions
- Introduce STM32CubeProgrammer:
- Replace STLink and Serial upload methods
- Add DFU upload method
Warning: user have to install the STM32CubeProgrammer manually, it is not provided by the STM32 tools package.
- Review HAL configurations to add some enhancement and flexibility, see #518 and HAL configuration WiKi page
- Add DTR toggling sequence support:
- Enabled thanks:
DTR_TOGGLING_SEQ
- User can redefine its own hook by redefining:
dtr_togglingHook(uint8_t *buf, uint32_t *len)
- Enabled thanks:
- Maple bootloader support (legacy) thanks @BennehBoy and @Serasidis
- Add dummy
analogReference()
for compatibility - Add internal ADC channels support. See Wiki
- HID Bootloader v2.2 support thanks @Serasidis :
https://github.com/Serasidis/STM32_HID_Bootloader - Add general call mode API. See Wiki
Fixes:
- [UART] Fix serial port full-duplex bug
- [UART] Fix error callback (clear flags and restart receive IT)
- Fix to build with ISO C standard
- Fix
dtostrf()
with value in range -1.0 < val < 0.0 (#513)
Plus several other fixes: See 1.5.0...1.6.0
Several components libraries are available on stm32duino organization.
They are also available through the Arduino library manager. Search for STM32duino ;)
known issues
- Linker error if path contains space.:
<...>/stm32/tools/arm-none-eabi-gcc/8-2018-q4-major/bin/../lib/gcc/arm-none-eabi/8.2.1/lto-wrapper.exe: No such file or directory
See stm32duino/arm-none-eabi-gcc#1