Commit Graph

69 Commits (master)

Author SHA1 Message Date
Jamie Smith 7cb61d9edf Rework STM32H7x clocking configuration 2024-04-16 00:24:09 -07:00
Jerome Coutant abf86183bb STM32H743: correct pack manager rom value 2021-10-06 15:30:29 +02:00
anish-k ec44991a6f ADC: STM32H7: Skip Negative input analog channels (INN)
Removed INN ADC channels from PeripheralPins.c
2021-07-09 21:15:01 +05:30
jeromecoutant fb8be8259c STM32H7 ADC : dual pad feature update 2021-06-03 10:42:35 +02:00
jeromecoutant 68b620bdc2 STM32H7: standard pin names 2021-04-14 10:30:03 +02:00
Anish Kumar 780d7c4a00 Updated TARGET_STM32 PeripheralPins.c and PeripheralPinMaps.h Replaced GPIO_PULLUP with GPIO_NOPULL in PinMap_PWM table 2021-04-08 18:42:01 +05:30
George Psimenos 61cfaa15cd Update UART pin names & add MBED_CONF_TARGET_STDIO_UART overrides 2021-03-23 11:17:17 +00:00
George Psimenos 2322f1dd7a Remove unused NUCLEO_H743ZI target files 2021-03-18 17:01:54 +00:00
jeromecoutant e602adb080 [STD-PIN] STM32H7: standardized pins 2021-03-18 17:01:54 +00:00
George Psimenos 885cdef5f7 Add standard pin-names validation script & tests 2021-03-18 17:01:53 +00:00
Robert Walton f2f927ebac Fix NUCLEO_H743ZI2 target 2021-02-15 11:05:07 +00:00
Martin Kojtal 544e5b94c3 CMake STM32: fix targets naming
Follow the naming for other CMake targets, using prefix mbed-, lower case with dashes
2021-02-09 17:07:44 +00:00
Robert Walton d9e184b6c6 cmake: Refactor ST targets
Refactor all ST targets to be CMake buildsystem targets. This removes
the need for checking MBED_TARGET_LABELS repeatedly and allows us to be
more flexible in the way we include MBED_TARGET source in the build.

A side effect of this is it will allow us to support custom targets
without breaking the build for 'standard' targets, as we use CMake's
standard mechanism for adding build rules to the build system, rather
than implementing our own layer of logic to exclude files not needed for
the target being built. Using this approach, if an MBED_TARGET is not
linked to using `target_link_libraries` its source files will not be
added to the build. This means custom target source can be added to the
user's application CMakeLists.txt without polluting the build system
when trying to compile for a standard MBED_TARGET.
2021-02-04 15:26:36 +00:00
Stefan Staub c3dca94b78 Update for Arduino Pinnames 2021-01-12 22:43:42 +01:00
jeromecoutant cc90ec9096 STM32H7: system power supply configuration 2020-12-04 10:52:59 +01: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
Dmitriy Isaev 8597f6ae12 Removed excess space simbol. Also runtime config check changed to compile time check. 2020-09-21 20:17:45 +03:00
Dmitriy Isaev 3f83163a63 Fixed system clock setup for XTAL and/or internal source on stm32f743 chips. 2020-09-20 16:26:25 +03: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 10a5b97396 STM32H7: NUCLEO_H743ZI2 pins update 2020-06-05 16:26:33 +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 303752ad84 STM32 remove all TOOLCHAIN_ARM_MICRO 2020-05-15 09:37:40 +02: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
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 01e798fd6a STM32 clock configuration depending on USB 2019-10-21 17:11:59 +02:00
jeromecoutant 40739d3b8f STM32H7 USB pins addition 2019-10-21 17:11:50 +02:00
jeromecoutant fff88617b7 STM32H7 ST CUBE V1.5.0 update 2019-09-27 11:39:06 +02:00
Vincent Veron 82e89add61 STM32H7 : use RAM instead of DTCMRAM (GCC_ARM toolchain) 2019-09-18 10:57:21 +02:00
Vincent Veron ac30a70092 STM32H7 : use RAM instead of DTCMRAM (ARM toolchain) 2019-09-18 10:57:20 +02:00
Vincent Veron d241eef5d4 STM32H7 : use RAM instead of DTCMRAM (IAR toolchain)
Keep vector table and crash data ram in 0x20000000 for
tests-mbed_platform-crash_reporting test.
Move the rest in RAM (0x24000000). This is needed for ethernet and allows
user to use more RAM (512k).

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2019-09-18 10:57:19 +02:00
jeromecoutant 117ddbadee STM32H743 files move 2019-09-10 11:46:35 +02:00
jeromecoutant be78084a8b NUCLEO_H743ZI and NUCLEO_H743ZI2: clock configuration cleanup 2019-08-29 10:52:24 +02:00
jeromecoutant 3e4592703d Create NUCLEO_H743ZI2 own target at 480 MHz 2019-08-23 10:33:08 +02:00
Vincent Veron 76fb4d22cc STM32H7 : update linker script files to use right location for lwip_ram_heap
Signed-off-by: Vincent Veron <vincent.veron@st.com>
2019-08-21 11:41:30 +02:00
Martin Kojtal be2c2bed30
Merge pull request #10884 from jeromecoutant/PR_H743ZI2
NUCLEO_H743ZI2 new target support
2019-07-01 09:27:31 +01:00
jeromecoutant d2ea0f9432 NUCLEO_H743ZI2 new target support 2019-06-24 11:00:58 +02:00
Vincent Veron 31eb49b918 TARGET_STM: Add DEVICE_SPI_COUNT to use SPIs without interference
Extend to all STM targets the work done on PR10752.

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2019-06-14 14:15:56 +02:00