Commit Graph

91 Commits (feature-bluetooth-unit-test)

Author SHA1 Message Date
jeromecoutant 1bbceb48f0 STM32 / CMAKE / targets : correct CMakeLists.txt files 2021-01-15 15:11:16 +01:00
pea-pod e1c754b179 Add SPI bitwidths to ST targets where supported 2021-01-11 07:53:07 -06:00
Martin Kojtal fc16d2bae7 STM: fix ARMClang sct files, using proper -E command
This is required for ARMClang, otherwise there is an error with unknown command.
2020-11-25 13:35:36 +00:00
Martin Kojtal a1fc9cdad5
Merge pull request #13915 from 0xc0170/cmake-stm32
CMake: add all TARGET_STM targets
2020-11-24 14:09:28 +00:00
Martin Kojtal 23eed7cda1 CMake: add STM32WB targets 2020-11-17 16:48:24 +00:00
JojoS62 e7f1430d37 remove duplicate LSEDRIVE_CONFIG 2020-10-22 11:24:51 +02:00
jeromecoutant 7c214cbd68 STM32WB: STM32Cube_FW_WB_V1.8.0
https://github.com/STMicroelectronics/STM32CubeWB
2020-10-19 14:36:02 +02:00
jeromecoutant 49ceb3c4b6 STM32WB: FLASH compilation issue with baremetal 2020-09-18 11:47:15 +02:00
Jaeden Amero 612b148fd4 stack: armc: Workaround config passing bug
Workaround a bug where the boot stack size configuration option is not
passed on to armlink, the Arm Compiler's linker. Prefer
MBED_CONF_TARGET_BOOT_STACK_SIZE if present, as this is what the
configuration system should provide. Fall back to MBED_BOOT_STACK_SIZE
if MBED_CONF_TARGET_BOOT_STACK_SIZE is not defined, as in the case of
buggy tools. If both MBED_CONF_TARGET_BOOT_STACK_SIZE and
MBED_BOOT_STACK_SIZE are not defined, then we fall back to a hard-coded
value provided by the linkerscript. See
https://github.com/ARMmbed/mbed-os/issues/13474 for more information.
2020-09-10 10:08:38 +01:00
Jaeden Amero 39e69d328d Use boot stack size from config system
To allow overriding of the boot stack size from the Mbed configuration
system, consistently use MBED_CONF_TARGET_BOOT_STACK_SIZE rather than
MBED_BOOT_STACK_SIZE.

Fixes #10319
2020-09-10 10:08:38 +01:00
jeromecoutant 0b5a91c9a2 STM32WB FLASH activity shared with M0+ core
source:
- https://github.com/STMicroelectronics/STM32CubeWB/blob/master/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_RfWithFlash/Core/Src/flash_driver.c
- Figure 10 from AN5289
2020-07-17 12:06:40 +02:00
jeromecoutant ec1e659d3a STM32WB readme update 2020-07-17 12:06:40 +02:00
jeromecoutant 285d533075 STM32WB: ST CUBE drivers update V1.4.0 => V1.7.0 / BLE 2020-07-17 12:06:39 +02:00
jeromecoutant 643c7a44f3 STM32WB: ST CUBE drivers update V1.4.0 => V1.7.0 / HAL 2020-07-17 12:06:39 +02:00
jeromecoutant c8737c593d STM32WB RNG: enable use from both M4 and M0+ core 2020-07-02 10:17:08 +02:00
Martin Kojtal aafae5d644
Merge pull request #12751 from jeromecoutant/PR_WB_USB
STM32WB: enable USB Device
2020-06-18 09:42:42 +02:00
Anna Bridge a870fcface
Merge pull request #13001 from jeromecoutant/PR_BAREMETAL_SUPPORT_STEP2
STM32 baremetal support step2 (L1/L4/WB)
2020-06-12 14:44:14 +01:00
jeromecoutant 551f8b4231 NUCLEO_WB55RG: enable USBDEVICE 2020-06-08 13:17:23 +02:00
jeromecoutant 28f8307afa STM32WB baremetal support
move BLE files to FEATURE_BLE
2020-06-08 12:06:01 +02:00
jeromecoutant c9e0c4f6f7 STM32WB ReadMe quick update
See #12975
2020-06-08 10:02:33 +02:00
jeromecoutant c96eb2cd0e STM32 rename TOOLCHAIN_ARM_STD into TOOLCHAIN_ARM 2020-05-15 10:41:28 +02:00
jeromecoutant 303752ad84 STM32 remove all TOOLCHAIN_ARM_MICRO 2020-05-15 09:37:40 +02:00
Veijo Pesonen a4c692bd41 Fix VTOR bug when using bootloader on STM32WB
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 board STM32WB55 so it
properly handle updating the VTOR with a bootloader.

Solution has been copied from the PR #3798.
2020-05-12 10:46:32 +03:00
jeromecoutant a1c159e0b5 STM32 GCC Unspecified RTOS error 2020-03-24 17:32:13 +01:00
jeromecoutant a1570f936f STM32WB : Add ReadMe file
Help on FW update procedure
2020-02-20 09:20:44 +01:00
jeromecoutant 9d016022b6 STM32WB clean SetSysClock 2020-02-20 09:20:44 +01:00
jeromecoutant ebae0e56d4 STM32WB align deepsleep functions with CubeFW 2020-02-20 09:20:43 +01:00
Martin Kojtal 7fd5119b89
Merge pull request #12341 from fkjagodzinski/fix-stm-hal_fpga
STM32L4: Fix the UART RX & TX data reg bitmasks
2020-02-10 13:21:31 +00:00
jeromecoutant 2368a07244 STM32: Fix the UART RX & TX data reg bitmasks 2020-02-07 16:23:50 +00:00
jeromecoutant 25da13bc18 STM32WB remove extra file 2020-01-23 10:53:09 +01:00
jeromecoutant 3657f902d3 STM32Cube_FW_WB_V1.4.0 - STM32WB55xx part 2020-01-20 17:24:46 +01:00
jeromecoutant 7a5da6109f STM32Cube_FW_WB_V1.4.0 - STM32WB50xx part 2020-01-20 17:24:46 +01:00
jeromecoutant c39a13d10c STM32Cube_FW_WB_V1.4.0 - template part 2020-01-20 17:24:45 +01:00
jeromecoutant b4f3b0799d STM32Cube_FW_WB_V1.4.0 - STM32_WPAN part 2020-01-20 17:24:45 +01:00
jeromecoutant 08184d7ac9 STM32Cube_FW_WB_V1.4.0 - HAL_DRIVER part 2020-01-20 17:24:44 +01:00
jeromecoutant d6e4b15c1a STM32Cube_FW_WB_V1.4.0 - CMSIS part 2020-01-20 17:24:43 +01:00
jeromecoutant 339846a1bb STM32WB cleanup
- BLE feature is mandatory
- remove clock source selection
- license alignment
- startup file from Cube delivery
- linker script alignement
2020-01-20 17:24:28 +01:00
jeromecoutant 8f6171f8b0 STM32WB - BLE restructure 2020-01-20 16:10:55 +01:00
jeromecoutant 8c76a43d3c STM32WB - New directory structure 2020-01-20 16:10:55 +01:00
Alexandre Bourdiol 9e3ad13d5e TARGET_STM: fix flash api 64bit address alignment on L4 and WB 2019-12-11 18:32:42 +01:00
Kevin Bracey fe22bc023e Update HAL CRC API
* Change "is supported" check to be a macro, so it can be done at
  compile-time.
* Eliminate weird shift on 7-bit CRCs.
* Add support for 32-bit CRCs and reversals to TMPM3HQ.
2019-12-02 14:45:37 +02:00
Martin Kojtal 7177d8fefe
Merge pull request #11950 from ABOSTM/DISCO_H747I_TICKLESS
DISCO_H747I: add support of MBED_TICKLESS
2019-11-29 09:48:09 +01:00
Martin Kojtal a1cddbae5f
Merge pull request #11938 from LMESTM/stm32_serial_clear_rxne
STM32: Update and align serial_clear implementations
2019-11-27 16:30:11 +01:00
Alexandre Bourdiol 41b038a028 TARGET_STM: rework hal_sleep management to be compatible with all STM32 families 2019-11-27 14:25:30 +01:00
Martin Kojtal 5f7ecea00b
Revert "MbedCRC and CRC HAL revisions" 2019-11-26 13:45:37 +00:00
Laurent Meunier f20529f9e6 STM32: Update and align serial_clear implementations
Clear RXNE flag by reading the RX register and align this implementation
on all families.
2019-11-25 14:55:32 +01:00
Kevin Bracey 1f94428a56 Update HAL CRC API
* Change "is supported" check to be a macro, so it can be done at
  compile-time.
* Eliminate weird shift on 7-bit CRCs.
* Add support for 32-bit CRCs and reversals to TMPM3HQ.
2019-11-13 14:31:49 +02:00
Martin Kojtal df79609cc5
Merge pull request #11675 from jeromecoutant/PR_USB_STEP1
STM32 USB update step 1
2019-10-28 14:06:15 +01:00
Kevin Bracey fb6aa3ef4f Clean up ARM toolchain heap+stack setup in targets
ARM Compiler 6.13 testing revealed linker errors pointing out
conflicting use of `__user_setup_stackheap` and
`__user_initial_stackheap` in some targets. Remove the unwanted
`__user_initial_stackheap` from the targets - the setup is
centralised in the common platform code.

Looking into this, a number of other issues were highlighted

* Almost all targets had `__initial_sp` hardcoded in assembler,
  rather than getting it from the scatter file. This was behind
  issue #11313. Fix this generally.
* A few targets' `__initial_sp` values did not match the scatter
  file layout, in some cases meaning they were overlapping heap
  space. They now all use the area reserved in the scatter file.
  If any problems are seen, then there is an error in the
  scatter file.
* A number of targets were reserving unneeded space for heap and
  stack in their startup assembler, on top of the space reserved in
  the scatter file, so wasting a few K. A couple were using that
  space for the stack, rather than the space in the scatter file.

To clarify expected behaviour:

* Each scatter file contains empty regions `ARM_LIB_HEAP` and
  `ARM_LIB_STACK` to reserve space. `ARM_LIB_STACK` is sized
  by the macro `MBED_BOOT_STACK_SIZE`, which is set by the tools.
  `ARM_LIB_HEAP` is generally the space left over after static
  RAM and stack.
* The address of the end of `ARM_LIB_STACK` is written into the
  vector table and on reset the CPU sets MSP to that address.
* The common platform code in Mbed OS provides `__user_setup_stackheap`
  for the ARM library. The ARM library calls this during startup, and
  it calls `__mbed_user_setup_stackheap`.
* The default weak definition of `__mbed_user_setup_stackheap` does not
  modify SP, so we remain on the boot stack, and the heap is set to
  the region described by `ARM_LIB_HEAP`. If `ARM_LIB_HEAP` doesn't
  exist, then the heap is the space from the end of the used data in
  `RW_IRAM1` to the start of `ARM_LIB_STACK`.
* Targets can override `__mbed_user_setup_stackheap` if they want.
  Currently only Renesas (ARMv7-A class) devices do.
* If microlib is in use, then it doesn't call `__user_setup_stackheap`.
  Instead it just finds and uses `ARM_LIB_STACK` and `ARM_LIB_HEAP`
  itself.
2019-10-23 14:53:49 +03:00
jeromecoutant 0e1a04b64a STM32WB USB pins addition 2019-10-21 17:11:57 +02:00