Commit Graph

581 Commits (6ee4c7e21963b184b1f93c0bf9375b583dbc9051)

Author SHA1 Message Date
Martin Kojtal 7499177a5b Merge pull request #3076 from bcostm/fix_issue-2910_nucleo-f103rb
STM32F1: Correct timer master value reading
2016-10-26 13:55:29 +02:00
Bradley Scott 97eaed7b0a STM32F3: Eliminate two unused variable warnings 2016-10-25 10:59:19 -04:00
Bradley Scott 4f9bdf5ee0 STM32F3: Correct UART4 and UART5 defines when using DEVICE_SERIAL_ASYNCH 2016-10-25 10:58:38 -04:00
Martin Kojtal 4d1d1c5b69 Merge pull request #3068 from MultiTechSystems/mdot-pin-updates
MultiTech mDot - clean up PeripheralPins.c and add new pin names
2016-10-25 10:47:59 +02:00
Martin Kojtal 5b67832959 Merge pull request #3054 from andreaslarssonublox/ublox_fix_odin_mbedtls_config
Moved mbedtls config for u-blox ODIN-W2 to macros in target.json
2016-10-20 10:59:05 +01:00
bcostm 8a570cce93 STM32F1: correct the read of timer master value 2016-10-19 16:46:51 +02:00
Michel Jaouen 26f3352f83 STM32F3xxx : GCC_ARM remove zero bss, in startup.
zero bss is done in libc init after call _start.
2016-10-19 14:54:43 +02:00
Michel Jaouen 759837aff4 STM32F207: GCC_ARM remove zero bss, in startup.
zero bss is done in libc init after call to _start.
2016-10-19 14:54:41 +02:00
Sam Grove fc39f6b736 Merge pull request #3064 from c1728p9/f429_heap
NUCLEO_F429 - Increase IAR heap size
2016-10-19 05:51:20 -05:00
Sam Grove f1d678f8a4 Merge pull request #3056 from LMESTM/fix_stm32_pull_overwrite
Fix stm32 pull overwrite
2016-10-19 05:50:30 -05:00
Sam Grove 2ae71777aa Merge pull request #3013 from bcostm/check_adcintch_pins
STM32xx - Change how the ADC internal pins are checked before pinmap_…
2016-10-19 05:43:15 -05:00
Sam Grove 5eee95b7f5 Merge pull request #3008 from bcostm/fix_pwm_nucleo-f072rb
NUCLEO_F072RB: Fix wrong timer channel number on pwm PB_5 pin
2016-10-19 05:42:57 -05:00
Russ Butler d854547b0c NUCLEO_F429 - Increase IAR heap size
Increase the IAR heap size from 48KiB to 64KiB. This give enough heap
space to run the TLS encryption examples.
2016-10-18 16:43:28 -05:00
Mike Fiore c6fde7cfce [MTS_MDOT_F411RE] remove duplicate PWMs, fix swapped pins 2016-10-18 09:34:46 -05:00
Laurent MEUNIER 24d82d10ba [STM32F1] Fix pull overwrite
This fix addresses issue #2638 for STM32F1.
The STM32F1 family has a diffeerent register set for pull-up and pull-down
settings.

The same principle to read HW state is applied, as in commit:
[STM32] Fix pull over write to all families
except registers are different.

Also in this patch we make code a bit more linear.
Depending on pin_index, different register and shift index must be used.
Instead of checking this in several place, let's make a check at the
beginning of the function and use local register and shift variables.
2016-10-18 12:16:58 +02:00
Laurent MEUNIER af51027f61 [STM32] 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-18 12:16:58 +02:00
andreas.larsson cb113d738e Moved mbedtls config for u-blox ODIN-W2 to macros in target.json 2016-10-18 01:07:48 +02:00
andreas.larsson b8355c2073 Fixed the emac_interface_t struct so that the struct constructor is not used.
We can not rely on the struct constructor to be run since wifi_emac_get_interface can be run from the OdinWiFiInterface constructor before that.
2016-10-18 00:36:30 +02:00
Mike Fiore b6f7b8c463 [MTS_MDOT_F411RE] clean up peripheral pins & add new pin names 2016-10-17 15:36:28 -05:00
Russ Butler 7bcc63b202 Merge pull request #2977 from andreaslarssonublox/ublox_drivers
Ublox drivers
2016-10-14 14:56:06 -05:00
andreas.larsson 394796f47e Added guard for DEVICE_EMAC in wifi_emac_api.cpp 2016-10-14 02:42:53 +02:00
andreas.larsson 62bc6869e8 Added u-blox ODIN-W2 drivers for all toolchains 2016-10-13 23:37:42 +02:00
Sam Grove 08ff689afa Merge pull request #2979 from adustm/STM_F429_F439
New platforms: NUCLEO_F439ZI, NUCLEO_F756ZG, NUCLEO_L486RG
2016-10-13 16:22:36 -05:00
Brian Daniels 5d344e9548 Remove shared spi_s struct from XDOT_L151CC 2016-10-13 12:43:27 -05:00
adustm ff4fca6747 ADD NEW TARGET : NUCLEO_F756ZG, based on existing NUCLEO_F746ZG 2016-10-13 18:29:09 +02:00
adustm 78fd559d11 ADD NEW TARGET : NUCLEO_L486RG, based on existing NUCLEO_L476RG 2016-10-13 18:29:09 +02:00
adustm a07a271fe5 ADD NEW TARGET : NUCLEO_F439ZI, based on existing NUCLEO_F429ZI 2016-10-13 18:29:09 +02:00
Sam Grove 0ef0c617a9 Merge pull request #2999 from jeromecoutant/PR_F303ZE_I2C
NUCLEO_F303ZE: Enable all I2C instances
2016-10-13 11:14:46 -05:00
bcostm a484f51904 STM32xx - Change how the ADC internal pins are checked before pinmap_pinout 2016-10-13 16:28:57 +02:00
Laurent MEUNIER aeac255509 [STM32F303ZE] Update objects definition
STM32F303ZE was introduced in parallel to the changes which consist in
having family wide definitions like device.h file and a common objects
definition.

This target is updated accordingly now to benefit of SPI definitions.
2016-10-13 14:21:02 +02:00
Laurent MEUNIER 446dbe6a0e Clean-up style issues
Fix indentation issues, remove useless comments, correct if/else format
2016-10-13 14:21:02 +02:00
Laurent MEUNIER 1fb5b3f2d0 [STM32F4] SPI Peripheral pin - allow SPI3 to be used
Let's swap default PA_4 pin mapping to SPI_3 otherwise SPI3 cannot be used
2016-10-13 14:21:02 +02:00
Laurent MEUNIER 661b6adb93 [STM32] spi_master_write - rely on HAL
ASYNCH SPI transfer support has been added based on STM HAL services.
To have both ASYNCH and SYNCH work together, we're also moving the
write API to STM HAL instead of direct registers access.
2016-10-13 14:18:21 +02:00
Laurent MEUNIER 0aeea4950c [STM32] 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-13 14:18:21 +02:00
bcostm f2ceed9e52 Fix wrong timer channel number of pwm PB_5 pin 2016-10-13 10:25:20 +02:00
Sam Grove 217a8fba8e Merge pull request #2972 from betzw/betzw_i2c_wb
Make (synchronous) I2C work again
2016-10-12 17:16:10 -05:00
Sam Grove 35d6682d61 Merge pull request #2970 from andreaslarssonublox/ublox_enable_hw_entropy
Enabled TRNG functionality for UBLOX_EVK_ODIN_W2 target.
2016-10-12 17:15:55 -05:00
Sam Grove f9ee683fa7 Merge pull request #2611 from adustm/STM32_entropy
STM32 hw entropy
2016-10-12 17:06:51 -05:00
jeromecoutant 366f04f60b NUCLEO_F303ZE: Enable all I2C instances 2016-10-12 16:52:26 +02:00
Wolfgang Betz d258c14e1e [STM32F4]: I2C bugfix 'i2c_stop()' timeout
- Remove waiting for 'BTF' flag in 'i2c_stop()':
  When 'i2c_stop()' is called from 'i2c_read()' or 'i2c_write()' flag 'BTF'
  has already been cleared (indirectly) by the calling functions and therefore
  'i2c_stop()' would mistakenly always run into a timeout.
- Delay clock enabling until pins are configured:
  Enabling the I2C bus clock before configuring its pins might in rare
  cases lead to HW faults on the bus.
- Move initialization of 'handle->Instance' to function 'i2c_reset()':
  As 'i2c_reset()' uses '__HAL_I2C_GET_FLAG(handle, I2C_FLAG_BUSY)' field
  'handle->Instance' must have been initialized before doing so. Therefore,
  this operation has been anticipated by moving it from function
  'i2c_frequency()' to function 'i2c_reset()'.
2016-10-12 07:02:42 +02:00
Martin Jäger bc589db42a Update of can_api.c fixing #2987 2016-10-11 21:05:21 +02:00
andreas.larsson 84a25e72f7 Fixed wrong stack pointer 2016-10-10 18:55:46 +02:00
Sam Grove f5fb485dcd Merge pull request #2967 from viquiram/master
Modify the flash size for Nucleo L073RZ.
2016-10-10 10:35:59 -05:00
Sam Grove 8d6e358387 Merge pull request #2947 from bcostm/adcintch_L4
STM32L4xx - Add support of ADC internal channels
2016-10-10 10:35:18 -05:00
Sam Grove 4297042096 Merge pull request #2932 from bcostm/adcintch_F4
STM32F4xx - Fix issue with ADC internal Temperature and VBat channels.
2016-10-10 10:35:06 -05:00
Sam Grove 085dd0925a Merge pull request #2921 from bcostm/serialFC_F0
STM32F0xx - Add missing UART_RTS/CTS pins for Serial Flow Control
2016-10-10 10:34:48 -05:00
andreas.larsson cb97f5dc7f Enabled TRNG functionality for UBLOX_EVK_ODIN_W2 target. 2016-10-10 15:42:47 +02:00
Martin Kojtal 8f492a20a7 Merge pull request #2920 from LMESTM/fix_pull_overwrite
STM32F4: Fix pull overwrite
2016-10-10 10:23:55 +01:00
Martin Kojtal d38d82bbab Merge pull request #2946 from bcostm/adcintch_L0
STM32L0xx: Add support of ADC internal channels
2016-10-10 10:17:06 +01:00
bcostm 246528fe85 Add UART_RTS/CTS pins 2016-10-10 10:23:47 +02:00
adustm f140559526 Add objects.h for L073 2016-10-10 10:12:39 +02:00
adustm bda200e814 rework after directory moves 2016-10-10 10:12:39 +02:00
adustm e189bc7cc8 Change MBEDTLS_ENTROPY_ALT to device has TRNG
update code accordingly
2016-10-10 10:12:39 +02:00
viquiram 1a91fc7abf Update stm32l073xz.sct
Modify the flash size for Nucleo L073RZ.
2016-10-10 09:56:47 +02:00
viquiram 142aa09286 Update stm32l073xz.sct
Modify the flash size for Nucleo L073RZ.
2016-10-10 09:55:45 +02:00
Sam Grove 864ff7754b Merge pull request #2924 from bcostm/adcintch_F2
STM32F2xx - Add support of ADC internal channels (temperature, VRef, VBat)
2016-10-07 11:33:11 -05:00
Sam Grove b3e88c3c72 Merge pull request #2951 from bcostm/adcintch_L1
STM32L1xx - Add support of ADC internal channels
2016-10-07 11:15:50 -05:00
Sam Grove 53a52a1b56 Merge pull request #2930 from bcostm/adcintch_F0
STM32F0xx - Use ADC internal channels specific definitions
2016-10-07 11:13:43 -05:00
Sam Grove ad59be6812 Merge pull request #2928 from bcostm/adcintch_F7
STM32F7xx - Add support of ADC internal channels
2016-10-07 11:13:30 -05:00
Sam Grove eee4db1fe0 Merge pull request #2896 from geky/restructure-cmsis
restructure - Restructure cmsis directory
2016-10-07 11:13:09 -05:00
bcostm 50cb26040a STM32L1xx - Add support of ADC internal channels (Temperature, VRef) 2016-10-06 17:15:16 +02:00
bcostm 49fe84ccd0 STM32L1xx - Use STM_PIN_DATA_EXT macro and obj->channel field to facilitate channels configuration 2016-10-06 16:48:45 +02:00
bcostm 569f64a966 STM32L4xx - Add support of ADC internal channels 2016-10-06 15:41:00 +02:00
bcostm 5f8052a9ef Remove VLCD ADC internal channel on L011 and L031 devices (not present) 2016-10-06 14:58:40 +02:00
bcostm c637477711 Add support of ADC internal channels for L0 devices 2016-10-06 14:53:28 +02:00
bcostm 4207ebf329 Fix issue with Temp and VBat channels. Use internal channels specific definitions. 2016-10-05 16:33:46 +02:00
bcostm 480d784497 Use ADC internal channels specific definitions 2016-10-05 15:20:55 +02:00
bcostm ed411983a0 Use ADC internal channels specific definitions 2016-10-05 15:06:35 +02:00
bcostm dfc2a2d097 Add VBat channel and manage better the internal channels configuration 2016-10-05 14:58:01 +02:00
bcostm 7f14131d5b STM32F7xx - Add support of ADC internal channels 2016-10-05 14:38:02 +02:00
bcostm 354ffe84ab Add channel 17 for Vref 2016-10-05 11:12:47 +02:00
bcostm 007aac86ca Add channel 17 for VRef 2016-10-05 11:02:11 +02:00
bcostm ad431dc613 STM32F2xx - Add support of ADC internal channels (temperature) 2016-10-05 10:25:03 +02:00
bcostm bcd8f2431a STM32F1xx - Add ADC internal channel (Temperature) 2016-10-05 10:06:15 +02:00
Christopher Haster 26ced98734 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-04 17:51:44 -05: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
Laurent MEUNIER 3f81f5df50 [STM32F4] Use previously introduced pin_function_gpiomode
This way the pull-up / pull-down modes would not be overwritten
as first reported in issue #2638
2016-10-04 11:19:24 +02:00
Laurent MEUNIER e516bddc66 [STM32F4] Introduce a function that sets gpio mode w/o changin pull mode
This function reads the pull mode from HW and can then be used
to avoid over-writing the previously set pull-up / pull-down modes.

This is done following reported issue: #2638
2016-10-04 11:19:22 +02:00
andreas.larsson 1d3c63d9bb Changed name for the target UBLOX_C029 to UBLOX_EVK_ODIN_W2 2016-10-03 12:10:50 +02: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