Commit Graph

3717 Commits (ff307188b75e0b0346902e083ff9ea9ef658ce72)

Author SHA1 Message Date
Martin Kojtal ba1e7b53d0
Merge pull request #14272 from ladislas/ladislas/feature/cmake-current-binary-dir
Change CMAKE_BINARY_DIR to CMAKE_CURRENT_BINARY_DIR
2021-02-14 19:23:46 +00:00
Ladislas de Toldi 5a879c6a4e
Change CMAKE_BINARY_DIR to CMAKE_CURRENT_BINARY_DIR 2021-02-11 22:49:07 +01:00
Hugues Kamba deeaa7970f CMake: Add post build operation support
A CMake custom target, mbed-post-build, is added as a dependency of the
application CMake target if a Mbed target adds a CMake custom target
named mbed-post-build-bin. mbed-post-build-bin is added as a dependency
of mbed-post-build. mbed-post-build-bin depends on the application binary.
This is done so a CMake custom command that executes post-build can be added.

The Python scripts that implement the operations have been modified to add
CLI entry points so they can be called from CMake. Dependency on the old
tool has been removed on those scripts by passing them exactly what they
require instead of passing old tool Python objects. A consequence of that
was to slightly amend how the old tool calls some of those Python modules.

Support has only been added for Mbed targets that currently have a requirement
for post build operations. This includes: LPC1114, LPC1768, ARCH_PRO, LPC54114,
LPC546XX, FF_LPC546XX, CY8CKIT064B0S2_4343W, CYTFM_064B0S2_4343W, CYSBSYSKIT_01

The following targets are not supported as TFM support is not yet included:
ARM_MUSCA_B1, ARM_MUSCA_B1_NS, ARM_MUSCA_S1, ARM_MUSCA_S1_NS.
2021-02-11 17:04:41 +00:00
Martin Kojtal 33c06fb346
Merge pull request #14265 from 0xc0170/cmake-fix-app-target
CMake: remove need for APP_TARGET
2021-02-11 11:49:16 +00:00
Martin Kojtal 4236db4aef
Merge pull request #14255 from 0xc0170/cmake-fix-naming-targets
CMake: fix naming targets
2021-02-11 08:02:55 +00:00
Martin Kojtal 207dcbb88b CMake: move Gcc Arm memmap to configure app
This allows us to keep all in one place and fix (removing this function later)
2021-02-10 19:37:42 +00:00
Martin Kojtal 8be5da2619 CMake: hardcode mem map name to "application" for Gcc Arm
We need to fix linker script differently, it should not need APP_TARGET. This is a series of
commits fixing APP_TARGET in our tree. We should not require it.

The linker script preprocessing will be fixed differently. "application" prefix is temporary until
we clean this up completely.
2021-02-10 14:02:04 +00:00
Martin Kojtal b9990089eb
CMake: fix wording in naming
Co-authored-by: Hugues Kamba <41612201+hugueskamba@users.noreply.github.com>
2021-02-10 12:15:48 +00:00
Martin Kojtal a6915af60d CMake readme: add naming scheme for our CMake targets
Be consistent
2021-02-10 09:43:08 +00:00
Martin Kojtal aa561ee8f5
Merge pull request #14250 from saheerb/example-psa-115200
example-psa - add MUSCA_S1 and update baudrate
2021-02-09 14:47:52 +00:00
Martin Kojtal ce6ff0ac5f
Merge pull request #14207 from JeanMarcR/STM32WL_JMR
Adding NUCLEO_WL55JC support
2021-02-08 15:56:46 +00:00
reme 6220ca5fd5 STM32WL : ADDING CORTEX-M4 LINK OPTION
Add link option in file used for compilation.
Due to a bug in mbedtools environment.
2021-02-08 09:42:51 +00:00
reme b9e2fab52a STM32WL : ADDING ARM PACK MANAGER SUPPORT
Add STM32WL information in index.json file
Adding sector
2021-02-08 09:42:51 +00:00
Saheer Babu 51d3afe04a example-psa - add MUSCA_S1 and update baudrate 2021-02-05 14:46:09 +00:00
Martin Kojtal dd33463518
Merge pull request #14205 from multiplemonomials/master
CMake: better detection of memap dependencies
2021-02-05 10:13:18 +00:00
Robert Walton 0e491cc0cf cmake: Refactor mbed_set_mbed_target_linker_script
Move the mbed_set_mbed_target_linker_script function into its own file
and make it set the linkerscript on the target passed in, rather than
setting the linkerscript on the top level mbed-core target. We use
CMake's automatic forwarding of usage requirements to forward the linker
script to the top level target.

This commit also adds a condition to check whether the MBED_TARGET is a
CMake buildsystem target. If it is we will just link to it in the
idiomatic CMake way, if it's not then we use the 'old' mechanism of
setting the linkerscript for the mbed-core target. This check will be
useful when we refactor MBED_TARGETS to be CMake buildsystem targets as
it will allow us to do the refactoring incrementally.
2021-02-04 15:26:33 +00:00
Jamie Smith 7b03aeaf98 Rebase against master 2021-02-03 14:16:07 -08:00
Jamie Smith 9e2b04e945 Whitespace formatting changes. 2021-02-03 14:12:29 -08:00
Jamie Smith 0a67fef995 Add intelhex version info (same as #14201) 2021-02-03 14:12:29 -08:00
Jamie Smith df60d42aed Realized that companion Python script is actually not needed at all, can be replaced with command line 2021-02-03 14:12:28 -08:00
Jamie Smith 8eca0cffb2 Fix incorrect comment in tools/cmake/python_packagecheck.py
Co-authored-by: Hugues Kamba <41612201+hugueskamba@users.noreply.github.com>
2021-02-03 14:12:28 -08:00
Jamie Smith e61a45a0c3 Add extra lines as requested 2021-02-03 14:12:27 -08:00
Jamie Smith 049f1a7bf6 Fix indentation error in tools/cmake/CheckPythonPackage.cmake
Co-authored-by: Hugues Kamba <41612201+hugueskamba@users.noreply.github.com>
2021-02-03 14:12:27 -08:00
Jamie Smith fafb08c1b7 Reformat tools/cmake/CheckPythonPackage.cmake
Co-authored-by: Hugues Kamba <41612201+hugueskamba@users.noreply.github.com>
2021-02-03 14:12:27 -08:00
Jamie Smith 947c804295 Parse requirements.txt in CMake 2021-02-03 14:12:26 -08:00
Jamie Smith c667747309 Fix license header 2021-02-03 14:11:54 -08:00
Jamie Smith c193527305 Add intelhex to requirements.txt as it's a dependency of memap. 2021-02-03 14:11:54 -08:00
Jamie Smith 029486e640 Add FindPythonPackage and use it to detect memap dependencies 2021-02-03 14:11:53 -08:00
Martin Kojtal 733975220d
Merge pull request #14228 from ARMmbed/rename_greentea_test_macro
CMake: rename greentea test macro
2021-02-03 14:17:20 +00:00
Martin Kojtal 24f035ef3e
Merge pull request #14204 from multiplemonomials/cmake-exe-suffix
Set executable suffix in CMake
2021-02-03 14:17:00 +00:00
Martin Kojtal 6dd44e7ec7
Merge pull request #14190 from 0xc0170/fix_ns_cores
CMake cores: fix NS cores
2021-02-03 10:17:21 +00:00
Martin Kojtal d48cc295f2
Merge pull request #14213 from 0xc0170/dev_add_cortexm55
Add cortex-m55 to CMake support
2021-02-03 09:39:32 +00:00
Rajkumar Kanagaraj 6824b14e48 CMake: rename greentea test macro 2021-02-02 07:43:40 -08:00
Martin Kojtal 2e964006b7
Merge pull request #14196 from 0xc0170/fix-cores-gcc
CMake cores: fix cpu/fpu flags
2021-02-02 14:18:13 +00:00
Martin Kojtal 276e835e4b
Merge pull request #14181 from hugueskamba/hk_cmake_greentea_mbedtls
CMake: Add support for Mbed TLS Greentea tests
2021-02-02 14:17:18 +00:00
Jamie Smith 7f2abe6673 Add newline 2021-01-29 09:00:35 -08:00
Martin Kojtal 0bcd1f770f Add cortex-m55 to CMake support 2021-01-28 16:46:18 +00:00
Jamie Smith 068358d8d6 Set executable suffix in CMake 2021-01-27 15:53:56 -08:00
Martin Kojtal 0a990e702a CMake cores: align fpu settings
Move the fpu settings across all cores so they are aligned.
Some cores did not have fpu set for ARMClang. I matched here both toolchains to set up
the fpu the same (Only exception is soft vs hard - that is separate issue I would not like to touch
in this series).
2021-01-27 12:30:21 +00:00
Martin Kojtal 8e2c9575be CMake cores: remove dsp as it is on by default 2021-01-27 12:20:48 +00:00
Martin Kojtal 5d8d2bae76 CMake cores: fix dsp for M33FE (enabling it)
I realized we specified nodsp for M33 core but had march for FE parts enabled with dsp.
This fixes it.

M33F has no dsp. M33FE cores have dsp enabled.
2021-01-27 10:30:28 +00:00
Martin Kojtal 15acc009a0 CMake cores: remove march, not needed if we use mcpu 2021-01-27 10:25:48 +00:00
Martin Kojtal 30065905b8 CMake cores: fix cpu flag
Couple of cores did not have common flag `--mcpu` set
2021-01-26 14:13:19 +00:00
Martin Kojtal 747de9f849 CMake cores: fix NS cores
Set DOMAIN_NS=1 only for _NS cores. We had it otherway around.
I verified one non NS target that was failing to build, plus also checked the old tools
that had this definitions:

```
   91:     "Cortex-M23-NS":   ["__CORTEX_M23", "ARM_MATH_ARMV8MBL", "DOMAIN_NS=1",
   92                          "__CMSIS_RTOS", "__MBED_CMSIS_RTOS_CM"],
   93      "Cortex-M23":      ["__CORTEX_M23", "ARM_MATH_ARMV8MBL", "__CMSIS_RTOS",
   94                          "__MBED_CMSIS_RTOS_CM"],
```
2021-01-25 12:21:40 +00:00
Hugues Kamba 9a1c24e254 CMake: Add support for Mbed TLS Greentea tests
The Mbed TLS Greentea tests can now be built with CMake.
2021-01-25 10:48:15 +00:00
Hugues Kamba db189bae6d CMake: Correct ARM toolchain MCU core flags
Some armasm flags are passed to the ASM whilst we actually use armclang to invoke it. This causes build failures as armclang is not compatible with armasm flags.
This commit passes the same flags to all tools in the chain.
2021-01-22 10:54:47 +00:00
jeromecoutant 541c6817c1 CMAKE : correct "Cortex-M7F" link options for ARM 2021-01-20 10:34:07 +01:00
Martin Kojtal fa2101c48d
Merge pull request #14155 from jeromecoutant/PR_M33_CMAKE
CMAKE / M33 : DOMAIN_NS issue
2021-01-20 08:04:46 +00:00
Hugues Kamba 53cc382a96 CMake: Fix Cortex-M33-NS and Cortex-M33 ASM flags
The ASM flags were not supported by armclang, use the armclang alternatives.
Removed armlink --cpu flag as they generate a CMake configuration
time error. Furthermore, it is not necessary to specify the
processor or architecture as the linker auto-detects it from
the input object files.
See: https://developer.arm.com/documentation/101754/0615/armlink-Reference/armlink-Command-line-Options/--cpu-name--armlink-
2021-01-18 17:50:15 +00:00
Hugues Kamba c51b78fbe5 Add support for all ARM SSG Mbed targets 2021-01-18 17:39:13 +00:00