Unfortunately the original fix doesn't hold for all targets in the online
compiler. I think this is because when we override target.c_lib with
target.default_lib, the default_lib isn't in the target.supported_c_libs
list. Removing the default_lib patch altogether seems to work in the
sense that compilation works. This may cause issues down the line if the
tools inadevertently swap out the user's selected c_lib with something
else. This is another problem we have to solve in a generic way which
supports all use cases we want for offline and online tools. At the
moment this is just a patch to get things working for mbed 6.
The online compiler requires mbed os 2 support. Now release_version has
been partially removed from the tools, we just need to return all targets
when any version is given. This doesn't really make sense, as now we just
claim to support all targets in all release_versions. However, it allows the
online compiler to find targets for mbed 2 projects, which we still need
to support online.
We need to come up with a mechanism for maintaining release_version
support in the online tools, this unfortunate patch is just to get
things working for the Mbed 6 release.
The online compiler mandates we maintain support for NRF51 targets in
the tools.
* Add NRF51 targets back into latest_targets.json.
* Reintroduce NRF51 post build hook.
Give a warning rather than error if an unrecognised feature is used.
This will help compatibility when new features are added.
Signed-off-by: Darryl Green <darryl.green@arm.com>
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.
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.
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.
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.
cherry pick otherwise fails because the sources were moved under rtos/source. I manually resolved these patches. For the future, lets use these newer sha that should work.
Make the MUSCA_B1 target TF-M compatible by doing the following:
- Add flash, region definitions, and preprocessed image macros from
TF-M (at version 6e7be077eabe "Core: Add lifecycle API")
- Update the MUSCA_B1 linker script to create a flash image
compatible with TF-M.
- Update the tfm/bin_utils/assemble.py signing script to work with
preprocessed image macros rather than flat C pre-processor defines
Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>