Commit Graph

257 Commits (c70baa92893dea61bbe6ae17839b88a4ef9351bd)

Author SHA1 Message Date
Jaeden Amero 64f19281d3 Revert "Add the exception in Mbed OS build tool for Arm Compiler 5 toolchain."
For backwards compatibility reasons, as the Mbed tools must be able to
build any online-compiler-supported version of Mbed, revert back to
emitting a warning when ARMC5 is used. This will enable ARMC5 to
continue working in the online compiler for Mbed OS 5 and other previous
versions. ARMC5 remains unsupported in Mbed 6.

This reverts commit 03d57b7ba2.
2020-05-22 15:39:01 +01:00
Martin Kojtal 1088fa0627 build tools: remove version 6 2020-05-19 14:28:26 +01:00
Martin Kojtal bcfa1f97e0 tools build: add 6 to the version check 2020-05-19 13:03:53 +01:00
Martin Kojtal 12cadc2e91 tools build: remove git diff typo 2020-05-19 12:43:24 +01:00
Martin Kojtal 5a9ad74818 targets: add version 6 to the toolchain 2020-05-19 11:14:18 +01:00
Martin Kojtal b43fc0cf1a build: target toolchain return
Revert back to the toolchain function. Although it should be refactored (return just list of toolchains from a target).
2020-05-19 10:23:20 +01:00
Martin Kojtal 07084a5212 tools build: add profile
To select supported_application_profiles attribute from targets
2020-05-18 19:31:22 +01:00
Martin Kojtal 59db9f692f tools build: return empty list for mbed2
We cant afford to raise an exception now. As anyone using this out there do not catch it. Rather
an empty list, as it can work after this fix - won't do anything.
2020-05-18 08:57:07 +01:00
Martin Kojtal 810b0262c1 tools build: fix toolchain tuple, should be list 2020-05-18 08:57:07 +01:00
Martin Kojtal 6e59bdd64d build: fix error syntax 2020-05-18 08:57:07 +01:00
Martin Kojtal caf58a7a44 tools/build_api: fix wording
Co-authored-by: Hugues Kamba <41612201+hugueskamba@users.noreply.github.com>
2020-05-18 08:57:07 +01:00
Martin Kojtal c489c213a7 build api: fix release version
This is non trivial fix as the function is being used outside of this repository.
Tools rely on it to return list of targets for 2 or 5. As we removed release_version from many targets,
this broke the logic. To keep the logic as it was, without updating all tools out there now,
lets just return full set of targets - all are supported.

In case for Mbed 2, returning all targets does not make sense, but rather raise an exception here. Not supported. This avoids suprised. If you look at build api functions there are many checks for 2 or 5 so more
clean up needed to actually get release_version out of the tools.
2020-05-18 08:57:06 +01:00
Devaraj Ranganna fd74d678a7 psa: Remove PSA secure binary building tools
The PSA-implementing secure binary is not built using Mbed OS build
tools anymore. Instead, the TrustedFirmware-M (TF-M) build system is
used to produce the secure binary. As such, we remove PSA related hooks
from the build system, remove PSA related scripts from tools/test
folder, and also remove the psa-autogen job from travis which was
running the now unecessary and removed generate_partition_code.py.

Remove the ability to generate new PSA binaries in the old manner, where
Mbed OS implements PSA. We don't yet remove any PSA binaries or break
the currently checked-in Mbed-implemented PSA support. PSA targets
integrated in the old manner will continue working at this point.

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>
2020-04-27 09:51:14 +01:00
Martin Kojtal 35c93011ea
Merge pull request #12748 from hugueskamba/hk_fix_c_lib_build_failure
Fix build failure due to C lib selected
2020-04-15 10:26:09 +02:00
Hugues Kamba 467305f374 Fix build failure due to C lib selected
Allow target.c_lib to be set to small when Mbed 5 is supported.
2020-04-02 14:02:40 +01:00
Hugues Kamba 0e5b71fdd7 Replace small with std C lib if not supported by a target's toolchain
Display a post-build warning indicating to the user that the standard C
library was used instead of the small C library if the former is not
supported.
2020-03-31 11:35:40 +01:00
Rajkumar Kanagaraj 7761d45643 Remove deprecated ARMC5 from `mbed compile -S` command output 2020-03-23 07:28:32 -07:00
Martin Kojtal 5f1c77741a tools: fix SPDX identifiers 2020-02-21 07:01:48 +00:00
Rajkumar Kanagaraj 03d57b7ba2 Add the exception in Mbed OS build tool for Arm Compiler 5 toolchain. 2020-02-10 04:06:07 -08:00
Anna Bridge ee1d998d43
Merge pull request #12278 from rajkan01/feature_rename_default_lib
Rename "default_lib" to "c_lib".
2020-01-21 16:39:11 +00:00
Anna Bridge 48f90c06df
Merge pull request #11904 from jamesbeyond/HW_gcov
TOOLS: enable build greentea test coverage for HW
2020-01-21 11:46:51 +00:00
Rajkumar Kanagaraj 8a0fdd24d9 Rename "default_lib" to "c_lib". 2020-01-17 08:05:48 -08:00
Rajkumar Kanagaraj 434f50ec0b Refactor the if condition check 2020-01-16 04:31:38 -08:00
Rajkumar Kanagaraj f5230cd70c Refactor condition check 2020-01-15 09:47:59 -08:00
Rajkumar Kanagaraj 816516e23c Refactor the code and incorporated the review comment 2020-01-15 04:51:45 -08:00
Rajkumar Kanagaraj de3c737581 uARM: Fix deprecate warning printing wrongly for other toolchains. 2020-01-07 08:02:31 -08:00
Rajkumar Kanagaraj 957dca2082 Enabling small C library option and deprecating uARM toolchain
- By default, Mbed OS build tools use standard C library for all supported toolchains.
   It is possible to use smaller C libraries by overriding the "target.default_lib" option
   with "small". This option is only currently supported for the GCC_ARM toolchain.
   This override config option is now extended in the build tool for ARM toolchain.
 - Add configuration option to specify libraries supported for each toolchain per targets.
 - Move __aeabi_assert function from rtos to retarget code so it’s available for bare metal.
 - Use 2 memory region model for ARM toolchain scatter file for the following targets:
   NUCLEO_F207ZG, STM32F411xE, STM32F429xI, NUCLEO_L073RZ, STM32F303xE
 - Add a warning message in the build tools to deprecate uARM toolchain.
 - NewLib-Nano C library is not supporting floating-point and printf with %hhd,%hhu,%hhX,%lld,%llu,%llX
   format specifier so skipping those green tea test cases.
2019-12-19 10:05:11 -08:00
Qinghao Shi e6fe03f698 TOOLS: fix failed python test 2019-11-20 15:58:37 +00:00
Qinghao Shi 44825560ca TOOLS: enable build greentea test with gcov options 2019-11-20 10:07:12 +00:00
Hugues Kamba 2a9207bbe4 Address comments on workaround for Mbed OS 2 CI build after Public (#11114)
* Modify compilation API to provide a list of paths to exclude from the build.
* `_exclude_files_from_build` becomes a static method
* Replace ternary expression with simple  `if/else` statement
* Make unit test case for dirs exclusion independent of system files
2019-08-02 12:32:40 +01:00
George Psimenos 3b23edb78c Fix CI for branch feature-public-headers (#11093)
* Fix rtos include path in NRFCordioHCIDriver
* Flatten USB driver directory structure
* Add missing include for us_ticker
* Add more missing includes for us_ticker
* Fix mbed_hal_fpga_ci_test_shield/uart test
* Fix bare-metal build
* Fix Watchdog UNITTEST
* Fix Mbed OS 2 build for Public/Internal headers relocating
2019-08-02 12:32:40 +01:00
Kevin Bracey 65e0887ef3 Permit non-TrustZone ARMv8 build
Change the heuristic for selection of CMSE in the tools python, so that
a non-TrustZone ARMv8 build can happen.

Ideally we would have more direct flagging in the targets, but this
refines the heuristic so the necessary behaviour can be easily
achieved.

* DOMAIN_NS=1 is based purely on the `-NS` suffix on the core name.

* Enabling CMSE in the compiler and outputting a secure import library
  is now enabled when the core doesn't have an `-NS` suffix by either
  the target label `TFM` being present or the flag `trustzone` being set.

This covers the existing ARMv8-M behaviour - TF-M builds have the TFM
label, as per its documentation; M2351 secure builds have no explicit
flagging, so we ensure that the M2351_NS target has the trustzone flag
set, and the out-of-tree secure target inherits that.
2019-05-03 13:36:38 +03:00
Alexander Zilberkant 91505184d3 Integrate with mbeb-cli build system
PSA code generation will be called automatically upon mbed invocation.
The autogenerated files will be created under <mbed-os-root>/PSA_AUTOGEN directory.
2019-04-30 14:41:09 +03:00
Brian Daniels ee174fabef Make get_mbed_official_release return ARMC5 and ARMC6.
Previously it would return "ARM" for "ARMC5", which was quite confusing.
2019-04-12 14:45:28 -05:00
Brian Daniels 8a2836f122 Fix detection of supported targets for mbed 2 builds 2019-04-08 11:34:28 -05:00
jeromecoutant ab9890072d Build script: add explicit console log in case of linker script error 2019-04-02 18:03:32 +02:00
Brian Daniels b95732a1b5 get_mbed_official_release respects supported_toolchains 2019-03-23 18:24:59 -05:00
Brian Daniels b94c4189b7 Updating supported toolchain printing with new options 2019-03-23 18:24:58 -05:00
Brian Daniels 04e90c278c ARMC5 is supported if a target lists ARM as a supported_toolchain 2019-03-23 18:24:58 -05:00
Brian Daniels 6f5a3c3e8d Add functions to enable ARM fallback to ARMC5.
There are two new functions: get_valid_toolchain_names and
find_valid_toolchain. These functions are used to figure out if a
fallback is possible and necessary. find_valid_toolchain is expected to
be used by the front-end scripts.

get_toolchain_name was updated with some different logic and comments.
2019-03-23 18:24:58 -05:00
Brian Daniels 6e629ded84 Version check the compiler in all build functions
This enables the use of Mbed Studio's version of ARMC6.
2019-03-19 17:37:55 -05:00
Brian Daniels 9824c3ccc3 Clean up some whitespace 2019-03-19 17:37:18 -05:00
Jimmy Brisson 4cac89c22b Reorder post-build and managed bootloader mode merging
Priously, post-bulid was run before the merge from managed bootloader mode.
This renders many post-build scripts less than useful, as most of them
compute a digest of the ROM image generated in a build.

This reorders the post-build scripts to come after the managed bootloader
mode so that post-build script digests are useful again.
2019-03-04 11:30:49 -06:00
Senthil Ramakrishnan 7ced0683ad Fix for review comments and ARMC5 listing added for supported toolchain matrix output 2019-02-28 12:03:14 -06:00
Senthil Ramakrishnan f8dc7c2915 Modify tools to return ARMC5 or ARM for supported toolchain matrix 2019-02-28 12:03:14 -06:00
Senthil Ramakrishnan 51b1063195 Add right toolchains for version 2 toolchain support check 2019-02-28 12:03:14 -06:00
Senthil Ramakrishnan 8a8cff7c98 build_api.py changes to take ARMC5 into account when validating for offical target/release combination 2019-02-28 12:01:31 -06:00
Senthil Ramakrishnan 4e7d34bbb6 Review fixes for uvision exporter,build_api and arm.py 2019-02-28 12:00:11 -06:00
Senthil Ramakrishnan 200829537f Remove unwanted spaces 2019-02-28 11:58:26 -06:00
Senthil Ramakrishnan 8624fdf0a7 Build metadata check added 2019-02-28 11:56:30 -06:00