Commit Graph

13 Commits (b0153b7fc5aa9cf1f8ff901b6dc869470e56d67f)

Author SHA1 Message Date
Michel Jaouen 169e577145 INIT:GCC add call to HAL_Init system_init, stops all on going timer. gcc _start , perform zero initialized. => HAL_Init must be done again also in GCC toolchain 2016-11-08 10:43:25 +00:00
Michel Jaouen 550afdffd7 STM32L1xx : GCC_ARM remove zero bss, in startup. zero bss is done in libc init after call to _start. 2016-11-08 10:43:18 +00:00
Michel Jaouen b6f411e25a STM32L1xx : GCC_ARM a call to _start which performs zero bss, C++ init and the call to main. Remove direct call to __libc_init_array and main not needed as _start is beeing called. 2016-11-08 10:43:17 +00:00
bcostm f118e893fd STM32xx - Change how the ADC internal pins are checked before pinmap_pinout 2016-11-08 10:42:57 +00:00
Laurent MEUNIER 92ccc058d2 Fix pull over write to all families
This applies the same fix as was done for F4 to solve issue #2638.
The fix applies ell to all other families excpet STM32F1.

Basically, to avoid over-writing the pull-up/-down settings, we read the
current state from HW.
2016-10-19 17:24:17 -05:00
Brian Daniels 1b61b2cc0c Remove shared spi_s struct from XDOT_L151CC 2016-10-14 16:15:39 -05:00
Laurent MEUNIER 0e5d0bda91 Deploy SPI_ASYNCH to all family
the SPI_ASYNCH feature has been already activated for STM32F4.
This patchset makes it supported on all STM32 families by:
- moving spi_s structure at family level instead of board level
- using the F4 spi_api.c reference implementation and making it a common
stm_spi_api.c file which makes maintenance a lot easier.
- the only part that needs to be implemented for each family is the computation
of the clock frequency input to the spi peripheral which is not the same
accross families. So this is what remains in the spi_api.c of each family.

Because of the introduction of the common file, all the above modifications
needs to be done at once.
2016-10-14 16:15:27 -05:00
bcostm a48d6f3337 STM32L1xx - Add support of ADC internal channels (Temperature, VRef) 2016-10-10 17:25:04 +01:00
bcostm adb13bdc10 STM32L1xx - Use STM_PIN_DATA_EXT macro and obj->channel field to facilitate channels configuration 2016-10-10 17:25:03 +01:00
Christopher Haster 914d9f09be restructure - Restructured cmsis directory
targets/cmsis -> cmsis
targets/cmsis/TARGET_* -> targets/TARGET_*/device
targets/cmsis/TARGET_*/mbed_rtx.h -> targets/TARGET_*/mbed_rtx.h
2016-10-10 17:24:52 +01:00
Laurent MEUNIER e8675033f4 [STM32] remove superfluous calls to SystemCoreClockUpdate
Supported toolchains initialization steps have been modified to make sure
that mbed_sdk_initi is called _after_ RAM initialization and _before_ C++
objects creation.

since this was done, there is no need to redundant SystemCoreClockUpdates
in the drivers
2016-10-04 15:08:28 -05:00
Laurent MEUNIER fe9d3174bf INIT:GCC no rtos: Align pre-main initialization steps between TCs
Various toolchains supported in MBED don't follow the same initialization
steps. This can have impacts on platform behavior.

For STM32, it is needed to call the HAL_Init() _after_ the  RAM has been
initialized (sdata from flash / zero initialized data) and _before_ the C++
objects are being created, especially if those objects require support
of tickers for instance.

In GCC, this is easily done because SystemInit is called after the ram
initialisation, so HAL_Init does not need to called from mbed_sdk_init.
this is covered by the changes in mbed_overrides.c files.

This series should solve issue reported here:
STM32 (At least F401) breaks if Tickers are activated in a global object #2115
2016-10-04 14:55:20 -05:00
Christopher Haster 0bad622a16 restructure - Moved targets out to top level
hal/targets -> targets
hal/targets.json -> targets/targets.json
2016-09-30 19:18:09 -05:00