Commit Graph

41 Commits (feature-chip)

Author SHA1 Message Date
Martino Facchin 62b6cc9a05 cmake: STM32H7: enable PORTENTA* target 2021-01-05 14:49:37 +01:00
Martino Facchin 26f758d83c cmake: STM32H7: fix stm32h747 targets
This needs to be defined for "final" targets not contained in their processor subdirectory
2021-01-04 18:04:03 +01:00
Martino Facchin eaa3b0f285 PORTENTA_H7: use default linker/startup scripts 2020-12-11 10:11:55 +01:00
Martino Facchin 5b91a00da3 STM32H747_CM4: add RAM_D3 memory section 2020-12-11 10:11:55 +01:00
Martino Facchin a7a6f2a2c5 [Portenta] Add Cmake rules
Completes #13915
2020-12-11 10:11:54 +01:00
Martino Facchin 84790a038a Add SPDX-License 2020-12-11 10:11:54 +01:00
Martino Facchin 7765f39ca3 Fix missing licenses for Arduino original code 2020-12-11 10:11:54 +01:00
pennam f665f1d391 Portenta: enable ETH power supply 2020-12-11 10:11:53 +01:00
Martino Facchin 3d2d683dee Add Arduino Portenta H7 target 2020-12-11 10:11:53 +01:00
Martino Facchin ae35c887f3 STM32H747xI: allow overriding SetSysClock 2020-12-11 10:11:51 +01:00
jeromecoutant cc90ec9096 STM32H7: system power supply configuration 2020-12-04 10:52:59 +01:00
Martin Kojtal b5b0cfb2c6 STM32: fix H7 target definition in sct files 2020-11-25 14:12:26 +00: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 80161f59ca CMake: add STM32H7 targets 2020-11-17 15:32:24 +00:00
jeromecoutant 2ccf534aaa STM32H7: fix ADC internal channels 2020-10-20 08:19:27 +02:00
jeromecoutant e322870219 STM32H7: FLASH update 2020-10-20 08:19:27 +02:00
jeromecoutant f0b7e8b98c STM32H7: update target specific files with Cube-1.8
- startup files pdated from Cube
- all SetSysClock aligned and checked
- license header updated
2020-10-20 08:19:16 +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
Martin Kojtal 0614e92c5b
Merge pull request #13083 from jeromecoutant/PR_H7_CUBE170
STM32H7 update drivers version to CUBE V1.7.0
2020-06-16 13:45:42 +02:00
jeromecoutant 561f8d48bf STM32H7 STM32Cube FW V1.5.0 => V1.7.0 2020-06-08 14:33:10 +02:00
jeromecoutant 7d181c1bf7 STM32H7: directory restructuration
- only files move
- sometimes files rename
+ targets.json update
2020-06-08 14:33:08 +02:00
jeromecoutant 1484ac0859 STM32H7: DISCO_H747I pins update 2020-06-05 16:26:23 +02:00
jeromecoutant 9b819c7f8b STM32H7 baremetal support 2020-05-18 17:27:32 +02:00
jeromecoutant c96eb2cd0e STM32 rename TOOLCHAIN_ARM_STD into TOOLCHAIN_ARM 2020-05-15 10:41:28 +02:00
jeromecoutant 249752e7bc STM32H7: enable QSPI
- DISCO_H747I board has MT25QL512 embedded QSPI
2020-03-23 18:46:26 +01:00
jeromecoutant bea83d02c2 STM32 TARGET_STM astyle corrections 2019-12-10 14:39:47 +01:00
Alexandre Bourdiol e83a8abdcb targets: DISCO_H747I add support of MBED_TICKLESS 2019-11-27 14:16:15 +01:00
jeromecoutant 7fcedd20e1 DISCO STM32H747I ETHERNET support, but disabled.
Ethernet is disabled by default,
because some hardware modifications are required on the board DISCO_H747I.
see https://os.mbed.com/teams/ST/wiki/DISCO_H747I-modifications-for-Ethernet
2019-11-08 16:05:00 +01:00
jeromecoutant c7ca6f731c STM32H7 linker script files alignment 2019-10-31 14:59:18 +01:00
jeromecoutant 21ff11c3d3 STM32H7 alignment within family
- license header update
- STMOD+ connector pin addition
- update pin comment for Ethernet connector issue (DISCO_H747I)
- align files for each target
2019-10-31 14:38:37 +01:00
jeromecoutant 0c740e7095 STM32H7: update PeripheralPin generation script and pin files accordingly 2019-10-31 14:11:00 +01:00
jeromecoutant d7d0d0b8cb STM32H7 FLASH and DEVICE_KEY
- Enable FLASHIAP for all H7 boards
- Use "TDB_INTERNAL" for all H7 boards
- Define specific internal_base_address only for DISCO_H747I_CM7
  (default address is the end of FLASH which is correct for other H7 boards)
- Correct GetSectorBase function with Dual Bank information
2019-10-31 13:04:49 +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
Alexandre Bourdiol 6397a1d555 Mbed patch of STM32cube for bootloader: use NVIC_FLASH_VECTOR_ADDRESS 2019-10-14 18:03:47 +02:00
Alexandre Bourdiol 48aba33204 SystemCoreClock should correspond to current core clock and not D1 clock. 2019-10-14 18:03:06 +02:00
Alexandre Bourdiol adcf0e2fa5 DISCO_H747I Dualcore support
Add 2 targets for DISCO_H747I dualcore:
* DISCO_H747I      -> for CM7 core
* DISCO_H747I_CM4  -> for CM4 core

Current restrictions:
* TICKLESS deactivated
* DeepSleep not supported (DeepSleep wrapped to sleep)

Warning: use of the same IP (example I2C1) by both core at the same time is not prevented,
but is strongly not recommended.
Some Hardware Semaphore are use for common IP, to manage concurrent access by both cores: Flash, GPIO, RCC.

Warning: Drag and drop of binary to DISCO_H747I will flash CM7.
         In order to flash CM4, one can use STM32 CubeProgrammer tool.
2019-10-14 18:02:57 +02:00
jeromecoutant fff88617b7 STM32H7 ST CUBE V1.5.0 update 2019-09-27 11:39:06 +02:00
jeromecoutant 535dbe87af STM32H747 license update 2019-09-10 11:46:52 +02:00
jeromecoutant c28d5f17e5 DISCO_H747I single core M7 introduction 2019-09-10 11:46:50 +02:00
jeromecoutant 73a00e953d STM32H747xI introduction 2019-09-10 11:46:47 +02:00