Commit Graph

3652 Commits (65b79502020d0d364cc90b32c86b254b53ba6cd9)

Author SHA1 Message Date
Vikas Katariya 8252f3ee6e psa: Add TF-M utility scripts to python path
When python3 is enforced to build the ARM_MUSCA_A1 or ARM_MUSCA_B1
targets, it is unable to find binary utility tool scripts which are
imported from TF-M.

The reason to use the python3 environment is as follows: Mbed OS + TFM
contained a faulty boot record TLV, which failed the attestation test
(TF-M regression). The data in the boot record TLV will be included in
the generated attestation token as 1 item in the SW_COMPONENTS claim.

This data (in the boot record TLV) is pre-encoded in CBOR format at
build time and appended to the image during the image signing process
(done by the imgtool Python3 script).

Signed-off-by: Vikas Katariya <vikas.katariya@arm.com>
2020-06-18 12:16:13 +01:00
Martin Kojtal 9fc12213f4
Merge pull request #13135 from MultiTechSystems/mts-mdot-bootloader
Restore MTS_MDOT_F411RE bootloader binary
2020-06-18 11:29:10 +02:00
Martin Kojtal 86dad5cda9
Merge pull request #12471 from AGlass0fMilk/adc-voltage-api
Extend AnalogIn API: read_voltage
2020-06-17 19:57:28 +02:00
Taylor Heck f145594b28 Restore MTS_MDOT_F411RE bootloader binary 2020-06-17 09:27:30 -05:00
Martin Kojtal 31748ed1a9
Merge pull request #13036 from jeromecoutant/PR_GENPERIPH_V12
STM32_gen_PeripheralPins.py script v1.12
2020-06-17 12:14:20 +02:00
Martin Kojtal 93be66e91e
Merge pull request #13081 from ARMmbed/rw-post-build-hooks
Reinstate post build hooks for legacy targets
2020-06-10 12:02:05 +02:00
Rob Walton f8f59fc1ef Add a coverage_patterns kwarg to ARM_MICRO 2020-06-09 09:41:08 +01:00
Rob Walton 6ee9b161e3 Reintroduce mts_dot combine_bins. 2020-06-08 13:12:23 +01:00
Rob Walton 422931208c Reintroduce LPC4088 and Teensy3.1 post build hooks 2020-06-08 13:11:49 +01:00
Rob Walton 756fc381a9 Reintroduce NRF51 post-build hook.
The online compiler relies on this post build hook for NRF51 targets.
2020-06-08 13:08:40 +01:00
jeromecoutant dbe8e93660 STM32_gen_PeripheralPins.py script v1.12
- license header update
- TIM_MST default value
- PinNames.h is now complete
2020-06-08 11:09:52 +02:00
pea-pod 1de7008f8b Python reference equality changed to value equality 2020-06-07 15:47:43 -05:00
Wilfried Chauveau dbf206c304
add mbed-os-example-aws to the test build list 2020-06-05 15:36:20 +01:00
Anna Bridge ced3b1cf8e
Merge pull request #13003 from dgreen-arm/add-feature-experimental
Mark PSA as an experimental API
2020-06-01 16:38:30 +01:00
Darryl Green 7aadee9ab7 Add experimental feature folder
Signed-off-by: Darryl Green <darryl.green@arm.com>
2020-05-29 13:19:11 +01:00
Darryl Green cf17d7a178 Change unrecognised features to a warning, rather than error
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>
2020-05-29 13:19:11 +01:00
Jaeden Amero 4e47c38701 tools: Fix grammar in feature error message
Use "not a supported feature" instead of "not a supported features".
2020-05-27 16:37:59 +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
Alexander Zilberkant 136897f829 always build both .hex and .bin files
- This change will cause build-system to produce both .bin and .hex files.
- Files are small and their creation is fast, thus there are  no negative impact
   on build time and storage requirements.
- .bin files are required for updating the device
- .hex files are very handy for post build (external to build system) custom
   scripts (e.g. image signing)
- Configuration still allows selecting either .bin or .hex files, this settings is still
   relevant as it specifies what file is flashed to a device for tests or by
   `--flash` argument.
2020-05-23 23:56:58 +03: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
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
Martin Kojtal b1071487a3
Merge pull request #12951 from MarceloSalazar/S2LP_cleanup
Clean-up S2LP driver configuration
2020-05-15 08:08:47 +02:00
Martin Kojtal 37ee008b90
Merge pull request #12961 from MarceloSalazar/remove_nrf51
Remove nRF51 targets
2020-05-15 08:08:26 +02:00
Marcelo Salazar 149656447d Remove target dep. on S2LP driver 2020-05-14 17:17:27 +01:00
jeromecoutant cda2538bd2 STM32L0 code cleaning 2020-05-14 13:55:32 +02:00
jeromecoutant dd46dfccb2 STM32F4 code cleaning 2020-05-14 13:55:22 +02:00
jeromecoutant f116fe0daa STM32F3 code cleaning 2020-05-14 13:55:21 +02:00
jeromecoutant 126a9c9693 STM32F1 code cleaning 2020-05-14 13:55:21 +02:00
jeromecoutant a63fd00a9a STM32F0 code cleaning 2020-05-14 13:55:21 +02:00
Marcelo Salazar ccd95f1e14 Remove nRF51 targets
The following public nRF51 targets are being removed:

- NRF51822
- NRF51_DK
- NRF51_MICROBIT
2020-05-13 10:36:50 +01:00
Martin Kojtal e7e3cc0301 tools: update importer sha 2020-05-12 12:11:24 +01:00
Martin Kojtal 864a943070 importer: add CMSIS 5 repo link 2020-05-11 14:14:07 +01:00
Martin Kojtal 78b7a05426 importer: add a note about cherry pick continue for conflicts 2020-05-11 11:38:16 +01:00
Martin Kojtal 8859cb0dca importer: update readme 2020-05-11 11:37:21 +01:00
Martin Kojtal 9977458393 cmsis importer: add sha for rtx changes after file moved
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.
2020-05-11 10:43:45 +01:00
Martin Kojtal 74a640f028 importer: remove rtos changed files
As they were applied on the different code base (moved files), we remove them and
reapply locally manually and add new sha.
2020-05-11 09:47:33 +01:00
Martin Kojtal 7b066eb1ba importer: fix rtos paths 2020-05-11 09:47:33 +01:00
Martin Kojtal 6d17a23421 importer: fix byte like objects 2020-05-11 09:47:33 +01:00
Marcelo Salazar 4083469d09 Remove Ublox targets 2020-05-06 16:39:29 +01:00
Marcelo Salazar 570df49abd Rename ADV_WISE_1510 target 2020-05-06 16:03:07 +01:00
Martin Kojtal 9501ccd6c7
Merge pull request #12849 from jamesbeyond/exp_update
TEST: Update example test
2020-05-05 14:26:41 +02:00
Martin Kojtal dbf05ceaed
Merge pull request #12735 from Patater/musca-tfm
Make MUSCA B1 and MUSCA A1 TF-M ready
2020-05-04 11:06:48 +02:00
George Beckstein 2db9917117 Add Vin and Vref to ignore list in spell checker CI 2020-04-30 12:40:17 -04:00
Martin Kojtal 08a09200a6
Merge pull request #12864 from MarceloSalazar/platform_cleanup3
Remove unsupported targets
2020-04-30 14:56:36 +02:00
Jaeden Amero 6f6a92c1eb musca_b1: Add TF-M compatibility
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>
2020-04-30 11:36:09 +01:00
Devaraj Ranganna 0ad1a988ec musca_a1: Add TF-M compatibility
Make the MUSCA_A1 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_A1 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>
2020-04-30 11:35:05 +01:00
Martin Kojtal d1ae0d570c
Merge pull request #12425 from kjbracey-arm/chrono
C++ Chrono support
2020-04-30 11:41:43 +02:00
Marcelo Salazar 84bad91489 Remove NRF51_DONGLE target 2020-04-30 09:56:37 +01:00
Marcelo Salazar 6899f6903c Remove TY51822R3 target 2020-04-30 09:56:37 +01:00
Marcelo Salazar 7c8b16f3c9 Remove HRM1017 target 2020-04-30 09:56:36 +01:00
Marcelo Salazar 0864aa86be Remove NCS36510 target 2020-04-30 09:56:36 +01:00
Marcelo Salazar 7925a468a9 Remove KL05Z target 2020-04-30 09:56:36 +01:00
Marcelo Salazar a3dc513d35 Remove MTS_MDOT_F405RG target 2020-04-30 09:56:36 +01:00
Marcelo Salazar f556199094 Remove LPC11U37H_401 target 2020-04-30 09:56:36 +01:00
Marcelo Salazar cbe6cc79cb Remove NRF51822_Y5_MBUG 2020-04-30 09:56:36 +01:00
Marcelo Salazar e2136cc395 Remove MAXWSNENV target 2020-04-30 09:56:36 +01:00
Marcelo Salazar a770e65a05 Remove WALLBOT_BLE target 2020-04-30 09:56:36 +01:00
MarceloSalazar f21759bc35 Remove TEENSY3_1 target 2020-04-30 09:56:35 +01:00
MarceloSalazar 1553868748 Remove TB_SENSE_1 target 2020-04-30 09:56:35 +01:00
MarceloSalazar e24a9f5d95 Remove KW24D target 2020-04-30 09:56:34 +01:00
MarceloSalazar 3fa7f03508 Remove RAPIDIOT targets 2020-04-30 09:56:33 +01:00
MarceloSalazar 5d63b0f5a0 Remove K20D50M target 2020-04-30 09:56:33 +01:00
MarceloSalazar d2741c1075 Remove LPC8x targets 2020-04-30 09:56:33 +01:00
MarceloSalazar 3ed5491ae5 Remove LPC1549 target 2020-04-30 09:56:33 +01:00
MarceloSalazar d96a19ea1d Remove LPC4330 target 2020-04-30 09:56:32 +01:00
MarceloSalazar 51c2484c06 Remove LPC1769 target 2020-04-30 09:56:32 +01:00
MarceloSalazar 20997ca6cb Remove RBLAB targets 2020-04-30 09:56:32 +01:00
MarceloSalazar 5dcfe57c41 Remove LPC4088 based targets 2020-04-30 09:56:32 +01:00
MarceloSalazar 12bb9d34bb Remove DELTA_DFCM_NNN40 target 2020-04-30 09:56:32 +01:00
Devaraj Ranganna b79b33219b psa: Remove exporters for TF-M targets
Targets that use TF-M for their PSA implementation are not compatible
with exporters at this time. Explicitly block use of exporters with TF-M
using targets, for better error messages.

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
2020-04-27 09:51:14 +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
Jaeden Amero 6b3a9cb4fa psa: Remove v8-M S targets
Remove PSA v8-M S target binaries will be built outside of Mbed OS and
added in as binaries which NS targets consume. Mbed OS no longer
implements PSA for v8-M targets, so there is no reason for it to build
PSA S targets.

Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>
2020-04-27 09:51:09 +01:00
Jaeden Amero af1ea31546 psa: Add copyright and #! to tfm tool
Add a copyright header and a shebang to the Mbed OS TrustedFirmware-M
tooling.

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>
2020-04-27 09:43:01 +01:00
Kevin Bracey f4e0ea2c75 Add Chrono support to Kernel and SysTimer 2020-04-27 10:19:08 +03:00
Qinghao Shi ce88f0ea28 TEST: add log compare test for nfc examples 2020-04-23 20:33:02 +01:00
Martin Kojtal ecf4008046
Merge pull request #12825 from kjbracey-arm/linkinline
Turn on ARM linker --inline
2020-04-23 08:24:37 +02:00
Qinghao Shi a43394d0d6 TEST: change target that runs filesystem example 2020-04-22 17:41:32 +01:00
Qinghao Shi 1711d2f9a0 TEST: enable wifi example test 2020-04-22 17:38:23 +01:00
Martin Kojtal df6f650ab1 Revert "Remove MTB_STM_S2LP target"
This reverts commit 10ca248a7a.
2020-04-22 13:46:53 +01:00
Martin Kojtal b622a25688
Merge pull request #12810 from MarceloSalazar/platform_cleanup
Remove unsupported targets

Note, commit 21e364e is just a styling fix, no target removal.
2020-04-22 10:58:50 +02:00
Veijo Pesonen 812b5606b9 Drops bootloaders not supported in Mbed OS 6
Target support for these targets has been removed
2020-04-21 17:28:58 +03:00
Marcelo Salazar beee062d1f Remove MTB_MTS_DRAGONFLY target 2020-04-20 16:55:35 +01:00
Marcelo Salazar 10ca248a7a Remove MTB_STM_S2LP target 2020-04-20 16:55:35 +01:00
Marcelo Salazar ee8231ab9d Remove USI_WM_BN_BM_22 based targets 2020-04-20 16:55:35 +01:00
MarceloSalazar 93db82f591 Remove NZ32_SC151 target 2020-04-20 16:55:34 +01:00
MarceloSalazar d3223c9502 Remove LPC11u targets 2020-04-20 16:55:34 +01:00
MarceloSalazar bf590310db Remove MTB_RAK811 target 2020-04-20 16:55:34 +01:00
MarceloSalazar e78ba7065b Remove MTB_MTS_XDOT target 2020-04-20 16:55:33 +01:00
MarceloSalazar 4b1ad8ad4c Remove MTB_STM_L475 target 2020-04-20 16:55:33 +01:00
MarceloSalazar 91607fe9cd Remove MTB_MURATA_ABZ target 2020-04-20 16:55:33 +01:00
Kevin Bracey 4caab1cce5 Turn on ARM linker --inline
For release and develop profiles, turn on the linker's `--inline`
optimisation. This can save a couple of hundred bytes in a typical
image.

The optimisation replaces branches to small functions with the
inlined code from those functions. And it's possible that the
out-of-line functions can be eliminated.

Setting confined to release and develop builds only, as it can lead to
invalid debug information.
2020-04-17 13:28:22 +03:00
Jaeden Amero 47b359974f psoc6: Remove FUTURE_SEQUANA and FUTURE_SEQUANA_M0
FUTURE_SEQUANA targets are no longer supported. Remove the target from
Mbed.

Signed-off-by: Jaeden Amero <jaeden.amero@arm.com>
2020-04-16 14:10:51 +01:00
Martin Kojtal fcc20b1201
Merge pull request #12765 from MultiTechSystems/update-mdot-target
Update MTS_MDOT_F411RE target and remove bootloader from tools
2020-04-16 11:53:26 +02:00
Martin Kojtal a252b073cf
Merge pull request #12797 from AGlass0fMilk/stm-custom-board
Add custom board option to STM32 pins generation script
2020-04-15 17:01:33 +02: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
Martin Kojtal f9052e38cc
Merge pull request #12734 from jeromecoutant/PR_WB_IAR
NUCLEO_WB55RG : enable IAR export
2020-04-15 10:22:49 +02:00
Martin Kojtal 9835722635
Merge pull request #12691 from hugueskamba/hk_replace_small_lib_with_std_lib
Replace small with std C lib if not supported by a target's toolchain
2020-04-15 10:21:40 +02:00
George Beckstein 958edf9923 Fix missing reference to TargetName variable 2020-04-13 11:31:24 -04:00
George Beckstein 81c3aef9fa Fixed reference to global variable instead of input argument in parse_BoardFile 2020-04-13 11:25:44 -04:00
George Beckstein bcd8ebb645 Added custom board option to STM Pins generation script 2020-04-13 11:25:19 -04:00
MarceloSalazar a15f6a43ad General clean-up of unsupported targets 2020-04-09 15:36:21 +01:00
MarceloSalazar e43ece13aa Rename EMW3166 target 2020-04-09 15:32:41 +01:00
Taylor Heck 300820f562 Fix syntax error in uvision export tool introduced in previous commit. 2020-04-07 09:00:09 -05:00
Taylor Heck 6d382ea969 Delete now unused MTSCode.combine_bins_mts_dot function for tools. 2020-04-07 09:00:09 -05:00
Taylor Heck 8ba0a74dae Remove MTS_MDOT_F411RE bootloader binary from tools 2020-04-07 09:00:09 -05: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
Martin Kojtal 62cac3b640
Merge pull request #12712 from jamesbeyond/lto-printf
Fix LTO issue with minimal-printf
2020-04-01 12:22:52 +02:00
jeromecoutant eccb47b7fb NUCLEO_WB55RG : enable IAR export 2020-03-31 17:53:06 +02: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
Martin Kojtal d0917b0ec7
Merge pull request #12630 from jeromecoutant/PR_TEST_DUALCORE
mbed test with dual core targets
2020-03-31 09:29:37 +02:00
Qinghao Shi 5822903992 update lto profile including printf wrap functions 2020-03-29 20:55:08 +01:00
Anna Bridge 83926138aa
Merge pull request #11726 from kjbracey-arm/armc6_no_static_destructors
Disable C++ static destructors in ARMC6 compiler
2020-03-27 14:14:00 +00:00
Anna Bridge 1bbcaec04a
Merge pull request #12683 from kivaisan/socketaddress_refactor
SocketAddress rework
2020-03-27 11:30:12 +00:00
Martin Kojtal 2d10d670d0
Merge pull request #12640 from evedon/ed-mprintf-profile
Remove minimal-printf extension profile
2020-03-26 14:50:13 +01:00
Martin Kojtal b5f00bc67a
Merge pull request #12679 from vmedcy/psoc6-export
PSoC6: enable export to uVision and IAR
2020-03-26 09:09:35 +01:00
Kevin Bracey 1ecd9604f6 Disable C++ static denstructors in ARMC6 compiler
We disable C++ static destructors as best as possible in the various
toolchains, trying to eliminate unwanted destructor code. We don't want
to waste RAM or ROM on the C++-standard-specified behaviour of running
all statically-constructed objects' destructors in reverse order on
exit; we're never going to perform an orderly exit.

Techniques used include:

* `SingletonPtr` - makes an object be "lazily constructed" on first use,
  and also eliminates its destructor. Lazy construction adds ROM+RAM
  overhead.
* `__eabi_atexit` is stubbed out, preventing RAM usage by run-time
  registration of static destructors.
* GCC has `exit` wrapped to kill shutdown code
* IAR has static destructors disabled in the compiler flags

Killing static destructors in the compiler is the optimum; if we only
stub out `__eabi_atexit`, the compiler is still inserting calls to it,
and referencing the destructors in those call.

Clang 8 added the compiler option `-fno-c++-static-destructors` (and the
object attributes `[[clang::no_destroy]]` and
`[[clang::always_destroy]]` for fine control).

We can hence enable that option in ARMC6 tool profiles, matching IAR.

This option appears to exist in ARM Compiler 6.11, but generates an
apparently spurious linker error about `EthernetInterface`. It works in
ARM Compiler 6.13, so this PR needs to wait until the compiler is
updated.
2020-03-24 15:30:39 +00:00
Kevin Bracey 4eda58893e SocketAddress rework
* Add optimised constexpr default constructor. Default construction
  was previously by a heavyweight defaulted `nsapi_addr_t` parameter.
* Remove deprecated resolving constructor.
* Take `nsapi_addr_t` inputs by constant reference rather than value.
* Inline the trivial getters and setters.
* Use `unique_ptr` to manage the text buffer.
* Make `operator bool` explicit.
* Optimise some methods.
* Update to C++11 style (default initialisers, nullptr etc)
2020-03-24 11:05:33 +02:00
jeromecoutant 6c57c9fd67 mbed test with dual core targets
For Dual Core targets, there are in fact 2 sub-targets, CM4 and CM7 targets.
This allows to execute tests with boards detected by mbedls.
2020-03-24 09:53:36 +01:00
Volodymyr Medvid 0ac62d0317 PSoC6: enable export to uVision and IAR 2020-03-23 20:08:30 +01:00
Rajkumar Kanagaraj 7761d45643 Remove deprecated ARMC5 from `mbed compile -S` command output 2020-03-23 07:28:32 -07:00
Volodymyr Medvid 26043e5ee4
makefile export: create .link_options.txt with echo
$(file > $@.in, $(filter %.o, $^)) is not supported in GNU Make 3.81.
Create the linker response file with pipe redirect from echo command.
This is tested with Cygwin make and make 3.8.1 shipped with macOS.

(cherry picked from commit 6918e6a76b)

Revert "Fixed problem with overlong command line."

This reverts commit dd02ac09a1.

See also https://github.com/ARMmbed/mbed-os/pull/12646#issuecomment-602058273
2020-03-21 20:24:28 +01:00
Anna Bridge 59540ed8c1
Merge pull request #12646 from dhebbeker/fix/fix-makefile-for-windows
Makefile: fix for overlong command line
2020-03-20 16:31:02 +00:00
David Hebbeker dd02ac09a1
Fixed problem with overlong command line.
The list of object files was so long, that it got truncated by the bash (git-bash).

Error was

    /usr/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
    /usr/bin/sh: -c: line 1: syntax error: unexpected end of file
    mingw32-make[1]: *** [Makefile:679: mbed-os-example-blinky-baremetal.elf] Error 1
    mingw32-make: *** [Makefile:26: all] Error 2

Such a problem has aleady been reported in: https://github.com/ARMmbed/mbed-os/issues/10943#issuecomment-510064805
I fixed this problem using this answer: https://stackoverflow.com/a/37506805/5534993
2020-03-18 14:40:12 +01:00
Evelyne Donnaes 1bbe3a725f Removed minimal-printf profile 2020-03-17 13:57:48 +00:00
Martin Kojtal 3710584bff
Merge pull request #12540 from JojoS62/fix-lto-unknown-messages
fix for suppress 'unknown object name' messages from memap.py
2020-03-09 08:28:44 +00:00
Martin Kojtal 37aafc9da8
Merge pull request #12476 from OpenNuvoton/nuvoton_build_no_cmsis
Fix build failure when target's cmsis doesn't exist
2020-03-03 14:19:36 +00:00
Martin Kojtal d6df32d609
Merge pull request #12526 from fkjagodzinski/fix-gcc_lto_toolchain_py3
GCC: Fix the toolchain LTO workaround for Python 3
2020-03-02 09:32:42 +00:00
JojoS62 a33d622f4f suppress 'unknown object name' messages
by using the -lto option on gcc and windows,
 many messages like above are produced.
removed by ignoring .ltrans.o files
2020-02-29 15:10:37 +01:00
Martin Kojtal fc5f3259de
Merge pull request #12458 from GaborAbonyi/add_musca_b1_platform
Add Musca B1 target
2020-02-27 13:53:58 +00: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
Martin Kojtal 732692cd77
Merge pull request #12475 from VeijoPesonen/purge_rspif
Proposal to remove SPIFReducedBlockDevice
2020-02-25 15:23:23 +00:00
Martin Kojtal bb48fa46cd
Merge pull request #12437 from 0xc0170/dev_travis_scancode
travis: add PR license check for missing/not-valid license files
2020-02-24 15:56:07 +00:00
Veijo Pesonen b575df072f Removes RSPIF block device driver
The driver is not needed by the bootloader anymore.
2020-02-24 16:01:14 +02:00
Martin Kojtal 1b4ad98787 scancode: add logger and parse it to get count 2020-02-24 12:03:01 +00:00
Martin Kojtal adaa2b6a0a travis: license check does not fail but report issues
Master branch contains lot of missing SPDX identifiers, we will clean them up but this will take some time. In the meantime, we should not increase the license missing files. Each PR will report if there is no license issue or positive number reported as Github status. Travis won't fail if there are issues. This will highlight the issues that anyone can fix.

As soon as master is clean, we can fix set_status and revert part of this commit.
2020-02-24 12:02:37 +00: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
Tamas Kaman 551c3c553c Add ARM_MUSCA_B1 as a new target platform
Musca-B1 is a Cortex-M33 based target with security extension enabled.

- ARM_MUSCA_B1 is the non-secure target running mbed-os.
- ARM_MUSCA_B1_S is the secure target running TF-M.
- TF-M sources were imported and patched in previous commits.
- TF-M secure bootloader (McuBoot) for MUSCA_B1 is submitted by a
  pre-built binary.
- A post-build hook concatenates The secure and non-secure binaries,
  signs it and then concatenates the bootloader with the signed binary.

Change-Id: I4b36290941b5f0bb7aa7c12dda2f38b5c1e39ae2
Signed-off-by: Tamas Kaman <tamas.kaman@arm.com>
Signed-off-by: Gabor Abonyi <gabor.abonyi@arm.com>
2020-02-21 14:34:39 +01:00
Martin Kojtal 37a7ff0443 scancode: skip non code files
For instance pdf, or binaries - catch them as an exception and skip for
additional SPDX check
2020-02-21 09:57:30 +00:00
Martin Kojtal 5f1c77741a tools: fix SPDX identifiers 2020-02-21 07:01:48 +00:00
Martin Kojtal 0995ece3b2 Add scancode evaluate script
The goal: check license offenders in pull request

This is similar to what astyle does in Travis. We get list of files being changed. Because scancode does not support list of files being scanned but rather a file or directory, we copy files to SCANCODE folder. Execute scancode license check in this folder and check for offenders.

The rules there are: code files must have a license and SDPX identifier. If they don't, we print these and ask for review.

It functions nicely there is just one workaround needed. SPDX is not always 100 percent correctly found, therefore we recheck file if no SPDX manually in the script. This proves to remove false positives.
2020-02-20 09:49:50 +00:00
Chun-Chieh Li 8e8b546cbf Fix build failure when target's cmsis doesn't exist
For bootloader enabled target, it needs to have cmsis pack or provide memory override. This change fixes build failure in case of no cmsis pack but providing memory override with start being zero.
2020-02-20 17:39:20 +08:00
Martin Kojtal 829a3cded3
Merge pull request #12318 from VeijoPesonen/sfdp_split_smptbl
SFDP: Move Sector Map Parameter Table parsing under SFDP module
2020-02-19 15:49:40 +00:00
Martin Kojtal 589a9a4d16
Merge pull request #12462 from maciejbocianski/fix_armc_memory_stats
Fix static ram memory statistics for arm compiler
2020-02-19 13:01:26 +00:00
Maciej Bocianski c69e77cf54 fix arm compiler static ram memory statistics
don't count ARM_LIB_HEAP in static RAM pool
2020-02-19 08:18:34 +01: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 b03f974d03 GCC: Move link-time optimizer flags to extensions dir
Disable the lto for the default develop and release prifiles and move
the flags to tools/profiles/extensions/lto.json profile.

Usage:
mbed compile --profile release --profile tools/profiles/extensions/lto.json
2020-02-13 16:39:20 +01:00
Filip Jagodzinski 3e3bee4a21 GCC: Add the -u flag to keep the main() symbol
This fixes the undefined reference to 'main' that arose after adding
the "-flto" flag to compilation.

This was the case for combined "-Wl,--wrap,main" and "-flto" flags.
2020-02-13 16:39:20 +01:00
Filip Jagodzinski 516153e033 GCC: Enable link-time optimizer for develop profile 2020-02-13 16:39:20 +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
Filip Jagodzinski f87a8e0f52 GCC: Enable link-time optimizer for release profile 2020-02-13 16:39:19 +01:00
Mark Edgeworth 2ad6f45d83 Fix #12290: crash_log_parser on py3 2020-02-12 14:56:35 +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
Veijo Pesonen 3ee153a303 test config: SPIF - overwrite QSPIF with all devices 2020-02-07 09:52:12 +02:00
Martin Kojtal 32675cc6ac
Merge pull request #11874 from fkjagodzinski/armc6_build-enable_lto_for_release
ARMC6: Add a build profile extension with the link-time optimizer enabled
2020-02-05 14:42:16 +00:00
Martin Kojtal e3ad1cae55
Merge pull request #12334 from AriParkkila/cell-c030-r412m
Update cellular drivers/tests for UBLOX_C030_R412M
2020-02-05 12:50:11 +00:00
Maciej Bocianski 083e3e569d armc6: make lto an optional profile 2020-02-04 12:38:39 +01:00
Filip Jagodzinski 8fcb00cccd ARMC6: Enable link-time optimizer for develop profile 2020-02-04 12:29:50 +01:00
Filip Jagodzinski 0780f89011 ARMC6: Enable link-time optimizer for release profile 2020-02-04 12:29:50 +01:00
Martin Kojtal 250e58134f
Merge pull request #12286 from pea-pod/target-nucleo_l452re-p
Add new target: NUCLEO_L452RE-P
2020-02-03 16:34:36 +00:00
Kevin Bracey c4a0808fe6
Merge pull request #12335 from rajkan01/cpu_usage_remove_ci
Remove CPU usage example from CI build
2020-01-31 15:02:09 +02:00
Kevin Bracey 858d02d68c
Merge pull request #12302 from michalpasztamobica/remove_libcpp_extern_template
Remove _LIBCPP_EXTERN_TEMPLATE ARMCC compilation flag
2020-01-30 15:40:40 +02:00
Ari Parkkila 4da93bf979 Add UBLOX_C030_R412M in CellularInterface.json 2020-01-30 04:30:54 -08:00
Rajkumar Kanagaraj 56819fbc53 Remove CPU usage example from CI build 2020-01-30 03:59:36 -08:00
pea-pod f7c4693747 Add new target: NUCLEO_L452RE-P 2020-01-27 18:41:18 -06:00
Anna Bridge f45a5a78b5
Merge pull request #12231 from devran01/upd_musca_a
Import latest python scripts and MCUBoot image
2020-01-25 11:53:34 +00: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 8b25c51746
Merge pull request #12226 from JanneKiiskila/target_test_sector_missing
target_test - assert if sectors keyword missing
2020-01-24 11:23:51 +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
Anna Bridge cfa2dee248
Merge pull request #12023 from kjbracey-arm/gccnull
GCC: remove -fno-delete-null-pointer-checks
2020-01-23 11:47:13 +00:00
Rajkumar Kanagaraj fe470d9ff9 Fix build tool test case failure 2020-01-22 09:45:01 -08: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
Michal Paszta 2bc3008534 Remove _LIBCPP_EXTERN_TEMPLATE flag 2020-01-22 17:04:19 +02:00
PARKJIHOON 8ab00df7b4 Adding Samsung Exynos i S111 target code.
Adding a new target of HW development kit using [Samsung Exynos i S111](https://www.samsung.com/semiconductor/minisite/exynos/products/iot/exynos-i-s111/) module to Mbed-OS.
This will widen the HW choices of Mbed-OS enabled NB-IoT, GNSS and Security (eFuse, AES, SHA-2, PKA, Secure Storage, Security Sub-System, [PUF](https://en.wikipedia.org/wiki/Physical_unclonable_function)) modules.
Target Name: S5JS100

Co-authored-by: Ivan Galkin <ivan.galkin@samsung.com>
Co-authored-by: Seokwon Lee <swon.lee@samsung.com>
Co-authored-by: Zhizhe Zhu <zhizhe.zhu@samsung.com>
Co-authored-by: Xinyi Zhao <xinyi.zhao@samsung.com>
2020-01-22 14:40:50 +09: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 2757e9af5a
Merge pull request #12275 from micque01/tools-fix-call-to-sorted
Fix call to sorted by providing key to sort on.
2020-01-21 11:49:27 +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
Devaraj Ranganna bc7331b96e Import latest python scripts and MCUBoot image
To help with the integration of Musca B1 into Mbed OS, python
signing scripts and MCUBoot image and RSA private key for Musca A
has been updated from latest TF-M
(https://git.trustedfirmware.org/trusted-firmware-m.git/commit/?id=6c5be4a98e4d7055ee49076ca4e515fb4b172e66).

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
2020-01-21 10:25:56 +00:00
Rajkumar Kanagaraj 8a0fdd24d9 Rename "default_lib" to "c_lib". 2020-01-17 08:05:48 -08:00
Martin Kojtal 0266a95fb6
Merge pull request #12223 from d-kato/rza1xx_bootloader_support
RZ_A1H and GR_LYCHEE: Enable bootloader support
2020-01-17 13:53:36 +00:00
Michael Quested ce0d611dd0 Fix call to sorted by providing key to sort on.
This call to sorted does nothing in Python 2, as there is no way to sort a list
of Exceptions without providing a key.

In Python 3 this call fails with an error as there is no comparison implemented
for the jsonschema.exceptions.ValidationError Exception.

This is fixed by providing the key str, which sorts by the str representation of
the Exception.
2020-01-17 13:04:57 +00:00
Martin Kojtal cbaa9bd838
Merge pull request #12198 from rajkan01/bug_fix_uARM_depreciate
uARM: Fix deprecate warning printing wrongly for GCC_ARM/IAR toolchain build
2020-01-16 14:43:07 +00:00
Martin Kojtal 4cdd8032b5
Merge pull request #12230 from jamesbeyond/test
TEST: use K64F replace DISCO_L475VG_IOT01A to run some example test
2020-01-16 13:29:54 +00:00
Rajkumar Kanagaraj 434f50ec0b Refactor the if condition check 2020-01-16 04:31:38 -08:00
Qinghao Shi ed95987cac TEST: use K64F run example test
- some examples not able run on L475 or F249 target due to missing storage/connectivity capability
- use K64F to run those example test
2020-01-15 22:51:37 +00: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
Jaeden Amero 2a2ac5c9e0 psa: Ensure spaces before partition name comment
The psa_setup.c.tpl jinja template would strip whitespace from before
the partition name comment when inserting non-test partition database
entries. Fix the template to generate psa_setup.c with the partition
name comment properly indented.
2020-01-14 16:04:57 +00:00