Commit Graph

289 Commits (5bb3ede8904d2488c60b1d7539dff2edcce87062)

Author SHA1 Message Date
Helmut Tschemernjak fb914149dd Updated to toolchain startup/linker files to support the 433 devices
Also added the symbolic MBED_APP_START/MBED_APP_END defines
2017-11-27 15:03:43 +01:00
Helmut Tschemernjak 94c46b102b defined STM32L433xx 2017-11-27 14:52:37 +01:00
Helmut Tschemernjak e25dfc07f0 Added stm32l433xx.h defined STM32L433xx 2017-11-27 14:51:46 +01:00
Helmut Tschemernjak 6907b6d9e5 Updated PeripheralNames.h, PeripheralPins.c and PinNames.h for STM32L433 devices 2017-11-27 14:44:35 +01:00
Helmut Tschemernjak 90bb8fc368 Copied TARGET_STM32L432 to TARGET_STM32L433, renamed 432 files to 433 2017-11-27 14:36:47 +01:00
jeromecoutant 6d64c2fbf4 STM32 UART init update
- serial_init, serial_free and serial_baud function moved from serial_device.c (specific to each STM32 family) to serial_api.c (common STM32 file)
- default baudrate value was hardcoded to 9600
  - Value is set now to MBED_CONF_PLATFORM_STDIO_BAUD_RATE for STDIO
  - Value is set now to MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE for other use
- UART init will not be stopped before calling serial_baud function
2017-11-23 14:47:54 +01:00
Jimmy Brisson 369187cadf
Merge pull request #5535 from MikeDK/nucleo_l432kc_async_serial_fix
NUCLEO_L432KC: Fixed async serial
2017-11-22 10:19:53 -06:00
Michael Kaplan 8a1c29c2e5 TARGET_STM32L4: added missing #ifdef in serial_device.c 2017-11-20 15:49:18 +01:00
bcostm c54e9079b8 STM32 ADC: replace flags type from int to bool 2017-11-17 13:50:59 +01:00
bcostm 1d3eb508bf STM32: fix linker error with adc_read() 2017-11-17 13:50:59 +01:00
bcostm 34fdcc926b STM32: move analogin_read functions in a common file 2017-11-17 13:50:59 +01:00
bcostm 4dbe95dded STM32: rename analogin_api.c in analogin_device.c 2017-11-17 13:50:59 +01:00
bcostm 072ec2e765 STM32L4 ADC: remove adc_inited flag 2017-11-17 13:50:59 +01:00
Martin Kojtal 114e019675
Merge pull request #5486 from bcostm/fix_CAN3
STM32: Add support of CAN3
2017-11-16 16:12:27 +00:00
Martin Kojtal 41eb565d9c
Merge pull request #5342 from ARMmbed/feature_cortex_a
Update CMSIS/RTX with Cortex-A support
2017-11-15 11:24:36 +00:00
bcostm be2a6ae273 STM32: Use CAN3_BASE + typos 2017-11-14 09:48:02 +01:00
Bartek Szatkowski c5a5438256 Update params in calls to LD/STREXW to be uint32_t 2017-11-10 09:53:42 +00:00
jeromecoutant dde615b8a8 NUCLEO_L496ZG minor update 2017-11-03 10:54:49 +01:00
Jimmy Brisson 9163ddfe61
Merge pull request #5399 from jeromecoutant/PR_MSP
STM32F4/STM32L4: remove MSP template file
2017-11-02 10:42:04 -05:00
Jimmy Brisson c40b642455
Merge pull request #4650 from catiedev/master
NUCLEO_L496ZG: Add new Platform
2017-11-02 10:36:23 -05:00
jeromecoutant c51f0f3d5f STM32F4/STM32L4: remove MSP template file
HAL_MspInit/HAL_MspDeInit/HAL_PPP_MspInit/HAL_PPP_MspDeInit weak functions can now be overwritten as it is expected
2017-10-30 10:38:43 +01:00
Anna Bridge 38ba693c57 Merge pull request #5327 from bcostm/remove_warnings
STM32: Remove compilation warnings
2017-10-26 11:05:20 +01:00
Martin Kojtal 2af7213c51 Merge pull request #5104 from architech-boards/master
add support for SILICA_SENSOR_NODE platform
2017-10-19 16:44:17 +01:00
bcostm ad55bc26dc STM32: Remove GCC_ARM compilation warnings 2017-10-17 14:04:59 +02:00
Jimmy Brisson de3784f6da Merge pull request #5288 from bcostm/NUCLEO32_add_ALT_pins
STM32: Add alternate pins on NUCLEO 32pins boards
2017-10-13 09:27:53 -05:00
Jimmy Brisson 6a74cdb39c Merge pull request #5263 from bcostm/fix_init_struct
STM32: Fix analogout structure/variable wrong initialization
2017-10-13 09:25:59 -05:00
Roberto Spelta 35736f57a3 removed memory allocation 2017-10-10 16:46:12 +02:00
Roberto Spelta 7af6e88999 fixed pin LEDs 2017-10-10 16:04:52 +02:00
Roberto Spelta 182d689b8c setted pin USBTX and USBRX 2017-10-10 13:58:41 +02:00
Roberto Spelta f63dfce4bb modification to .ld to improve memory 2017-10-10 13:58:41 +02:00
Roberto Spelta e466685666 copy of L476RG ld file 2017-10-10 13:58:41 +02:00
Roberto Spelta 4d75cbec01 peripherals pins adaptation 2017-10-10 13:58:41 +02:00
Roberto Spelta a95acdabb3 copy of L476RG target 2017-10-10 13:58:41 +02:00
bcostm 6ac1b0e046 NUCLEO_L432KC: add ALT pins + cleanup 2017-10-10 10:51:04 +02:00
Jimmy Brisson 80ff7071b4 Merge pull request #5210 from bcostm/L4_add_adc_calib
STM32: add ADC calibration for L4, F1, F3 devices
2017-10-09 11:15:31 -05:00
Pierre-Marie Ancele c476a600a2 remove sys.cpp file of the ARM_STD toolchain as done in the MR #4949 2017-10-06 11:37:03 +02:00
Pierre-Marie Ancele ed32f57070 fix can_s struct definition 2017-10-06 11:37:03 +02:00
adustm 4e83d7fb15 Fix for IAR tests 2017-10-06 11:35:16 +02:00
adustm 554125ef07 Align IAR files with mbed-os implementation (tests are still failing) 2017-10-06 11:35:16 +02:00
adustm 3ca0b64318 Replace tab by spaces 2017-10-06 11:35:16 +02:00
adustm fa54e1ecba Make ARM test pass on mbed-os5 tests 2017-10-06 11:35:16 +02:00
adustm 02df64b7d6 replace tab by spaces 2017-10-06 11:35:16 +02:00
Nabil Elqatib 507d05915d Remove analogin_s definition from objects.h
The structure being already defined in
targets/TARGET_STM/TARGET_STM32L4/common_objects.h#L119, there is a
redefinition conflict.
2017-10-06 11:35:16 +02:00
Pierre-Marie Ancele fb27107416 NUCLEO_L496ZG change LPUART1 clock source to fix crash on serial init 2017-10-06 11:35:16 +02:00
Pierre-Marie Ancele abb5e2d0d3 NUCLEO_L496ZG JSON Clock Configuration 2017-10-06 11:35:16 +02:00
Pierre-Marie Ancele 65fec215ab NUCLEO_L496ZG Fix IAR startup script 2017-10-06 11:35:16 +02:00
Pierre-Marie Ancele 4219ffc626 NUCLEO_L496ZG Fix ARM startup script 2017-10-06 11:35:16 +02:00
Pierre-Marie Ancele 3b2bc2d10c STM32L496xG fix objects.h to fit common_objects definition 2017-10-06 11:35:16 +02:00
Pierre-Marie Ancele 313a933c09 NUCLEO_L496ZG Update comments 2017-10-06 11:35:16 +02:00
Pierre-Marie Ancele cca32d8196 NUCLEO_L496ZG Use new alternative pins definition 2017-10-06 11:35:16 +02:00
Pierre-Marie Ancele aebc227c15 NUCLEO_L496ZG update date in file copyrights headers 2017-10-06 11:35:16 +02:00
Pierre-Marie Ancele 7c6c710ee1 NUCLEO_L496ZG Use correct linker script for IAR 2017-10-06 11:35:16 +02:00
Pierre-Marie Ancele eea667567e STM32L496ZG add IAR toolchain 2017-10-06 11:35:16 +02:00
Pierre-Marie Ancele dc2f29c86e STM32L496ZG add ARM_STD toolchain 2017-10-06 11:35:16 +02:00
Pierre-Marie Ancele 53d66bb013 STM32L496ZG add ARM_MICRO toolchain 2017-10-06 11:35:16 +02:00
Nabil Elqatib fd7008c779 Add BSP files for NUCLEO_L496ZG 2017-10-06 11:35:16 +02:00
Pierre-Marie Ancele 6d3e17cb3c add compatibility with STM32L496xG MCUs 2017-10-06 11:35:16 +02:00
bcostm 88b82e312d fix init struct analogout 2017-10-05 16:35:05 +02:00
Jimmy Brisson cc0b3d05aa Merge pull request #5130 from bcostm/freeze_timer_in_debug
STM32: Freeze master timer on stop/breakpoint
2017-10-02 10:38:57 -05:00
Jimmy Brisson c06368a21e Merge pull request #5171 from jeromecoutant/PR_L432_RAM
STM32L432KC: increase RAM size from 48k to 64k
2017-09-27 15:35:44 -05:00
Jimmy Brisson 6cb0258344 Merge pull request #5026 from LMESTM/flash_init_issue_4967
STM32: Lock / Unlock flash for each operation
2017-09-27 15:17:26 -05:00
bcostm 4824e18a95 STM32L4: add ADC calibration 2017-09-27 14:38:34 +02:00
Jimmy Brisson a2cdb10bf7 Merge pull request #4932 from LMESTM/can_reset
Fix STM32 CAN reset to not lose context
2017-09-20 16:24:40 -05:00
jeromecoutant 8b0ee27819 STM32L432KC: increase RAM size from 48k to 64k
WARNING: you have to update ST-Link FW to V2J29M18
http://www.st.com/en/development-tools/stsw-link007.html
2017-09-19 15:11:23 +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
Jimmy Brisson e009d9f7be Merge pull request #4975 from LMESTM/STM32_SPI3W
Stm32 spi 3 wires mode support
2017-09-05 11:16:53 -05:00
Laurent MEUNIER f5aa7c7c82 STM32: Lock / Unlock flash for each operation
Rather than Unlocking flash during flash object creation, and leaving
the flash possibly continuously unlocked a(s object might bever be freed),
we decide to Unlock then Lock again at each erase or program call.
2017-09-05 17:49:07 +02:00
Laurent MEUNIER 04ac65a4e6 STM32: CAN: restore registers after can_reset
After reset the MCR register content needs to be restored so we're
introducing the can_registers_init function to be called at the first
init stage, but also after reset. We also store the can frequency to
go through the initialisation phase again.
2017-09-05 10:27:21 +02:00
Laurent MEUNIER 759642af8e STM32: Define CAN handle as part of can object
Instead of a static object, this will make driver
instantiation more robust and allow to re-use init
configuration on a need basis.

The CANName struct member is actually the CAN registers base address,
which is now available in the CanHandle.Instance field, so we don't need
CANName anymore.
2017-09-05 10:27:21 +02:00
Laurent MEUNIER 66162c6b1d STM32: move can_s definition to common_objects.h
This will ease up further changes to the structure.
2017-09-05 10:27:21 +02:00
Laurent MEUNIER e6631c02a4 STM32: adjust flash.get_page_size() to minimum programable size
Users of FlashIAP usually get the minimum programable size
by calling flash.get_page_size(), so let's return the minimum
to allows a most efficient usage of flash.

For F4 devices, this is 1 byte.
For L0 and L1 devices, this is a word (4 bytes).
For L4 devices, this is a double word (8 bytes).
2017-08-25 17:21:30 +02:00
Laurent MEUNIER 8c99bf3b62 SPI: HAL: disable IP at the end of transmit
in case of 1LINE direction
2017-08-17 11:02:43 +02:00
Jimmy Brisson f08d5a496c Merge pull request #4623 from LMESTM/analogin_handle
Improve management handling of multiple instances of analogin ojects
2017-07-31 15:23:31 +00:00
Jimmy Brisson 732f7328f8 Merge pull request #4762 from jeromecoutant/PR_L4_ADC
DISCO_L475VG_IOT : pin update
2017-07-24 10:57:18 -05:00
Jimmy Brisson 9e443e9d14 Merge pull request #4734 from LMESTM/stm32_uart_irq
Avoid data loss with serial interrupt used at high baudrates
2017-07-24 10:55:07 -05:00
Laurent MEUNIER 7414b1266b STM32: ADC: Fix PinMap_ADC_Internal
The instance needs to be searched in PinMap_ADC_Internal, not PinMap_ADC.
This was a copy paste error...
2017-07-20 14:15:37 +02:00
jeromecoutant b654af2d80 STM32L4 : json clock source configuration
- default value is the same as before patch
- system_stm32l4xx.c file is copied to family level with all other ST cube files
- specific clock configuration is now in a new file: system_clock.c (target level)
- nvic_addr.h file is now in TARGET_STM level
2017-07-19 16:39:26 +02:00
jeromecoutant a98594d132 DISCO_L475VG_IOT: remove unavailable pins 2017-07-17 14:09:01 +02:00
jeromecoutant e0e332f5d9 STM32L4 AnalogIn init issue with _ALT pins 2017-07-17 13:33:50 +02:00
Laurent MEUNIER efbeb0d057 STM32: analogin: adc struct member not needed anymore
The adc in analogin_t has the same value as the Instance member of
ADC_HandleTypeDef. So we can only rely on the later one.
2017-07-17 13:27:22 +02:00
Laurent MEUNIER 8540e8a1dd STM32: Analogin - define handle in object not as a global
In this commit, the analogin_s structure is moved to commonn_objects.h file
to limit the duplicaion.

The ADC handle is moved from a global variable to a struct member of the
analogin object. This allows multiple ADC instances to work correctly.

Note that State needs to be explicitely set to HAL_ADC_STATE_RESET
because the object is not zero initialized.
2017-07-17 13:23:45 +02:00
Laurent MEUNIER b5cbaaa0d0 STM32: Serial - use TXE as tx_irq instead of TC
TXE indicates that a byte can be written to UART register for sending,
while TC indicates that last byte was completely sent. So the TXE flag
can be used in case of interrupt based Serial communication, to allow
faster and efficient application buffer emptying.

Also TXE flag will be erased from the interrupt when writing to register.
In case there is nothing to write in the register, the application is
expected to disable the interrupt.
2017-07-17 08:46:00 +02:00
Laurent MEUNIER 85711eb09e STM32: Serial - do no clear RXNE flag
The RXNE flag is getting cleared when reading Data Register so it should
not be cleared here. Especially in case of high data rate, another byte of
data could have received during irq_handler call and clearing the flag
would read and discard this data which would be lost for application.
2017-07-17 08:46:00 +02:00
Martin Kojtal 58d0aa5ce8 Merge pull request #4694 from bcostm/typo_pins_disco_l475vg
DISCO_L475VG_IOT01A: typo corrections in PeripheralPins.c
2017-07-13 16:42:00 +02:00
Laurent MEUNIER be8024de28 STM32: serial: use proper GET_IT macro
Depending on families, different HAL macros are defined to check the
state of serial interrupts. In several cases, we can find only 1 macro:
__HAL_UART_GET_IT_SOURCE
Checks whether the specified UART interrupt has occurred or not

But in F0, F3, F7, L0, L4 there are 2 different macros
__HAL_UART_GET_IT
Checks whether the specified UART interrupt has occurred or not
__HAL_UART_GET_IT_SOURCE
Checks whether the specified UART interrupt source is enabled.

In the later case, __HAL_UART_GET_IT_SOURCE was being used so far,
but actually needs to be replaced by __HAL_UART_GET_IT. Using the right
macro, we also check the proper flags accordingly.
2017-07-11 17:22:33 +02:00
bcostm d58070b658 DISCO_L475VG_IOT01A: typo corrections in PeripheralPins.c 2017-07-03 16:12:14 +02:00
Jimmy Brisson d382d44f06 Merge pull request #4529 from LMESTM/issue_1083
Manage multiple instances of analog out
2017-06-30 13:53:46 -05:00
Jimmy Brisson bb3bedad79 Merge pull request #4638 from bcostm/fix_cmsis5_disco_l475vg
DISCO_L475VG_IOT01A: Fix startup files for cmsis5
2017-06-28 09:20:05 -05:00
Jimmy Brisson e907079456 Merge pull request #4603 from jeromecoutant/PR_OVERRIDE
STM32 : mbed_overrides.c is common for all families
2017-06-27 14:59:24 -05:00
Laurent MEUNIER 07575b33f0 STM32: STM32L475xG dac_s common definition
Fixing conflict as STM32L475xG target has been merged after the first
version of moving dac_s structure definition to common_ojects.h.
2017-06-27 09:27:46 +02:00
Laurent MEUNIER 024b3da5f1 STM32: analog_out: generalize code for multiple instance handling
Moving some code in common to be able to manage several ADC instances,
or several channels of an instance.

The change involves:
- moving dac_s structure definition to common_object.h
- create TARGET_STM/analogout_api.c and move fully common analog_out
functions in there
- rename analogout_api.c of each target family into analogout_device.c
to keep platform specific code
- update analogout_device.c to rely on obj->handle and obj->channel
- align analogout_init function as much as possible between families in
analogout_device.c files
2017-06-27 09:27:46 +02:00
bcostm 03930b88f6 DISCO_L475VG_IOT01A: Add missing nvic_addr.h file 2017-06-26 20:14:08 +02:00
bcostm 72be051088 DISCO_L475VG_IOT01A: Update system init for cmsis5 2017-06-26 19:04:44 +02:00
bcostm bd6d7382a3 DISCO_L475VG_IOT01A: Update toolchain files for cmsis5 2017-06-26 19:02:52 +02:00
Anna Bridge 55355d7374 Merge pull request #4401 from jeromecoutant/PR_USB_PIN
STM32 : Add USB used pins in PinNames.h files
2017-06-23 11:37:19 +01:00
Anna Bridge 4f5d4f040e Merge pull request #4375 from LMESTM/STM32_SPI_LL
Stm32 spi : use LL API to improve performances
2017-06-23 11:33:55 +01:00
jeromecoutant 18572cc65b STM32 : mbed_overrides.c is common for all families 2017-06-21 16:03:05 +02:00
Anna Bridge c5e1fa70d9 Merge pull request #4242 from bcostm/dev_disco-l475-iot
DISCO_L475VG_IOT01A : Add new target
2017-06-20 11:41:42 +01:00
Jimmy Brisson 3f464217f1 Merge pull request #4554 from LMESTM/L476RG_ld_file
Fix NUCLEO_L476RG linker scripts
2017-06-19 11:04:10 -05:00