Commit Graph

515 Commits (0614e92c5bebf4f0355a36ff7f1f7936701d710d)

Author SHA1 Message Date
Rob Walton f8f59fc1ef Add a coverage_patterns kwarg to ARM_MICRO 2020-06-09 09:41:08 +01:00
Martin Kojtal c7759fe505
Merge pull request #13008 from Patater/armc5-usage-warning-compat
tools: Warn when ARMC5 is no longer supported
2020-05-27 10:57:36 +02:00
Jaeden Amero 5e65cf7f4d tools: Support default_lib and c_lib
For backwards compatibility reasons, since the latest Mbed OS tools must
be able to build any previous online-compiler-supported version of Mbed
OS, allow targets to use `default_lib` or `c_lib`. This should enable
the tools to work with Mbed OS 5 style targets.json.
2020-05-26 10:47:13 +01:00
Jaeden Amero a5a544408d tools: Warn when ARMC5 is no longer supported
Update the warning when ARMC5 is used to specify the conditions under
which ARMC5 is no longer supported.
2020-05-22 15:39:01 +01:00
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
Jaeden Amero 8be07a4906 tools: Fix typo in comment 2020-05-22 14:51:58 +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
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
Filip Jagodzinski 4bd29791ee GCC: Fix the GCC_ARM_LTO_WORKAROUND for Python 3
In the Python3 version of re module, the Unicode strings (str) and 8-bit
strings (bytes) cannot be mixed.
2020-02-27 12:58:36 +01:00
Anna Bridge 8c17270306
Merge pull request #12480 from 0xc0170/fix_spdx
Fix SPDX identifiers and licenses (excluding features and targets)
2020-02-21 16:34:30 +00:00
Martin Kojtal 5f1c77741a tools: fix SPDX identifiers 2020-02-21 07:01:48 +00:00
Filip Jagodzinski 56255adb9f Tools: Add a workaround for the GCC_ARM & LTO bug
This is a workaround for the GCC not using the strong symbols from
C files to override the weak symbols from ASM files. This GCC bug is only
present when building with the link-time optimizer (LTO) enabled. For
more details please see:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83967

This can be fixed by changing the order of object files in the linker
command; objects providing the weak symbols and compiled from assembly
must be listed before the objects providing the strong symbols.
To keep things simple, ALL object files from ASM are listed before
other object files.
2020-02-13 17:47:40 +01:00
Filip Jagodzinski a5240da3b4 GCC: Use 'common' flags at link time
According to GCC man:
To use the link-time optimizer, -flto and optimization options should be
specified at compile time and during the final link. It is recommended
that you compile all the files participating in the same link with the
same options and also specify those options at link time.

Additionally, move the '-g3' flag out of 'common' flags in the debug
profile. Although the '-g' is correctly ignored by the linker, the
'-glevel' is not and causes a build error "ld: unrecognized option
'-g3'".
2020-02-13 16:39:20 +01: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 7101e92d12
Merge pull request #12303 from rajkan01/fix_micro_lib_warning
Fix ARM compiler warning for microlib
2020-01-24 14:58:18 +00:00
Anna Bridge 34a291be64
Merge pull request #12228 from jeromecoutant/PR_REGIONSIZE
Need RAM and ROM size for compilation
2020-01-23 11:47:58 +00:00
Rajkumar Kanagaraj 6d3782accb Fix ARM compiler warning for microlib
- Remove the --library_type=micorlib from c/cxx configuration.
2020-01-22 07:17:08 -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 816516e23c Refactor the code and incorporated the review comment 2020-01-15 04:51:45 -08:00
jeromecoutant 5a69764ccd Revert "tools: regions only if bootloader is supported"
This reverts commit d7e0012bc7
2020-01-13 10:42:22 +01:00
Rajkumar Kanagaraj de3c737581 uARM: Fix deprecate warning printing wrongly for other toolchains. 2020-01-07 08:02:31 -08:00
Qinghao Shi d047b28242 TOOLS: add some inline comments 2020-01-03 17:26:11 +00:00
Rajkumar Kanagaraj 6d081eeb70 Fixed the build tools test case failure,incorporated review comments 2019-12-23 03:54:18 -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
Graham Hammond 9cdf5fc31d Notify on configuration exception rather than breaking build 2019-12-16 11:55:26 +00:00
Martin Kojtal d7e0012bc7 tools: regions only if bootloader is supported
We removed catching and passing, we want to know for any misconfiguration if bootloader
is supported. Regions should check if bootloader is supported. In case not, just return.
Otherwise we catch any error.

This should help us to uncover missing regions or other config error (in case bootloader
is enabled via bootloader_supported set to true).
2019-12-10 14:09:29 +00:00
Jammu Kekkonen 5ec7a0b625 Remove hiding of config errors related to RAM and ROM regions handling.
Currently any misconfiguration of, for example, bootloader feature will cause the
build system to just silently drop it and continue building which can lead to
completed builds of something the user didn't want to build in worst case and
failing builds after compilation (=wasted time) in the best.
2019-12-10 14:09:28 +00:00
Martin Kojtal 2cf56b8f6d
Merge pull request #11891 from hugueskamba/hk-enable-minimal-printf-in-tools
minimal-printf: Enable using a target configuration parameter
2019-12-04 10:14:54 +01:00
Hugues Kamba d5aef28145 minimal-printf: Enable using a target configuration parameter 2019-12-03 12:31:51 +00:00
Martin Kojtal 57f9a1eea8
Merge pull request #11921 from madchutney/tools/py3-fixes
Updates to tools for Python 3 compatibility
2019-11-27 16:29:50 +01:00
Kevin Bracey 5342f0fa00 Tools: check for GCC 9, rather than 6
Planning to update to supporting GCC 9 as found in GNU Tools for Arm
Embedded Processors 9-2019q4-major.

Newer GCC in particular supports ARMv8-M security extensions, and
link-time optimisation - two areas of interest.

Should be no code changes required, but need to change the warning in
the toolchain script.
2019-11-26 11:52:47 +02:00
Graham Hammond e723571474 Updates to `/tools` for Python 3 compatibility 2019-11-21 15:02:37 +00: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
Mark Edgeworth a8fbd59b05 IOTBTOOL-333: Fix SimpleQueue build failure on py3
Build system was using an internal feature of the Pool class that is unavailable
in a py3 system. This would cause an exception if tool execution failed.
Offending code has now been removed
2019-11-06 12:02:16 +00:00
Mark Edgeworth e7964caf93 IOTBTOOL-377: Fix scatter file include path online 2019-10-30 15:51:08 +00:00
Mark Edgeworth 6d7089eb35 Review changes 2019-09-11 12:27:46 +01:00
Mark Edgeworth 65d6015179
Update tools/toolchains/mbed_toolchain.py
Co-Authored-By: Graham Hammond <graham.hammond@arm.com>
2019-09-11 12:18:50 +01:00
Mark Edgeworth 6f37fd91a8 IOTBTOOL-349: Correct handling of spaces in project name.
This fixes an issue where a space in the name of a project would cause a link failure
2019-09-11 11:22:56 +01:00
Martin Kojtal 0e04d74c80
Merge pull request #11254 from jh228/patch-1
Update gcc.py for preprocessing in linker script
2019-09-10 19:41:09 +02:00
Lin Gao 2a78a9ba13 Refactored code to not use macro. Created config xip-enable 2019-09-03 11:54:14 -05:00
Lin Gao ea032bebc4 Add XIP capability, enable QSPI. XIP can be enable by adding macro XIP_ENABLE in mbed_app.json. It's disabled by default. 2019-09-03 11:54:11 -05:00
jh228 f3885fd89a
Update gcc.py 2019-08-19 15:09:04 +09:00
jh228 71466f8111
Update gcc.py for preprocessing in linker script
To fix https://github.com/ARMmbed/mbed-os/issues/11214, we need this update. :-)
2019-08-19 09:52:44 +09: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 e5a3f976c2 Add TOOLCHAIN_ARMC5 label
We have some files that are needed for ARMC5 only.
2019-07-18 11:50:13 +03:00
Anna Bridge 9fb4429379
Merge pull request #10520 from kjbracey-arm/build_tz_heuristic
Permit non-TrustZone ARMv8 build
2019-05-17 11:06:55 +01:00