Arduino Core for STM32 1.4.0
This release includes:
-
Added support of:
- Nucleo L4R5ZI (thanks @Lannakin)
- Nucleo L4R5ZI-P (thanks @Lannakin)
- Black F407VET6 (thanks @edogaldo )
- Blue F407VET6 Mini (thanks @edogaldo )
- Nucleo F767ZI (thanks @davidangerls)
- RemRam v1 (thanks @hasenbanck )
- Nucleo L073RZ (thanks @zoomx )
- RAK811 LoRa Tracker (Basic support) (thanks @sabas1080 )
-
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
andPIN_SERIALx_TX
invariant.h
if user instantiate a hardware Serial using peripheral name.
Example:
HardwareSerial mySerial(USART3);
will usePIN_SERIAL3_RX
andPIN_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 thebuild_opt.h
.
CMSIS_STARTUP_FILE
could now be overridden using thebuild_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 invariant.h
SD_DATATIMEOUT
could be redefined invariant.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 ofHAL/
Splitstm32yyxx_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 ;)