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
Laurent MEUNIER
e293e07749
stm32f4 make comment more explicit
...
As reported during review, this was not understandable as it is.
the get_i2c_obj allows to get a pointer to i2c_s struct from the
handle pointer. This therefore makes a hard-coded assumption
about the struct itself
2016-11-10 17:30:04 +01:00
Laurent MEUNIER
fa9d147f69
Update Serial following L0 HAL update
2016-11-10 11:03:46 +01:00
Laurent MEUNIER
ab0a8ad508
STM32L0: Cube update V1.5.0 to v1.7.0
...
Including HAL and CMSIS udpate
2016-11-10 11:03:46 +01:00
Brian Daniels
52dc7c5423
Renames all prebuilt binaries to be prefixed with 'lib'
...
This fixes an issue with make_iar, since IAR requires all libraries that
are linked to be prefixed with 'lib'.
2016-11-09 11:08:01 -06:00
Laurent MEUNIER
b491165eac
[STM32F4] Add few prints for I2C debug
2016-11-09 18:03:04 +01:00
Laurent MEUNIER
a65bacc032
[STM32F4] Master receive sequential - fix for HAL I2C
...
in case of 2 consecutives calls to HAL_I2C_Master_Sequential_Receive_IT
with the Xfer mode I2C_FIRST_AND_LAST_FRAME, the second trasnfer does
not start at all.
It seems this is because the previous state is maintained as I2C_STATE_MASTER_BUSY_RX
and therefore the START condition will not be generated
2016-11-09 18:03:02 +01:00
Laurent MEUNIER
a50dc77c60
STM32: I2C: Change the master sync implementation to use ITs
...
With this new implementation, as in slave implementaiton, we use the
interrupts instead of accessing to registers continuously.
This has 2 main advantages:
- this shall improve performances overall and allows for sleep
time in the future
- this also removes some direct registers access from this
layer of code and makes it more generic among families
2016-11-09 18:02:59 +01:00
Laurent MEUNIER
ec95aa5701
STM32: I2C: Reset I2C in case of errors to recover
...
This is to avoid an IP / bus deadlock.
This requires to store scl and sda in order to call the init function.
2016-11-09 18:02:57 +01:00
Laurent MEUNIER
42d89b0665
STM32: I2C: Update Timeout computation
...
The timeout values are based on for loops and therefore should depend
on the core frequency and the I2C interface frequency.
This patch introduces this computation and base the timeout on the time
it should take to send a byte over the I2C interface. When sending a
number of bytes, this value can also be used.
In the loops, the timeout should also be decreased before the while
condition so that its value is 0 in case the timeout elapsed and this
can be treated as an error.
2016-11-09 18:02:54 +01:00
Laurent MEUNIER
79504a6a38
STM32: I2C: Change the slave API implementation to use ITs
...
With this new implementation, the slave use the Interrupt
to be notified of a request from master, instead of
accessing to registers continuously.
This has 2 main advantages:
- this shall improve performances overall and allows for sleep
time in the future
- this also removes some direct registers access from this
layer of code and makes it more generic among families
2016-11-09 17:22:28 +01:00
Laurent MEUNIER
d71537bb00
STM32: I2C: use irq helper function
2016-11-09 17:22:28 +01:00
Laurent MEUNIER
c2060e34a3
STM32: I2C: Add-up irq handlers
...
With this commit we define I2C irq handlers that can be used by the driver
in sync mode. This also provides a mecanism for enabling and/or disabling
these handlers
Those handlers will be superseded by MBED ones in case of async mode usage.
2016-11-09 17:22:28 +01:00
Laurent MEUNIER
490437ae29
STM32: I2C: Move up get_i2c_obj
...
so that it can be used as well in sync mode
2016-11-09 17:22:28 +01:00
Laurent MEUNIER
0bee69023c
STM32: I2C: Don't use global init variables
...
No need to store the init status of each IP.
Init can be called again in case we try to recover.
2016-11-09 17:22:28 +01:00
Laurent MEUNIER
2b53dfc453
STM32: I2C: configure slave address with HAL API
...
Instead of direct registers access, let's use HAL API.
This makes the code more generic accross STM32 families.
2016-11-09 17:22:28 +01:00
javierpedrido
b7882d6e9b
Added back USART 6 pins
2016-11-09 12:14:35 -03:00
Michel Jaouen
182c311fbd
TARGET_STM : USB FS STM HAL changes
2016-11-09 12:08:45 +01:00
Michel Jaouen
9c4e7173a5
DISCO_L476VG : align memory mapping with ARM
2016-11-09 12:08:41 +01:00
Michel Jaouen
c2032c0442
DISCO_L476VG: modify clock for USB support
2016-11-09 12:08:36 +01:00
Bradley Scott
6d3f03c73d
STM32F3: DISCO_F303VC - Add missing ADC pin muxing options
...
Corrects the incorrect PA_5 ADC channel mapping, and removes the
non-existent PB_11 ADC channel mapping.
2016-11-08 17:07:15 -05:00
Bradley Scott
130fddc467
STM32F3: DISCO_F303VC - Add missing UART pin muxing options
2016-11-08 17:04:21 -05:00
andreas.larsson
31a7cd017e
Tab -> spaces
2016-11-07 21:59:27 +01:00
andreas.larsson
baf519f4c5
Updated ublox ODIN-W2 binaries
2016-11-07 19:11:39 +01:00
Andreas Larsson
fde39602b9
Fixed dynamic message queue for scan results
2016-11-07 15:52:59 +01:00
Andreas Larsson
a4f09b5fdb
Added cbMAIN_dispatchEventQueue
2016-11-07 15:52:58 +01:00
andreas.larsson
32dfe73b09
Added missing checks for wifi_link_out when allocating packets
2016-11-07 15:52:57 +01:00
andreas.larsson
fd7c9cc13a
Added copying of the wifi_link_out buffer since the buffer might change after call chain has ended.
2016-11-07 15:52:56 +01:00