Commit Graph

776 Commits (00b69c7ddd46d151a4558d205669e484797a7033)

Author SHA1 Message Date
Alexis ROCHE 19109d9404 DISCO_L072CZ: Modifications and verifications to build 2017-05-02 11:50:24 +02:00
Alexis ROCHE 7529b8300b DISCO_L072CZ: Add all files (pinout, startup, etc...) 2017-05-02 11:46:40 +02:00
Adam Green 5f13d955ad Fix C++11 build error w/ u-blox EVK-ODIN-W2
When attempting to perform a test build of various mbed-os targets with
GCC configured to build -std=gnu++11, all of the targets built
successfully except for this one. It gave errors like this:
    ../mbed-os/targets/TARGET_STM/TARGET_STM32F4/TARGET_UBLOX_EVK_ODIN_W2/sdk/wifi_emac/wifi_emac_api.cpp: In function 'emac_interface_t* wifi_emac_get_interface()':
    ../mbed-os/targets/TARGET_STM/TARGET_STM32F4/TARGET_UBLOX_EVK_ODIN_W2/sdk/wifi_emac/wifi_emac_api.cpp:331:38: error: use of deleted function 'emac_interface::emac_interface()'
             _intf = new emac_interface_t();
                                          ^
    In file included from ../mbed-os/targets/TARGET_STM/TARGET_STM32F4/TARGET_UBLOX_EVK_ODIN_W2/sdk/wifi_emac/wifi_emac_api.cpp:9:0:
    ../mbed-os/hal/emac_api.h:150:16: note: 'emac_interface::emac_interface()' is implicitly deleted because the default definition would be ill-formed:
     typedef struct emac_interface {
                    ^
    ../mbed-os/hal/emac_api.h:150:16: error: uninitialized const member in 'struct emac_interface'
    ../mbed-os/hal/emac_api.h:151:32: note: 'const emac_interface_ops_t emac_interface::ops' should be initialized
         const emac_interface_ops_t ops;

This commit contains a proposed change which fixes this issue by not
using the new operator to allocate the emac_interface_t structure but
instead using the malloc() function since the construction is being
handled explicitly in the subsequent lines of the
wifi_emac_get_interface() function anyway.

I also added code which only completes the initialization of the _intf
object if its allocation succeeds and just returns NULL otherwise.

I see no deallocation of the _intf object occurring so no change from
delete to free() needed to be made.
2017-04-28 14:09:31 -07:00
Kevin Gilbert 28d1ac5a44 Added mapping to USER_BUTTON-labelled switches
Revert HRM1017 file source deletion

Added in small comment next to additions

Added mapping to BTN-labelled switches

Added mapping to USER_BUTTON-labelled switches

Undo incorrect mapping to SWIO pin in NORDIC target
2017-04-28 11:37:23 -05:00
Mihail Stoyanov 301ce550c9 Fixed STM32 USB Device support by migrating all specific target headers to unsupported features where they belong until USB support is officially introduced in mbed OS 5 2017-04-28 17:23:07 +01:00
Laurent MEUNIER 4eea8fa863 STM32 Fixed warning related to __packed redefinition
Before this patch, many warnings like below were generated
during compilation with ArmCC
[Warning] lwip_ethernet.h@57,0:  #3135-D: attribute does not apply to any entity

This happens here as ``--gnu`` option of ArmCC is being used, which
enables the GNU compiler extensions that the ARM compiler supports.

This is solve by adding a extra check on __CCARM .
2017-04-27 10:32:00 +02:00
Bradley Scott 7f12ad2a8c STM32F3: Correct handling of USB ISTR and endpoint registers
The USB ISTR register consists of a mix of bits that are
write-zero-to-clear and read only bits.  As such, to clear a bit in
the ISTR, you should simply write the bitwise-NOT of the bit to clear.
Previously, the __HAL_PCD_CLEAR_FLAG() macro would do a bitwise-AND
with the ISTR register contents to clear a bit, but this could result
in another bit being inadvertently cleared if it is set by hardware
between the read and the write of the ISTR register.

Similarly, the USB endpoint registers have two bits that are
write-zero-to-clear, USB_EP_CTR_RX and USB_EP_CTR_TX, but the
PCD_CLEAR_RX_EP_CTR() and PCD_CLEAR_TX_EP_CTR() macros wrote back the
last read value for one of these bits when clearing the other bit.
This could result in inadvertent clearing of one of these bits if it
were set by the hardware between the read and the write.  These macros
have now both been adjusted to always write one to the bit not being
cleared to prevent inadvertent clears.
2017-04-26 10:23:02 -04:00
Indrek Ardel 16a1693534 Move target files 2017-04-22 20:49:20 +03:00
Indrek Ardel 189083eeb0 Add USB capabilities to NUCLEO-F446RE board 2017-04-22 20:47:55 +03:00
Anna Bridge 1c77628149 Merge pull request #4153 from jeromecoutant/PR_AF2_LEVEL0
STM32F2: Internal ADC channels rework
2017-04-21 14:11:44 +01:00
Anna Bridge e3f457b4d5 Merge pull request #4154 from jeromecoutant/PR_F7_LEVEL0
STM32F7 Internal ADC channels rework
2017-04-20 16:50:34 +01:00
Anna Bridge 743ab7eb59 Merge pull request #4176 from jeromecoutant/PR_L4_LEVEL0
STM32L4 Internal ADC channels rework
2017-04-20 16:39:38 +01:00
Anna Bridge 6a6455dfc2 Merge pull request #4031 from jeromecoutant/PR_IAR_BIG_HEAP
STM32 increase IAR heap size for big RAM targets
2017-04-20 15:50:21 +01:00
Sam Grove 7bd8c32f2d Merge pull request #4133 from u-blox/c030-debug-8mhz-xtal
U-BLOX_C030: Default XTAL is now 12MHz onboard. Option to use Debug 8MHz
2017-04-19 02:14:51 -05:00
jeromecoutant 03972ebb0c STM32L4 Internal ADC channels rework
Internal ADC pins are now out of PinMap_ADC array
2017-04-12 13:14:58 +02:00
0x6d61726b 029736612b typo corrected
typo corrected
2017-04-11 21:28:11 +02:00
0x6d61726b 8c6dd8949b Update flash_api.c
mbed_critical.h replaced with "platform/mbed_critical.h" (to match template)
typo corrected
2017-04-11 21:24:40 +02:00
0x6d61726b b0451324c4 deprecated include updated
critical.h is deprecated, replaced with "platform/mbed_critical.h"
typo corrected
2017-04-11 21:23:19 +02:00
jeromecoutant d1fa95184f STM32F7 Internal ADC channels rework
Internal ADC pin are now out of PinMap_ADC array
2017-04-11 12:56:13 +02:00
jeromecoutant 43ab8812d7 STM32F2 Internal ADC channels rework
Internal ADC pin are now out of PinMap_ADC array
2017-04-11 11:16:46 +02:00
jeromecoutant 7da6960cfe NUCLEO_F207ZG: I2C_3 is not available 2017-04-11 10:41:57 +02:00
jeromecoutant 613cc3d6d9 STM32F4 Internal ADC channels rework
Internal ADC pin are now out of PinMap_ADC array.
2017-04-11 10:12:25 +02:00
Sam Grove 2352ee49a4 Revert "STM32F4 Internal ADC channels rework" 2017-04-10 12:08:15 -05:00
Sam Grove 0559aa431c Merge pull request #4126 from jeromecoutant/PR_F4_PIN_LEVEL0
STM32F4 : remove SERIAL_TX and SERIAL_RX from available pins
2017-04-10 11:09:51 -05:00
Sam Grove bfb86a7f51 Merge pull request #4125 from jeromecoutant/PR_F4_USB_CONFIG_FILE
STM32 USB configuration file move
2017-04-10 11:07:59 -05:00
Sam Grove 516f32fc86 Merge pull request #4118 from jeromecoutant/PR_REWORK_INTERNAL_ADC_F4
STM32F4 Internal ADC channels rework
2017-04-10 11:06:12 -05:00
Rob Meades a39ed809c4 U-BLOX_C030: Default XTAL is now 12MHz onboard. Option to use Debug 8MHz
XTAL by using Macro USE_DEBUG_8MHz_XTAL
2017-04-07 12:01:46 +01:00
Sam Grove 7a35a4df51 Merge pull request #3992 from u-blox/c030-dev
Introducing UBLOX_C030 platform.
2017-04-06 11:07:58 -05:00
Sam Grove f3499f5014 Merge pull request #4109 from jeromecoutant/PR_L476RG
NUCLEO_L476RG : minor serial pin update
2017-04-06 10:56:50 -05:00
Sam Grove 58f4b4103f Merge pull request #4030 from jeromecoutant/PR_IAR_SMALL_HEAP
[STM32L0] reduce IAR heap and stack size for small targets
2017-04-06 08:49:02 -05:00
jeromecoutant d740bde646 STM32F4 : remove SERIAL_TX and SERIAL_RX from available pins
Pins are used for debug printf
2017-04-06 13:58:06 +02:00
jeromecoutant 5303211056 STM32F3 USB configuration file move 2017-04-06 11:53:06 +02:00
jeromecoutant 3bbbabf202 STM32L4 USB configuration file move 2017-04-06 11:51:26 +02:00
jeromecoutant 36319969f4 STM32F7 USB configuration file move 2017-04-06 11:45:18 +02:00
jeromecoutant c2636b3269 STM32F4 USB configuration file move 2017-04-06 11:33:49 +02:00
jeromecoutant d599579328 STM32F4 Internal ADC channels rework
Internal ADC pin are now out of PinMap_ADC array.
2017-04-06 10:59:49 +02:00
Rob Meades 7387c09872 Introducing UBLOX_C030 platform. 2017-04-04 16:22:50 +01:00
jeromecoutant 0c2720bc19 NUCLEO_L476RG : minor serial pin update
SERIAL_TX and SERIAL_RX pins used for debug printf cannot be set as available
2017-04-04 14:38:17 +02:00
bcostm 3302a372ef DISCO_L053C8: Typo corrections 2017-03-30 14:55:18 +02:00
bcostm 2212b34bd0 DISCO_L053C8: add USBHAL_STM files 2017-03-30 14:50:13 +02:00
bcostm 1321dc8e71 DISCO_L053C8: enable HSI48 clock for USB 2017-03-30 14:50:13 +02:00
Sam Grove e3c0ac6c17 Merge pull request #4020 from jeromecoutant/PR_L011
NUCLEO_L011K4 remove unsupported tool chain files
2017-03-29 22:50:35 +01:00
Sam Grove d467f7d4bc Merge pull request #4012 from monkiineko/master
STM32: Correct I2C master error handling
2017-03-29 22:49:15 +01:00
0xc0170 424fd78161 flash: fix flash algo generated - protect with DEVICE_FLASH 2017-03-26 17:59:40 +01:00
Bradley Scott 2eb4048bbe STM32: Correct I2C master error handling
If I2C slave support is included, then the I2C error handler would
always reset the I2C address, resulting in incorrectly changing the
I2C state to listen for a controller configured as I2C master.  This
change conditionalizes the address setting to only occur if the
controller was in slave mode when the error occurred.
2017-03-24 10:16:34 -04:00
jeromecoutant 4193202f40 STM32 increase IAR heap size for big RAM targets 2017-03-24 14:51:13 +01:00
jeromecoutant d680c60fe9 [STM32L0] reduce IAR heap and stack size for small targets 2017-03-24 14:32:13 +01:00
jeromecoutant 2f8d54ab07 NUCLEO_L011K4 remove unsupported tool chain files 2017-03-23 17:56:45 +01:00
Sam Grove 75f6f2db30 Merge pull request #3969 from bcostm/fix_nucleo-f302r8_can_pins
NUCLEO_F302R8: Add missing PB_8/PB_9 CAN pins
2017-03-22 12:08:16 +00:00
Sam Grove 2ec6ee4a24 Merge pull request #3951 from jeromecoutant/PR_F303ZE
[NUCLEO_F303ZE] Correct ARDUINO pin
2017-03-22 12:06:51 +00:00
Sam Grove 3d50554105 Merge pull request #3920 from mazimkhan/master
Heap size adjusted to work for both tls-client and mbed-client
2017-03-22 12:04:01 +00:00
bcostm 7cc904bb19 NUCLEO_F302R8: Add missing PB_8/PB_9 CAN pins 2017-03-20 10:32:06 +01:00
jeromecoutant 2987340870 [NUCLEO_F303ZE] Correct ARDUINO pin 2017-03-16 16:40:30 +01:00
Mohammad Azim Khan 5a9ea2c1e6 Heap size adjusted to work for both tls-client and mbed-client
Targets NUCLEO_F429ZI and UBLOX_EVK_ODIN_W2 have 192K RAM.
Heap size in PR #3871 was increased from 48K to 96K as tls-client
example failed with 48K heap. But this resulted in compilation failures
in mbed-client that requires 71K for global/static data.
Hence this PR reduces heap to 64K that minimum required by tls-client
to work. This also meets mbed-client data segment requirements.
2017-03-15 11:22:24 +00:00
Michel Jaouen 1a20b4f100 Fix after code review 2017-03-14 15:57:41 +01:00
Michel Jaouen fc972f0a98 fix STM USB config after L4 ,F4, F7 file tree changes 2017-03-14 15:57:40 +01:00
Michel Jaouen 873cacfc73 Revert "Revert "Target stm usb config""
This reverts commit ec329be6f2.
2017-03-14 15:57:28 +01:00
Anna Bridge 213626d83a Merge pull request #3893 from jeromecoutant/PULL_REQUEST_CUBE_UPDATE_F7_V1.6.0
[STM32F7] Update STM32 Cube version v1.6.0
2017-03-14 14:40:38 +00:00
Sam Grove 88a4baa2ad Merge pull request #3902 from mazimkhan/master
Fix heap and stack size for NUCLEO_F746ZG
2017-03-09 16:51:40 -06:00
Mohammad Azim Khan bb197b29f3 Fix heap size for NUCLEO_F746ZG on IAR 2017-03-09 16:51:24 +00:00
Martin Kojtal 45c99e69ca Merge pull request #3879 from bcostm/fix_nucleo-f446ze_adc_pins
NUCLEO_F446ZE: Add missing AnalogIn pins on PF_3, PF_5 and PF_10.
2017-03-09 15:48:10 +00:00
Martin Kojtal 68dc25331a Merge pull request #3843 from bcostm/fix_stm32l4_apb2_80MHz
STM32L476xG: set APB2 clock to 80MHz (instead of 40MHz)
2017-03-09 15:44:08 +00:00
Simon Vogl 1c4e0d7dcb can_write(): return error code when no tx mailboxes are available. (#3829) 2017-03-09 15:42:00 +00:00
Martin Kojtal 6aa62c1956 Merge pull request #3828 from jeromecoutant/PR_CAN_TYPE
STM32 CAN API: correct format and type
2017-03-09 15:40:01 +00:00
Martin Kojtal fd6fdd5f8c Merge pull request #3795 from LMESTM/fix_pwm_period_calc
Fix pwm period calc
2017-03-09 15:39:00 +00:00
Laurent MEUNIER 400b89eeda Fix XDOT compilation error
Typo with misplaced closing parenthesis leads to compilation error,
which is fixed with this patch
2017-03-07 17:22:25 +01:00
Martin Kojtal b2726470f6 Merge pull request #3880 from adustm/fix_can2_only
DISCO_F469NI: allow the use of CAN2 instance when CAN1 is not activated
2017-03-06 16:57:57 +00:00
Martin Kojtal f39deb518c Merge pull request #3860 from MultiTechSystems/xdot-gpio-fix
Define GPIO_IP_WITHOUT_BRR for xDot platform
2017-03-06 16:56:29 +00:00
Martin Kojtal e6b8ed2754 Merge pull request #3850 from LMESTM/fix_spi_warn
STM32: change spi error to debug warning
2017-03-06 16:55:58 +00:00
Martin Kojtal aa6a71bd0c Merge pull request #3844 from bcostm/fix_comments_gpio_object
STM32 GPIO: Typo correction. Update comment (GPIO_IP_WITHOUT_BRR)
2017-03-06 16:54:39 +00:00
Martin Kojtal ede2a11be4 Merge pull request #3840 from LMESTM/fix_smt32_gpio_default_speed
STM32: gpio SPEED - always set High Speed by default
2017-03-06 16:54:08 +00:00
Martin Kojtal 8fb95a6507 Merge pull request #3780 from pmancele/master
STM32L4 : Fix GPIO G port compatibility
2017-03-06 16:51:03 +00:00
Martin Kojtal 750ac5152f Merge pull request #3741 from jeromecoutant/PR_TICK32
STM32 remove warning in hal_tick_32b.c file
2017-03-06 16:49:52 +00:00
Martin Kojtal f168f6233a Merge pull request #3716 from adustm/disco_f429zi_debug
fix for issue #3715: correction in startup files for ARM and IAR, alignment of system_stm32f429xx.c files
2017-03-06 16:49:19 +00:00
jeromecoutant b77533dd51 STM32Cube_FW_F7_V1.6.0
CMSIS v1.1.2 => v1.2.0
    STM32F7 HAL v1.1.2 => v1.2.0
2017-03-06 16:48:23 +01:00
bcostm ae6899b448 STM32L4xx: set APB2 clock to 80MHz (instead of 40MHz) 2017-03-06 13:34:01 +01:00
jeromecoutant 67a75d96c6 STM32 CAN API: correct format and type
astyle done
2017-03-06 11:34:20 +01:00
adustm 18c1618637 DISCO_F469NI: allow the use of CAN2 instance when CAN1 is not activated 2017-03-03 17:05:28 +01:00
bcostm e70d985fa3 Add AnalogIn pins on PF3, PF5 and PF10.
Don't know why it was missing ?
2017-03-03 16:57:16 +01:00
Mohammad Azim Khan 1f0d73162c Increase HEAP size for UBLOX_EVK_ODIN_W2 and NUCLEO_F429ZI 2017-03-02 14:11:21 +00:00
Mike Fiore 2613380854 [XDOT_L151CC] Define GPIO_IP_WITHOUT_BRR for xDot platform. Resolves #3823. 2017-03-01 12:53:31 -06:00
adustm d69c5edbd4 fix for issue #3715: correction in startup files for ARM and IAR, alignment of system_stm32f429xx.c files 2017-02-28 18:15:06 +01:00
Laurent MEUNIER 00bfa3bf4a STM32: change spi error to debug warning
In case the selected frequency is higher than the requested one, it is
better to send a debug warning rather than an blocking error.

In case of such warning, user may need to redefine the clock tree setting
at higher level (reducing peripheral's input clocks during init phase).
2017-02-28 17:00:29 +01:00
Laurent MEUNIER 3842f6ea0a STM32: fix formatting
Use the recommended style
if (condition) {
  do();
} else {
  do_else();
}
2017-02-27 17:07:05 +01:00
Laurent MEUNIER 747e8e1ea1 STM32: move pwmout device tables to C file
In order to avoid possible multiple definitions errors, move the table
initialization to the C file instead of header file
2017-02-27 17:07:01 +01:00
bcostm d03f96741e Typo: update comment (GPIO_IP_WITHOUT_BRR) 2017-02-27 16:32:44 +01:00
Laurent MEUNIER 8e5d2eb1dc STM32: pwm period and prescaler calculation
Correct the while loop limit and add a safe guard to avoid infinite loop.
2017-02-27 13:47:34 +01:00
Laurent MEUNIER 453b248bf4 STM32: gpio SPEED - always set High Speed by default
Up to now, speed was set for outputs and alternate, but this is
also valid for input configuration.

By default, let's configure high speed.

This is done firts, because speed for some families like F1 is mixed
with Input/Output mode settings, so can be later over-ridden if needed.
2017-02-27 11:11:02 +01:00
Sam Grove b6fe5abb10 Merge pull request #3743 from jeromecoutant/PR_RTC_UPDATE
STM32 RTC api minor update
2017-02-23 10:19:11 -06:00
Pierre-Marie Ancele 48c63cacdb Use #if defined TARGET_STM32L4 2017-02-23 09:32:12 +01:00
Christopher Haster aff49d8d1e Renamed files in platform to match source names
critical.h     -> mbed_critical.h
sleep.h        -> mbed_sleep.h
toolchain.h    -> mbed_toolchain.h
rtc_time.h     -> mbed_rtc_time.h
semihost_api.h -> mbed_semihost_api.h
wait_api.h     -> mbed_wait_api.h
2017-02-22 18:17:54 -06:00
Sam Grove a8a31da2e8 Merge pull request #3737 from bcostm/dev_can_factorization
STM32: can_api.c files factorization
2017-02-22 13:36:59 -06:00
Sam Grove 5c28715fbd Merge pull request #3742 from jeromecoutant/PR_SLEEP
STM32 : minor update in sleep HAL file
2017-02-22 13:35:01 -06:00
Pierre-Marie Ancele 248dbaabe2 Fix GPIOG usage of STM32L4 by activating VDDIO2 power supply 2017-02-22 16:44:28 +01:00
jeromecoutant 3a83fc8a21 STM32 RTC api minor update
Add more detailed information in comments
Issue with sunday corrected
Issue with wrong rtc_isenabled status corrected
2017-02-22 08:50:58 +01:00
Russ Butler 071235415e Add K64F, KL46Z, F429, F439 and odin flash algos
Check in flash algos for the K64F, KL46Z, F429, F439  and Odin board
and enable these features accordingly in targets.json. This
implementation uses flash algo blob that are generated via scripts.
The K64F and KL46Z were generated directly from packs, while the
KL46Z, F429, F439 and odin were generated from code checked into
the FlashAlgo repo.
2017-02-21 14:09:06 -06:00
Sam Grove d14aa74b8c Merge pull request #3798 from c1728p9/fix_st_vtor
Fix vector table bug when using bootloader on ST
2017-02-21 11:02:17 -06:00
Sam Grove 4b850e268a Merge pull request #3759 from LMESTM/fix_spi_freq
STM32: spi_frequency table index fix
2017-02-21 10:47:17 -06:00
Sam Grove 3c3e04f6d2 Merge pull request #3739 from jeromecoutant/PR_F7_HSE
STM32F7 : remove multiple HSE_VALUE define value
2017-02-21 10:47:00 -06:00
jeromecoutant 053072c2dc STM32 : set back US counter after deepsleep 2017-02-21 17:46:15 +01:00
jeromecoutant e8519416c1 STM32 sleep.c remove compilation warning 2017-02-21 17:46:11 +01:00
Sam Grove b7dce71510 Merge pull request #3665 from LMESTM/dev_stm32_gpio_pins_rework
Dev stm32 gpio pins rework
2017-02-21 10:41:16 -06:00
jeromecoutant 0259c1a2a7 STM32 remove warning in hal_tick_32b.c file 2017-02-21 16:43:20 +01:00
bcostm 30565cbe5e Revert "Coding style"
This reverts commit 32b801b40c.
2017-02-20 11:29:30 +01:00
bcostm 02653add15 Remove can_api.c file present in TARGET_STM32F2 folder (no more needed now) 2017-02-20 11:19:53 +01:00
bcostm 32b801b40c Coding style 2017-02-20 11:19:53 +01:00
bcostm eec6e10138 Add a #else to cover default STM32 devices for the IRQHandler functions.
Change also the coding style for the "{".
2017-02-20 11:19:53 +01:00
bcostm 8568b40887 F103 devices: Set CAN_RD pins in Input mode instead of A/F Push-Pull
Now MBED_A27/A28 tests are OK again.
Problem seen also by @mgiaco and discussed in PR 2988.
2017-02-20 11:19:53 +01:00
bcostm f527ff95ab Add support to L4 targets. 2017-02-20 11:19:53 +01:00
bcostm caef97c5e6 Add support to F7 targets. 2017-02-20 11:19:53 +01:00
bcostm 0c4688e7e8 Add support to F4 targets. 2017-02-20 11:19:53 +01:00
bcostm b6b21672e8 Add F3 differences. 2017-02-20 11:19:53 +01:00
bcostm 0fd596e0ab Add can_device.h for F2 targets 2017-02-20 11:19:53 +01:00
bcostm 1f47619e82 Add F2 differences. Mainly add support for CAN2 instance. 2017-02-20 11:19:53 +01:00
bcostm 5fa0c4e172 Remove can_api.c file for F1 targets 2017-02-20 11:19:53 +01:00
bcostm 311648ab6c Add F1 differences.
Create can_device.h files to define specific code for the STM32 family
2017-02-20 11:19:53 +01:00
bcostm 45c7e0dca9 Initial commit: copy can_api.c from F0 target 2017-02-20 11:19:53 +01:00
Russ Butler 242909cf9a Fix vector table bug when using bootloader on ST
The address of the vector table is hardcoded to the start of flash in
many, if not all, ST targets. This causes a crash in applications that
are using a bootloader.  This patch updates the boards STM32F429xI,
STM32F439xI and Odin so they properly handle updating the VTOR with
a bootloader.
2017-02-17 22:53:04 -06:00
Sam Grove 825f9a4bc9 Merge pull request #3749 from c1728p9/linker_script_updates
Linker script updates
2017-02-17 09:13:16 -06:00
Sam Grove 99dda9a60b Merge pull request #3740 from jeromecoutant/PR_L4_RTC
STM32L4 HAL update for RTC Wake Up Timer
2017-02-17 09:12:01 -06:00
Laurent MEUNIER 1cbb3e18ac STM32: make PWM driver into a common file
The pwmout driver is very similar for each STM32 family.

The only family specific part is defined in pwmout_device.h file.
It mainly contains few specific information:
- The mapping of PWM/TIMERS to APB1 or APB2 so that we can get the clock
- The clock calculation uses the right APB clock, which was sometimes
not the case before and could have lead to errors in case dividers were
enabled on APB clock settings. This case is now covered.
- Inactivation of inverted support on feaw families
2017-02-17 14:11:56 +01:00
Laurent MEUNIER 293b9fc297 STM32 L1: Define PWM Channels in PeripheralsPins.c
As done for other families, let's define the PWM channel in the PWM
pins table definition rather than driver.
2017-02-17 14:11:41 +01:00
Laurent MEUNIER d7902e53c2 Style consistency
Correcting the style format errors.
Also updating the copyright year.
2017-02-16 19:34:13 +01:00
Laurent MEUNIER 32ecd00c3a STM32: move pin_lines_desc to c file
Move the const table initialization from the header file
to a new C file to avoid any multiple defined errors.
2017-02-16 19:34:11 +01:00
Laurent MEUNIER 18abfdb604 STM32: gpio: style consistency 2017-02-16 19:34:08 +01:00
Laurent MEUNIER 73955b678e STM32: pins: move pin_lines_desc table to const 2017-02-16 19:34:05 +01:00
Laurent MEUNIER 273ac81680 stm32: use default in switch case
As commented during PR review, better use default case.
2017-02-16 19:34:01 +01:00
Laurent MEUNIER 5317ea5bb6 STM32: I2C - pin mode
The default pin mode shall be set as part of the pinamp_pinout, and
as defined in tables of PeripheralPins.c, but this is currently
over-written by a call to pin_mode(pin, PullNone); from
mbed_pinmap_common.c, so we need a set the mode again here, including
OpenDrain config as needed for I2C.
2017-02-16 18:57:34 +01:00
Laurent MEUNIER 21bc5af3c2 STM32: common pinmap using LL layer to access registers
this first makes pinmap.c a common file

then rework it with several goals:
- avoid gpio / irq / pin management extra dependencies
- improve performances when switching between pin modes

This change is based on LL layer to access to registers level
instead of using HAL higher level API.

The family specific functions are implemented in pin_device.h
of each family. Mostly this is F1 family that is differnt
from other ones.
2017-02-16 18:57:18 +01:00
Laurent MEUNIER dce2ca75d8 STM32: gpio few performance improvements
Those are minor changes to increase performance of widely used
GPIO functions.
2017-02-16 18:55:56 +01:00
Laurent MEUNIER 3517eb108e STM32: Change Set_GPIO_Clock return type
Directly return a GPIO_TypeDef pointer to avoid extra casts.
Also move it to GPIO file.
2017-02-16 18:55:44 +01:00
Laurent MEUNIER 6bd488db4d STM32: gpio irq: Use LL registers access
Instead of using HAL_GPIO_Init / Deinit which makes a lot of registers
being written and re-written, and which creates extra gpio / pin / irq
dependencies, we directly set the IRQ related registers thanks for the
STM32 LL layers which provides APIs to modify registers.
2017-02-16 18:55:36 +01:00
Laurent MEUNIER 74774f9424 STM32 Make gpio_irq_api.c a common files
This requires the creation of gpio_irq_device.h file, where
family specific EXTI IRQ mapping is defined
2017-02-16 18:55:28 +01:00
Laurent MEUNIER 0e2cc3824b STM32 : Make port_api.c a common file 2017-02-16 18:55:20 +01:00
Sam Grove e22f26ffa4 Merge pull request #3663 from helmut64/STM32L4_deepsleep_fix
Fixed a problem that the STOP2 was falling back to STOP1
2017-02-13 10:12:30 -06:00
Laurent MEUNIER a8f6970a9d STM32: spi_frequency table index fix
In case of prescaler_rank was 0, a -1 index was being used,
which resulted in initialization of the Init.BaudRatePrescaler with
random values.

Now let's better check index and avoid -1 operation, so that prescaler_rank
can be only from 0 to "last_index".
2017-02-13 16:17:33 +01:00
Russ Butler bcab66c26d Update Odin linker scripts for bootloader
Add MBED_APP_START and MBED_APP_SIZE to the Odin's linker script
so the start and size of an image can be specified. This allows the
ROM to be split into a bootloader region and an application region.
2017-02-10 18:29:01 -06:00
Russ Butler ca8873b160 Update stm32f429 linker scripts for bootloader
Add MBED_APP_START and MBED_APP_SIZE to the stm32f429's linker script
so the start and size of an image can be specified. This allows the
ROM to be split into a bootloader region and an application region.
2017-02-10 18:28:59 -06:00
jeromecoutant 2433b1ad95 STM32L4 HAL update for RTC Wake Up Timer 2017-02-10 16:26:10 +01:00
jeromecoutant 565ad777b0 STM32F7 : remove multiple HSE_VALUE define value 2017-02-10 13:06:41 +01:00
Sam Grove ec329be6f2 Revert "Target stm usb config" 2017-02-09 15:37:19 -06:00
Sam Grove d990385058 Merge pull request #3684 from jamike/TARGET_STM_USB_CONFIG
Target stm usb config
2017-02-09 09:35:16 -06:00
Sam Grove e0fb062ae8 Merge pull request #3649 from adustm/STM32F7_folderstruct
[STM32F7] Modify folder structure
2017-02-09 09:30:28 -06:00
Helmut Tschemernjak 10bb94a365 Fixed code style violation needs '{' 2017-02-07 22:24:20 +01:00
Jaeden Amero 378655f40c uVisor: Standardize available legacy heap and stack
With the RTOS, the STACK_SIZE specified here is unrelated to the stack
size available for the main thread (that runs pre_main). Save memory by
reducing the stack size to a more reasonable amount.

On uVisor, HEAP_SIZE is both a minimum available and maximum available
heap size. The heap can't grow beyond the end of the heap into the
neighboring stack. On all uVisor-supported platforms, guarantee at least
0x6000 bytes of heap space. This increases the portability of uVisor
applications as the memory available for legacy heap allocations is
guaranteed. This helps to avoid out of memory errors on platforms that
were previously guaranteeing less memory.
2017-02-07 16:46:38 +00:00
Sam Grove 0e04161356 Merge pull request #3685 from LMESTM/fix_i2c_sw_reset
STM32: I2C: reset state machine
2017-02-07 10:38:53 -06:00
Sam Grove ea7f15f511 Merge pull request #3658 from adustm/STM32F3_folder_struct
[STM32F3] Modify folder structure
2017-02-07 10:35:57 -06:00
Sam Grove 98ed807338 Merge pull request #3657 from adustm/STM32L4_folderstruc
[STM32L4] Modify folder structure
2017-02-07 10:35:41 -06:00
Sam Grove 12edb2cac2 Merge pull request #3655 from adustm/STM32F4_folderstruct
[STM32F4] Modify folder structure
2017-02-07 10:35:26 -06:00
Laurent MEUNIER 57f4df64e5 STM32: I2C: reset state machine
this I2C IP is meant for automatic STOP, based on programmed number
of bytes to be sent or receivede, not a user triggered STOP.
So the state machiine needs to be reset in case we use this I2C mbed
unitary API (start / byte_write / byte_read / stop).
2017-02-03 13:41:52 +01:00
Michel Jaouen 91c53131db TARGET_STM: add NUCLEO_F103RB 2017-02-03 10:32:30 +01:00
Michel Jaouen 4d59c8857d TARGET_STM :move usb config file to target dir 2017-02-03 10:32:19 +01:00
Sam Grove b4becc77c9 Merge pull request #3629 from LMESTM/dev_stm32_l0_ll_layer
STM32: L0 LL layer
2017-02-02 10:51:55 -06:00
Sam Grove b9449dad7c Merge pull request #3628 from LMESTM/fix_warnings
Fix warnings
2017-02-02 10:50:58 -06:00
Sam Grove def8b32121 Merge pull request #3181 from ohagendorf/nucleo_f207_peripheralpinsextension
NUCLEO_F207ZG extending PeripheralPins.c: all available alternate functions can be used now
2017-02-02 10:38:37 -06:00
Helmut Tschemernjak 605059e683 Fixed a problem that the STOP2 was falling back to STOP1 because
the LPR was not turned on. Now the deepsleep mode only needs 1.6uA
instead of 10uA.
2017-01-31 11:44:41 +01:00
adustm ee55574d3b STM32F302x8 folder struct 2017-01-27 19:42:02 +01:00
adustm c596cdad36 STM32F334x8 folder struct 2017-01-27 19:38:26 +01:00
adustm 703386d443 STM32F303xC folder struct 2017-01-27 19:30:27 +01:00
adustm 6970de6df7 STM32F303x8 folder struct 2017-01-27 19:27:24 +01:00
adustm c30813955f STM32F303xE folder structure modification 2017-01-27 18:36:49 +01:00
adustm 885515acc9 STM32L432xC folder structure rework 2017-01-27 17:41:59 +01:00
adustm 389d9ba358 STM32L476xG STM32L486xG folder structure modification 2017-01-27 17:35:27 +01:00
Laurent MEUNIER b63ca7eee2 Fix alignements 2017-01-27 16:00:39 +01:00
adustm a9ef00231c STM32F410xB folder structure update 2017-01-27 15:41:49 +01:00
adustm 00f80b0abe STM32F401xE folder structure update 2017-01-27 15:41:49 +01:00
adustm 2a4ef3f464 STM32F469xI folder structure update 2017-01-27 15:41:49 +01:00
adustm 0883430bba STM32F412xG folder structure update 2017-01-27 15:41:49 +01:00
adustm 5c3bf54928 STM32F407xG folder structure update 2017-01-27 15:41:49 +01:00
adustm 756aaf6dfd STM32F401xC folder structure update 2017-01-27 15:41:49 +01:00
adustm dd7c00f1b6 STM32F429 / F439 folder rework 2017-01-27 15:41:49 +01:00
adustm 62433aba36 STM32F411xE folder structure update 2017-01-27 15:41:49 +01:00
adustm 43f508947d STM32F446xE folder structure update 2017-01-27 15:41:49 +01:00
adustm 0e70959e4d Modify forder structure so that targets with the same device can share
files
2017-01-26 14:21:26 +01:00
Martin Kojtal ade6722707 Merge pull request #3607 from ARMmbed/feature_hal_sleep
Platform: Add sleep/deepsleep user facing functions
2017-01-26 13:55:33 +02:00
Martin Kojtal f231655619 Merge pull request #3635 from bcostm/fix_i2c
STM32 I2C : Fix bug in i2c_byte_read function
2017-01-26 10:39:03 +02:00
Martin Kojtal 5d09014bf1 Merge pull request #3631 from LMESTM/dev_stm32_hal_F3_V1.7.0
F3 CUBE update V1.7.0
2017-01-26 10:37:49 +02:00
Martin Kojtal bdcda386d5 Merge pull request #3618 from LMESTM/dev_stm32_PinNamesTypes
STM32: Move types definitions to a common file
2017-01-26 10:35:59 +02:00
bcostm c1f712872d Fix bug in i2c_byte_read function 2017-01-24 16:50:55 +01:00
Laurent MEUNIER 42f6622f8e STM32: Move types definitions to a common file
Only one point of attention:
STM_MODE_ANALOG_ADC_CONTROL is a specific mode that is only supported on L4.
So STM_MODE_ANALOG_ADC_CONTROL was moved to index 13 (last entry)
of gpio_mode table so that all the other modes are common and only the last
one is specific.
2017-01-24 10:58:36 +01:00
Laurent MEUNIER 32d04ead8a STM32: L0 LL layer
Introduce the L0 LL Layer from STM32 cube.
2017-01-23 18:01:30 +01:00
Laurent MEUNIER 1b94e234e3 STM32: I2C: remove warning
Remove unused variables to avoid warnings.
2017-01-23 17:07:52 +01:00
Laurent MEUNIER c6a898d71b STM32: remove F3 spi_api.c warning
Solve below warning:

"...\targets\TARGET_STM\TARGET_STM32F3\spi_api.c", line 73:
Warning:  #111-D: statement is unreachable
2017-01-23 17:07:46 +01:00
Laurent MEUNIER 9640936714 F3 CUBE update V1.7.0
CMSIS v2.3.0 => v2.3.1
    HAL   v1.3.0 => v1.4.0
    LL    v1.4.0
2017-01-23 16:44:21 +01:00
Laurent MEUNIER 5d04b97b80 STM32: make PortNames.h a common file
the same file can be used for all targets
2017-01-19 15:27:19 +01:00
Bartek Szatkowski 6a045a49a9 Platform: Add sleep/deepsleep user facing functions
Add sleep/deepsleep functions to platform layer which are replacing HAL
functions with the same name, rename existing symbols in HAL layer
to hal_sleep/hal_deepsleep. This way sleep functions
are always available, even if target doesn't implement them, which makes
the code using sleep clearer. It also enables us to make decision on in
which builds (debug/release) the sleep will be enabled.
2017-01-19 09:39:29 +00:00
Martin Kojtal e592c8a8b2 Merge pull request #3571 from jeromecoutant/PR_DISCO_F769NI
DISCO_F769NI introduction
2017-01-16 16:38:20 +00:00
Martin Kojtal e184511079 Merge pull request #3583 from jeromecoutant/PR_F7_CUBE_151
STM32F7 Cube FW new release v1.5.1
2017-01-16 16:34:35 +00:00
Martin Kojtal 3933ccf76e Merge pull request #3584 from LMESTM/dev_stm32_common_peripheralpins
STM32: make PeripheralPins.h a common file
2017-01-16 16:29:28 +00:00
Martin Kojtal cc8a132f10 Merge pull request #3575 from LMESTM/dev_stm_factorize_gpio
Dev stm factorize gpio
2017-01-16 16:28:27 +00:00
Martin Kojtal c14d7154e6 Merge pull request #3397 from AlessandroA/stm32f4_support
Add uVisor support for the DISCO_F429ZI
2017-01-16 16:24:33 +00:00
Anna Bridge 469b54700b Merge pull request #3577 from bridadan/fix_debug_build_stm
Fixes linking errors when building with debug profile
2017-01-13 14:15:37 +00:00
jeromecoutant f5b62208f4 STM32Cube_FW_F7_V1.5.1
CMSIS v1.1.0 => v1.1.2
    STM32F7 HAL v1.1.0 => v1.1.2
2017-01-13 13:29:45 +01:00
Laurent MEUNIER 1a4394a4a2 STM32: make PeripheralPins.h a common file
Simple effort to avoid duplicate code.
2017-01-13 13:25:33 +01:00
Anna Bridge 74f192add5 Merge pull request #3567 from LMESTM/dev_stm32_hal_F0_V1.7.0
Dev stm32 F0 v1.7.0
2017-01-13 10:52:49 +00:00
Brian Daniels 24a9a4824f Fixes linking errors when building with debug profile
When building with the debug profile, certain ST plaforms error with
'get_i2c_timing' not being defined. This is because the function is not
defined as 'static inline', but just 'inline'.
2017-01-12 15:09:28 -06:00
Laurent MEUNIER 57e0225248 STM32: gpio: factorize gpio_api.c and gpio_object.h
Let's make the code more common for gpios.

The only difference between STM32 families is that BRR register may
not be available. In case BRR is not available, we use the 16 left bits
of BSRR instead. We could always use BSRR, but BRR saves one left-shift
operation, so let's use it when available.

By default we will consider using BRR, except for platforms that define
GPIO_IP_WITHOUT_BRR.
2017-01-12 19:24:32 +01:00
Laurent MEUNIER 7a36614e74 STM32: remove useless include
gpio_object.h is included from common_objects.h,
so no need to have it here.
2017-01-12 19:11:36 +01:00
Anna Bridge 236258bf05 Merge pull request #3546 from bcostm/dev_can_nucleo-f412zg
NUCLEO-F412ZG - Add CAN peripheral
2017-01-12 16:04:40 +00:00
Anna Bridge 63601df8dd Merge pull request #3544 from jeromecoutant/PR_DEEPSLEEP_L4
STM32L4 deepsleep improvement
2017-01-12 16:02:40 +00:00
jeromecoutant 2ea49e0bc1 DISCO_F769NI: targets update
- correct clock for USB
- add ARM micro support
- add OS5 release support
- add TRNG support
- add ARDUINO form factor support
2017-01-12 15:36:30 +01:00
Laurent MEUNIER b15fc6a6b5 STM32: TIM: Initialize new TIM parameter 2017-01-10 16:53:20 +01:00
Laurent MEUNIER cdcaf2a473 STM32: Serial: Use up to date MACROs
Following STM32 HAL update, it is needed to use up-to-date MACROs.
Otherwise, build would fail.
2017-01-10 16:53:17 +01:00
Laurent MEUNIER 0ca04ffb3e STM32: HAL update, use I2C function instead of MACRO
Following HAL update, this is needed to use the I2C API function
rather than previously used MACRO.

An assert would fail at compilation time otherwise.
2017-01-10 16:53:15 +01:00
Laurent MEUNIER af6cdabc28 STM32Cube_FW_F0_V1.7.0
CMSIS v2.3.0 => v2.3.1
    STM32F0 HAL v1.4.0 => v1.5.0
    LL Layer introduction for STM32F0
2017-01-10 16:50:35 +01:00
adustm 3a53a5adc8 DISCO_F429ZI: Add support for uVisor 2017-01-10 13:15:54 +00:00
bcostm 31e6e5c182 Add CAN object structure 2017-01-10 11:15:38 +01:00
Sam Grove 4f9e9f635f Merge pull request #3540 from LMESTM/fix_spi_rx_init
STM: SPI: Initialize Rx in spi_master_write
2017-01-09 10:37:05 -06:00
Sam Grove 5fd8a5e43a Merge pull request #3539 from bcostm/dev_trng_nucleo-f412zg
NUCLEO_F412ZG - Add support of TRNG peripheral
2017-01-09 10:34:18 -06:00
Sam Grove cefae22703 Merge pull request #3492 from Nodraak/fix/3463/can_read_return_value
Fix #3463 CAN read() return value
2017-01-09 10:17:27 -06:00
Sam Grove ddcd3ad711 Merge pull request #3488 from LMESTM/dev_stm_i2c_v2_unitary_functions
Dev stm i2c v2 unitary functions
2017-01-09 10:15:55 -06:00
jeromecoutant 633240b93b STM32L4 deepsleep improvement 2017-01-09 12:21:24 +01:00
Laurent MEUNIER fd3a3f9de8 STM: SPI: Initialize Rx in spi_master_write
In case Rx is not initiliased its content might be random from stack.
This is causing problem in case of 8 bits read only as the left-side 8 bits
of the returned int value may contain this random byte data. This was for
instance detected when using SDFileSystem Lib.
2017-01-06 13:20:55 +01:00
bcostm 30ac4aae75 Add support of TRNG peripheral 2017-01-06 10:36:29 +01:00
Laurent MEUNIER 4297e3fd36 STM32: I2C: i2c_byte_read return value in case of error
To make clear that an error is being reported, we shall report -1,
2 being the timeout error for i2c_byte_write only.
2017-01-03 18:06:19 +01:00
Adrien Chardon 885b018f77
Set bit without reseting the whole register 2017-01-03 11:46:27 +01:00
Adrien Chardon 7e0b4fe3c9
Fix can_read() return value for STM32 boards 2017-01-03 11:46:25 +01:00
Laurent MEUNIER 455c2ecbea STM32: I2C: remove debug code
Few debug lines were to be removed / updated.
Move the printf to DEBUG_PRINTF and return the error when needed.
2017-01-03 10:18:56 +01:00
Michel Jaouen 8af69dcbd6 STM32 HAL HCD : USBHOST changes for f4,f2,l4,f7
- reset toggle_out , toggle_in at init
-  in/out toggle in on ctrl endpoint
- remove call back when transmission restarted
2017-01-02 09:48:15 +01:00
Martin Kojtal 6598e32785 Merge pull request #3405 from samos2011/stm32f1_can_bug
Repair the transmit mailbox (0,1,2) empty interrupt flag not clear BUG
2016-12-30 12:31:18 +01:00
Martin Kojtal 6e7ee0e51e Merge pull request #3489 from bcostm/fix_issue_3474
NUCLEO_F103RB - Correct CAN and PWM alternate-functions
2016-12-23 13:15:37 +00:00
Martin Kojtal d652d391e6 Merge pull request #3454 from 0xc0170/jeromecoutant-PR_LPT
STM32: Refactor lp_ticker.c + rtc_api.c + sleep.c + rtc_api_hal.h files
2016-12-23 13:06:02 +00:00
Martin Kojtal 9b8efb2659 Merge pull request #3391 from jeromecoutant/PR_ST_F4_ASSERT
STM32F4 : map ST HAL assert into MBED assert
2016-12-23 13:05:35 +00:00
jeromecoutant 2b4d83ef1e Run astyle 2016-12-21 16:54:19 +00:00
jeromecoutant ab28a5e5cb STM32: Refactor lp_ticker.c + rtc_api.c + sleep.c + rtc_api_hal.h files 2016-12-21 16:54:18 +00:00
bcostm 30dddf115a Correct wrong alternate-function number for CAN PB_8/PB_9 pins and PWM PC_7 pin 2016-12-21 10:27:50 +01:00
Laurent MEUNIER 20c9af8bec STM32: I2C unitary functions for IP V2
STM32 supported targets have 2 possible versions of I2C.
This patch makes the start / stop / read and write byte work ok for IP V2.
This was not working before and does not seem to be widely used.
2016-12-21 09:27:52 +01:00
Anna Bridge f2ce7ebb99 Merge pull request #3442 from LMESTM/dev_stm_i2c_f1
Dev stm i2c f1
2016-12-19 17:51:58 +00:00
Anna Bridge 9e03765d04 Merge pull request #3422 from szechyjs/disco_f303vc_can
Enable CAN on DISCO_F303VC
2016-12-19 17:37:48 +00:00
Anna Bridge d1aa6eea52 Merge pull request #3410 from jeromecoutant/PR_ST_L4_ASSERT
STM32L4 : map ST HAL assert into MBED assert
2016-12-19 17:33:13 +00:00
Anna Bridge a915fa86e4 Merge pull request #3390 from jeromecoutant/PR_ST_F3_ASSERT
STM32F3 : map ST HAL assert into MBED assert
2016-12-19 17:24:26 +00:00
Anna Bridge 42389c1420 Merge pull request #3389 from jeromecoutant/PR_ST_F2_ASSERT
STM32F2 : map ST HAL assert into MBED assert
2016-12-19 17:23:37 +00:00
Anna Bridge 89190fd794 Merge pull request #3381 from jeromecoutant/PR_ST_F1_ASSERT
STM32F1 : map ST HAL assert into MBED assert
2016-12-19 17:22:54 +00:00
Laurent MEUNIER 580d96431e STM32 I2C manage STOP specific case
In case the user applicaiton makes a mixed usage of unitary function
(start, stop, byte write & read) with SYNC operation (write and read of
data buffers with start and stop management), we need to reset the
STM32 HAL state as it is by-passed by a direct call to STOP
2016-12-16 08:54:39 +01:00
Laurent MEUNIER 8406a99dc8 STM32 I2C: avoid timeout to be 0
In continuation of previous IsDeviceReady case, let's
add 1 in case length is 0 (even though not recommended)
2016-12-16 08:54:39 +01:00
Laurent MEUNIER 37c94a03f0 STM I2C: manage Is Device Ready case
Some device drivers use a data lenght of 0 to check if device is ready.
STM32 HAL provides a dedicated service for that, so let's use it.
2016-12-16 08:54:39 +01:00
Laurent MEUNIER c0ca0a7e2c STM I2C - move i2c_read in SYNC part
just change the place of code to have i2c_read and i2c_write together
2016-12-16 08:54:39 +01:00
Sam Grove 19acef97ee Merge pull request #3429 from LMESTM/fix_stm_i2c_fix_init
Fix stm i2c fix init
2016-12-15 10:35:13 -06:00
Sam Grove 45fa92dcb3 Merge pull request #3427 from LMESTM/fix_stm_i2c_slave
Fix stm i2c slave
2016-12-15 10:33:06 -06:00
Sam Grove cf75543cfa Merge pull request #3424 from bcostm/fix_dma_f4
STM32F4 - FIX to add the update of hdma->State variable
2016-12-15 10:32:22 -06:00
Sam Grove 4524c5f917 Merge pull request #3411 from jeromecoutant/PR_ST_L0_ASSERT
STM32L0 : map ST HAL assert into MBED assert
2016-12-15 10:30:03 -06:00
Sam Grove 4c2b84a865 Merge pull request #3408 from jeromecoutant/PR_ST_F7_ASSERT
STM32F7 : map ST HAL assert into MBED assert
2016-12-15 10:29:34 -06:00
Sam Grove ea555e68a1 Merge pull request #3393 from andreaslarssonublox/ublox_fix_isr_reg_reeval
ISR register never re-evaluated in HAL_DMA_PollForTransfer for STM32F4
2016-12-15 10:28:30 -06:00
Sam Grove 0a40444b76 Merge pull request #3379 from jeromecoutant/PR_ST_F0_ASSERT
STM32F0 : map ST HAL assert into MBED assert
2016-12-15 10:25:09 -06:00
Sam Grove 38411e917f Merge pull request #3366 from bcostm/dev_nucleo_f412zg
NUCLEO_F412ZG - Add new platform
2016-12-15 10:19:51 -06:00
jeromecoutant e1f4d69109 STM32L0 : correct ST HAL API call
- RCC init: unused clock was enabled without any init parameters
- ADC: a parameter setting was missing
- GPIO: mode was not allowed by ST HAL API
- tick: init value was too high for 16b
2016-12-14 11:10:03 +01:00
jeromecoutant 2c5249b196 STM32L0 : refactor stm32l0xx_hal_conf.h and map ST HAL assert into MBED assert 2016-12-14 11:09:32 +01:00
jeromecoutant dd88e97e0b STM32F4 : correct ST HAL API call
- RCC init: one PLL parameter was missing
- GPIO: mode was not allowed by ST HAL API
2016-12-14 10:03:02 +01:00
Laurent MEUNIER 57eb4a0d1d STM32 F1: move F1 to I2C common code
Now that F1 HAL has been updated to support required APIs,
the F1 family can also be moved to common code.
2016-12-14 08:36:30 +01:00
Laurent MEUNIER e7cab5c8dc [STM32] HAL F1: I2C fix btf / rxne cases
Applying the same fix as in L1 and F4.
This is an alignement to F4 HAL as the same IP is used.
2016-12-14 08:35:32 +01:00
Laurent MEUNIER f88803b7fe STM32 F1 HAL V1.0.5
This is a partial update of HAL drivers, especially for I2C driver update
2016-12-14 08:35:12 +01:00
Sam Lin d4c18b0058 Use __HAL_CAN_CLEAR_FLAG macro clear TSR .
Redress stm32f1xx_hal_can.h header file comment
2016-12-14 08:42:55 +08:00
Jared Szechy f941960d1c
Add alternative CAN pins to DISCO_F303VC 2016-12-13 11:20:22 -05:00
Laurent MEUNIER 77e202f064 STM32 I2C: use higher IRQ priority for slave vs. master 2016-12-13 11:59:12 +01:00
Laurent MEUNIER 36a0365d2d STM32 I2C: differentiate HW reset and driver reset
Make a distinct i2c_reset function as defined in MBED HAL api,
from the i2C_hw_reset which simply drives the HW reset signals
2016-12-12 17:33:14 +01:00
Laurent MEUNIER 6cdac88a1c SMT32 I2C: initialize clock before configuring PINs
This is needed especially for F1 family but can apply to all.
2016-12-12 14:52:11 +01:00
Laurent MEUNIER ee9c8acbe4 STM32 I2C: Initialize hz parameter before reset
The hz value is used to compute timeouts,
and timeout are used in reset function, so the parameter needs to be
initialized to its default value before being used.
2016-12-12 14:48:43 +01:00
Laurent MEUNIER 9895bcf130 STM32 I2C: restore slave address in case of reset 2016-12-12 14:44:37 +01:00
bcostm fe73b43a0a FIX to add the update of hdma->State variable 2016-12-12 10:43:25 +01:00
Jared Szechy f5f3dc8143 Enable CAN on DISCO_F303VC 2016-12-11 22:03:29 -05:00
Brian Daniels 6085905658 Renames i2c_api.c for STM32F1 targets to fix IAR exporter.
The IAR build system does not allow two files to have the same name.
This renames the i2c_api.c file for the STM32F1 family to
i2c_api_stm32f1.c to avoid this issue. The common i2c_api.c file shared
among all ST targets is not actually used for STM32F1 targets as it
protected with an #ifdef guard.
2016-12-09 12:47:17 -06:00
Martin Kojtal ce9d2526f8 Merge pull request #3409 from jeromecoutant/PR_ST_L1_ASSERT
STM32L1 : map ST HAL assert into MBED assert
2016-12-09 15:38:21 +01:00
Martin Kojtal e01366ce8f Merge pull request #3399 from bcostm/fix_issue_3266
NUCLEO_F103RB - Add SERIAL_FC feature
2016-12-09 15:37:57 +01:00
Martin Kojtal b13954c6b5 Merge pull request #3377 from LMESTM/fix_L152RE_Rcc_Config
STM32 NUCLEO-L152RE Update system core clock to 32MHz
2016-12-09 15:36:07 +01:00
Martin Kojtal a3e41f246e Merge pull request #3369 from adustm/disco_f469_newpins
Add CAN2 missing pins for connector CN12
2016-12-09 15:35:07 +01:00
Martin Kojtal 04f940de2d Merge pull request #3324 from LMESTM/dev_i2c_common_code
Dev i2c common code
2016-12-09 15:30:00 +01:00
jeromecoutant 4ea65df99d STM32F3 : correct ST HAL API call
- CAN: compilation issue with assert enabled
- GPIO: mode was not allowed by ST HAL API
2016-12-09 14:56:52 +01:00
jeromecoutant 008a12327c STM32F2 : correct ST HAL API call
- GPIO: mode was not allowed by ST HAL API
2016-12-09 14:52:51 +01:00
jeromecoutant 0e404c2b48 STM32F1 : correct ST HAL API call
- GPIO: mode was not allowed by ST HAL API
- PIN map: assert has highlighted an issue for pullup/pulldown setting
- RTC: year after 2000 was not taken into account
2016-12-09 14:48:26 +01:00
jeromecoutant 3734269326 STM32L4 : correct ST HAL API call
- ll_utils: compilation issue
- GPIO: mode was not allowed by ST HAL API
2016-12-09 13:58:22 +01:00
jeromecoutant 3ab5dce41d STM32L1 : correct ST HAL API call
- RCC init: unused clock was enabled without any init parameters
- RCC init: one PLL parameter was missing
- ADC: a parameter setting was missing to init clock
- GPIO: mode was not allowed by ST HAL API
- ll_utils: compilation issue
2016-12-09 11:32:08 +01:00
jeromecoutant db9dcb8b40 STM32F7 : correct ST HAL API call
- RCC init: unused clock was enabled without any init parameters
- RCC init: one PLL parameter was missing
- GPIO: mode was not allowed by ST HAL API
2016-12-09 09:58:54 +01:00
jeromecoutant 6aef5333bd STM32F0 : correct ST HAL API call
- CAN: compilation issue with assert enabled
- ADC: init parameter was not allowed by ST HAL API
- GPIO: mode was not allowed by ST HAL API
2016-12-09 09:44:54 +01:00
Sam Lin b2f8de8294 Repair the Transmit mailbox (0,1,2) empty interrupt Flag not clear BUG 2016-12-09 10:44:28 +08:00
jeromecoutant 12d2795871 STM32L1 : refactor stm32l1xx_hal_conf.h and map ST HAL assert into MBED assert 2016-12-08 17:03:25 +01:00
bcostm 88988b688b Add external declaration of PinMap_UART_RTS/CTS[] const tables 2016-12-08 16:43:26 +01:00
jeromecoutant 64e92a54de STM32L4 : refactor stm32l4xx_hal_conf.h and map ST HAL assert into MBED assert 2016-12-08 16:15:47 +01:00
bcostm db8f966a2c Correct A3, A4, A5 pins definitions 2016-12-08 15:57:05 +01:00
bcostm 9ce9d1a9e7 Correct SDIO_UART pins configuration 2016-12-08 15:57:05 +01:00
bcostm 49755981dd Add this platform in mbed_rtx.h file 2016-12-08 15:57:05 +01:00
bcostm 5b2946ded9 Correct system clock configuration 2016-12-08 15:57:05 +01:00
bcostm 1796e8cd9a Update hal_tick files 2016-12-08 15:57:05 +01:00
bcostm 19828d8dd5 Add startup and linker files for ARM_STD, ARM_MICRO, IAR 2016-12-08 15:57:05 +01:00
bcostm 2ccbd27baf Add GCC_ARM files and fix errors during GCC build 2016-12-08 15:57:05 +01:00
bcostm f1c6b0f842 Add cmsis, hal_tick, system files 2016-12-08 15:57:05 +01:00
bcostm 3b1fb796c3 Add first pin, port and objects files 2016-12-08 15:57:05 +01:00
jeromecoutant 9dc5cd1266 STM32F7 : refactor stm32f7xx_hal_conf.h and map ST HAL assert into MBED assert 2016-12-08 15:54:38 +01:00
jeromecoutant fa8529dea3 STM32F4 : refactor stm32f4xx_hal_conf.h and map ST HAL assert into MBED assert 2016-12-07 15:31:41 +01:00
jeromecoutant d30c34c5d1 STM32F3 : map ST HAL assert into MBED assert 2016-12-07 15:09:55 +01:00
jeromecoutant 06ffb4cf8a STM32F2 : map ST HAL assert into MBED assert 2016-12-07 14:52:24 +01:00
jeromecoutant f0156306ac STM32F0 : map ST HAL assert into MBED assert 2016-12-07 14:13:19 +01:00
jeromecoutant b606267641 STM32F1 : map ST HAL assert into MBED assert 2016-12-07 14:08:06 +01:00
andreas.larsson b5b3bede31 Added tmpisr = regs->ISR; at the end of the while loop to re-evaluate the ISR value 2016-12-07 12:22:31 +01:00
Laurent MEUNIER 8e11541a74 STM32 NUCLEO-L152RE Update system core clock to 32MHz
Even when HSE is used, it is possible to get a 32MHz system clock
8MHz x PLLMUL=12 % PLLDIV=2 = 32MHz

And we still get 48MHz USB clock:
8MHz x PLLMUL=12 % 2 = 48MHz

This allows to take full benefit of the CPU capability.
2016-12-06 11:45:19 +01:00
adustm 3fdbe85b00 Add CAN2 missing pins for connector CN12 2016-12-05 18:24:30 +01:00
Martin Kojtal bd499daae8 Merge pull request #3304 from jeromecoutant/PR_L476
STM32L476: no HSE is present in NUCLEO and DISCO boards
2016-12-02 15:48:38 +01:00
Martin Kojtal 1c2c121741 Merge pull request #3303 from adustm/stm_fix_interrupt_in
Fix #2956 #2939 #2957 #2959 #2960: Add HAL_DeInit function in gpio_irq destructor
2016-12-02 15:47:50 +01:00
Laurent MEUNIER 29b32b84b3 STM32 I2C - 1MHZ frequency is allowed
So make the assert to cover all possible values
Also assert applies only for I2C_IP_VERSION_V2.
Also in case of I2C_IP_VERSION_V1, the HAL makes the proper
checks and can dynamically scale the frequency in case of
intermediate value.
2016-12-01 15:20:11 +01:00
bcostm 18dc6f4f81 Remove TIM_IT_UPDATE flag in HAL_Suspend/ResumeTick functions to make LPT tests pass. 2016-11-30 11:31:25 +01:00
jeromecoutant 448f501d4a STM32L476: comments update 2016-11-30 08:52:49 +01:00
jeromecoutant 757944ee24 STM32L476: no HSE is present in NUCLEO and DISCO boards 2016-11-30 08:51:18 +01:00
Laurent MEUNIER 3fad50287c [STM32] Make most of the I2C code into a common file
Since most of the code in i2c_api.c is now relying on STM32 HAL, there
is now a possibility to make a common usage of this code accross families.

The IP version definition is introduced per family, to allow a switch of
functionnalities, especially the frequency management which differs.
BTw, we fix the F0 frequency settings at the same time.

F1 is managed for now as an exception as the HAL API for sequential transmit
/receive is not yet available (coming soon)
2016-11-30 08:23:13 +01:00
Laurent MEUNIER 23926a2418 [STM32] HAL I2C (V2) sequential transmit / receive
In case of sequential transmit / receive, there is a need to:
- not use the reload option
- generate a new START on each new transaction

This applies to all HAL supporting the IP version V2.
2016-11-30 08:23:13 +01:00
Laurent MEUNIER a0722b1086 [STM32] HAL F2: I2C fix btf / rxne cases
Applying the same fix as in L1 and F4
2016-11-30 08:23:13 +01:00
Laurent MEUNIER 85a2f7ac49 [STM32] HAL L1: I2C fix btf / rxne cases
This is an alignement to F4 HAL as the same IP is used.
Next official HAL delivery update hall will include the same alignement.
2016-11-30 08:23:13 +01:00
Laurent MEUNIER 77364f9fe2 [STM32] HAL L0: I2C / DMA updates
This is prelim update before official V1.8.0 HAL to the needed HAL API
available as in F0 HAL which is using the same IP.
2016-11-30 08:23:13 +01:00
Martin Kojtal c57427f77f Merge pull request #3321 from jeromecoutant/PR_L432KC
no HSE available by default for NUCLEO_L432KC
2016-11-29 18:25:17 +01:00
Martin Kojtal 519b500d4c Merge pull request #3320 from bcostm/fix_vref_label
STM32 - Add ADC_VREF label
2016-11-29 18:24:52 +01:00
Martin Kojtal bd994b3f41 Merge pull request #3302 from bcostm/fix_issue_1685
STM32F4 AnalogIn - Clear VBATE and TSVREFE bits before configuring ADC channels
2016-11-29 18:21:14 +01:00
Martin Kojtal a8ebfaa058 Merge pull request #3288 from LMESTM/dev_spi_asynch_l0l1
Dev spi asynch l0l1
2016-11-29 18:17:06 +01:00
Martin Kojtal bb2d03f34b Merge pull request #3213 from bcostm/factorize_ticker
STM32: Refactor us_ticker.c + hal_tick.c files
2016-11-29 18:10:45 +01:00
Martin Kojtal 93c08f340a Merge pull request #3062 from jamike/TARGET_STM_USBDEVICE_FS
TARGET_STM :USB device FS
2016-11-29 18:07:11 +01:00
jeromecoutant a933032a58 no HSE available by default for NUCLEO_L432KC 2016-11-24 11:33:43 +01:00
bcostm 92d39e2390 Add ADC_VREF label 2016-11-24 10:30:23 +01:00
andreas.larsson 9abb7c3777 Updated ARM binary 2016-11-23 17:39:28 +01:00
andreas.larsson 4648ec606b Added updated drivers for GCC, IAR 2016-11-23 15:18:17 +01:00
andreas.larsson c2d09bd6a2 Fixed wrong start params to cbMAIN_startWlan 2016-11-23 11:38:35 +01:00
bcostm a3baf2d7bf Add more comment on the modified line 2016-11-22 11:03:44 +01:00
adustm 0219b64af4 fix #2956. Add HAL_DeInit function if gpio_irq destructor
This allows ci-test-shield tests-api-interruptin to pass
2016-11-21 15:55:15 +01:00
bcostm 2ae748910b STM32F4 - Clear VBATE and TSVREFE bits before configuring ADC channels 2016-11-21 13:07:26 +01:00
Laurent MEUNIER e2613d5058 stm32 spi : IRQ handler light optimization
This commit contains a few optimizations to get a better performance
in SPI Asynch mode
2016-11-18 09:59:53 +01:00
Laurent MEUNIER 79af576051 stm32 spi - IRQ management
Disable IRQ when transfer is finished.
Also clear pending IRQ after they have been disabled.
2016-11-18 09:59:53 +01:00
Laurent MEUNIER 64a037cc8d STM32L0 - update spi HAL driver
This is a temporary update waiting for the next official release
2016-11-18 09:59:53 +01:00
Laurent MEUNIER 65db01f457 STM32L1 - update spi HAL driver
This is a temporary update waiting for the next official release
2016-11-18 09:59:53 +01:00
Laurent MEUNIER 7cdaba8474 [stm32] remove unused module member in spi_s struct 2016-11-18 09:59:53 +01:00
bcostm 6f12eca4a6 NUCLEO_F103RB - Add RTS/CTS pins for Serial Flow Control 2016-11-17 10:15:21 +01:00
Martin Kojtal 6eb33e5f3c Merge pull request #3251 from LMESTM/dev_stm32l0_cube_v1.7.0
Dev stm32l0 cube v1.7.0
2016-11-16 17:43:16 +00:00
Martin Kojtal 5750f31d6d Merge pull request #3238 from LMESTM/dev_i2c_stm32f4hal
Dev i2c stm32f4hal
2016-11-16 17:42:12 +00:00
Sam Grove e875dbc90d Merge pull request #3237 from javierpedrido/master
Added back USART 6 pins
2016-11-14 21:46:59 -06:00
Sam Grove c131a27dcf Merge pull request #3231 from monkiineko/master
STM32F3: DISCO_F303VC - Add missing UART and ADC pin muxing options
2016-11-14 21:44:32 -06:00
bcostm da23ef135e Update license + date (same license as in mbed.h file) 2016-11-14 10:01:07 +01:00
bcostm 2006e458fd Typo corrections (functions declaration) 2016-11-14 09:56:54 +01:00
bcostm 777692cc16 Timer 16bit: Remove volatile variables. This solved many fails with MBED_24 test. 2016-11-14 09:31:14 +01:00
bcostm f8e18cdde4 Change TimMasterHandle variable declaration + typo corrections 2016-11-14 09:31:14 +01:00
bcostm cc24e5b7f9 Add initialization of timer instance in all functions 2016-11-14 09:31:14 +01:00
bcostm 6baec10d29 Rename files (remove stm_ prefix) 2016-11-14 09:31:14 +01:00
bcostm 589500642a STM32L0 - Add patch done previously on these devices. This solves MBED_24 test. 2016-11-14 09:31:14 +01:00
bcostm a2e686b82c Add volatile on one variable (alignment with 16bit file) 2016-11-14 09:31:14 +01:00
bcostm 896293d5be Replace TIM_MST_GET_PCLK_FREQ macro with TIM_MST_PCLK macro 2016-11-14 09:31:14 +01:00
bcostm 3baaa7630b STM32L1 - Don't use RepetitionCounter field in timer init 2016-11-14 09:31:14 +01:00
bcostm 0524811c75 STM32xx - Remove hal_tick.c files and update hal_tick.h with new macro 2016-11-14 09:31:14 +01:00
bcostm ba8b33adc5 Minor changes 2016-11-14 09:31:14 +01:00
bcostm c3b8943f66 STM32L0 - Remove special treatment for reading the counter 2016-11-14 09:31:14 +01:00
bcostm ae858b4323 STM32F0/F1/L0 - Update TIM_MST_GET_PCLK_FREQ macro 2016-11-14 09:31:14 +01:00
bcostm 16239f5ed5 STM32L0 - Remove devices hal_tick.c files 2016-11-14 09:31:14 +01:00
bcostm 2488daf112 STM21L0 - Remove devices hal_tick.c file and update hal_tick.h 2016-11-14 09:31:14 +01:00
bcostm a43e5b8a48 STM32F1 - Remove devices hal-tick files and update hal_tick.h 2016-11-14 09:31:14 +01:00
bcostm 68915b7c27 STM32F0 - Add the timer type used (16b or 32b) + periph clock in hal_tick.h 2016-11-14 09:31:14 +01:00
bcostm 4c7176fc2f Replace all devices hal_tick files with a common 16b and 32b version 2016-11-14 09:31:14 +01:00
bcostm bb10409954 Replace all devices us_ticker files with a common 16b and 32b file 2016-11-14 09:31:14 +01:00