Commit Graph

17 Commits (mbed-os-5.9)

Author SHA1 Message Date
bcostm d3e35ab118 stm32 ticker: typo corrections 2018-07-15 22:53:45 -05:00
bcostm ccb538562f stm32 ticker: change license 2018-07-15 22:53:45 -05:00
bcostm 9a480e3260 stm32 ticker: rename hal_tick.h in us_ticker_data.h 2018-07-15 22:53:45 -05:00
bcostm 92fe07f02f stm32 ticker: rename macro and update ST HAL Tick functions
- rename TIM_MST_16BIT in TIM_MST_BIT_WIDTH in order to use it directly in ticker info structure
- change HAL_InitTick() and HAL_GetTick()
2018-07-15 22:53:45 -05:00
bcostm 8b7e62bf65 Remove HAL_TICK_DELAY (no more used) 2018-06-15 13:30:56 +01:00
jeromecoutant ea9c1f29a1 STM32F4 Cube v1.19.0 update : ST CMSIS files
Previous version was v1.16.0
2018-02-15 16:33:32 +01:00
Pavel Sorejs 97cb8519c8 Add bootloaderd support to NUCLEO_F446RE target 2017-10-12 19:44:02 +02:00
bcostm 9f86a32baf Add freeze timer on debug for all STM32 devices
This is a continuation of the work done on the STM32F401xE devices only.
2017-09-18 13:31:46 +02:00
Jimmy Brisson 15a9a0382b Enable Compiling with ARMC6 across all targets
remove duplicate sys.cpp
2017-09-11 13:20:32 -05:00
Laurent MEUNIER 645fd0f06d STM32: Add Flash API support to STM32F4 devices with 512KB Flash
First add the flash_data.h that describe the flash memory topology,
and also activate FLASH support for the corresponding targets.
2017-08-25 17:20:13 +02:00
Jimmy Brisson c7d6bbe295 Upcase all assembler file extensions 2017-06-20 14:50:08 -05:00
Sam Grove 72de85c62f Merge pull request #4417 from monkiineko/master
STM32: Fix 32-bit us ticker interrupt scheduling
2017-06-06 19:59:52 -05:00
Bradley Scott 260378e774 STM32: Fix 32-bit us ticker interrupt scheduling
For STM32 targets using a 32-bit timer for the microsecond ticker, the
driver did not properly handle timestamps that are in the past.  It
would just blindly set the compare register to the requested timestamp,
resulting in the interrupt being serviced up to 4295 seconds late
(i.e. after the 32-bit timer counts all the way around to hit the
timestamp again).

This problem can easily be reproduced by creating a Timeout object
then calling the timeout's attach_us() member function to attach a
callback with a timeout of 0 us.  The callback will not get called for
over 2147 seconds, and possibly up to 4295 seconds late if no other
microsecond ticker events are getting scheduled in the meantime.

Now, after the compare register has been set, the timestamp is checked
against the current time to see if the timestamp is in the past, and
if so, the compare event is manually set.

NOTE: By checking if the timestamp is in the past after configuring the
capture register, we ensure proper handling in the case where the timer
updates past the timestamp while setting the capture register.
2017-06-01 12:52:03 -04:00
Bartek Szatkowski b97ffe8fdc CMSIS5: Replace target defined NVIC_Set/GetVector with CMSIS implementation 2017-05-30 18:55:51 +01:00
jeromecoutant 927cba8fa5 STM32F4: remove deprecated macro 2017-05-11 12:38:49 +02:00
jeromecoutant 39d981cf70 STM32Cube_FW_F4_V1.16.0
CMSIS v2.5.0 => v2.6.1
STM32F4 HAL v1.5.0 => v1.7.1
2017-05-10 10:00:42 +02:00
adustm 43f508947d STM32F446xE folder structure update 2017-01-27 15:41:49 +01:00