Having IAR with the supported_c_libs parameter missing a setting for a
IAR causes build failures during CI. Since IAR is no longer supported by
Mbed remove IAR as a supported toolchain to remove this inconsistency.
This commit adds post binary hook support for TF-M targets.
To apply this hook to a TF-M target, do the following in the target's
`CMakeLists.txt`:
* include `mbed_set_post_build_tfm.cmake`
* call `mbed_post_build_tfm_sign_image()`, passing
- Mbed OS target name
- TF-M target name
- path containing the target's bootloader, layout files and signing
keys
- path to the secure binary
- path to the non-secure binary (i.e. the "raw" Mbed application)
The signing keys were previously imported from trusted-firmware-m
and located in mbed-os/tools/targets/musca_* (path for Mbed CLI 1).
This PR copie them into each target's directory as per the
convention of the new tools. Keys in the old path remain untouched
for backward compatibility, but they will be eventually removed
once we stop supporting Mbed CLI 1.
Modify `targets.json` to configure bare metal for the following targets:
NUMAKER_IOT_M252, NUMAKER_IOT_M263A, NUMAKER_IOT_M487, NUMAKER_PFM_M487,
NUMAKER_PFM_NUC472. Add target link interface between nuvoton library
and mbed-cmsis-cortex-m.
Pass the exact name to the post-build hook, when an application's
or test's `CMakeLists.txt` calls `mbed_set_post_build()`. The
interface is CMake's built-in mechanism:
* `set_target_properties()` to set a property, e.g. application name
* `$<TARGET_PROPERTY:target,property>` to query a property at run time
If a target has a post binary hook, we should force regenerate
the application binaries every time so that the hook is run on a
raw binary rather than a previous build that already went through
the post-build process once.
- No longer need to create mbed_os.lib and soft link to mbed-os as new
--mbed-os-path command-line removes such dependency and creates mbed_build.cmake
when passing mbed-os path with that command line argument.
This is the only target in targets.json that uses the `target.` prefix
when defining a configuration override. This looks like an error, and
causes issues with mbed-tools, so this commit removes the prefix.
Modify scatter files to add heap load region, and remove hard coded
values. Add supported c libs and bare metal profile to `targets.json`
configurations. Affects the following targets: EFM32GG_STK3700,
TB_SENSE_12, and EFM32GG11_STK3701.
Mbed TLS 2.24.0 requires a few new macros and an inline function in
the PSA Crypto header. This PR adds them to make sure the TF-M v1.0
target (specifically CYTFM_064B0S2_4343W) continues to compile with
the new Mbed TLS.
Note: Support for older versions of TF-M than v1.2 will be dropped,
so existing TF-M targets should migrate to TF-M v1.2 as soon as
possible.