Commit Graph

3137 Commits (4c3889dca150c4bb03bcde381246776f7d695a9e)

Author SHA1 Message Date
Qinghao Shi 31fc1e56f2 Examples: enable more tests for examples 2019-06-03 18:30:42 +01:00
Kevin Bracey 18ce757c07 ARMC6: Suppress "register deprecated" warning
Lots of target code, STM in particular, uses the `register` keyword, so
it'll take a little while to clean up. In the interim, some builds are
producing a lot of warnings. Suppress the warning for now, as `register`
remains legal C++14 and C11, despite C++14 deprecating it.

C++17 removes `register`, so code will need to be cleaned before any
further C++ version update.
2019-06-03 12:19:58 +03:00
Martin Kojtal cc491812a8
Merge pull request #10427 from kjbracey-arm/new_standards
Set compilers to C++14 and C11
2019-05-28 20:34:00 +01:00
Martin Kojtal 8fc2a3c92a
Merge pull request #10675 from 0xc0170/update-mbedtls-2.18.0-rc1
Update mbedtls 2.18.0 rc1
2019-05-28 20:24:18 +01:00
Martin Kojtal eebc1b9e40 Revert "Check mbed-crypto-example with fork"
This reverts commit ff18a64e00.
Use the official repository
2019-05-27 08:02:55 +01:00
Kevin Bracey b437d700b5 ARMC6: disable "reserved user-defined literal" warning
Clang warns about reserved user-defined literals by default. This
warning is not terribly helpful; compilers aren't normally in the
habit of warning about use of reserved identifiers. It can interfere
with, for example, deliberate emulation of a future standard
language feature.

The warning was promoted to an error in an mbed client build, due to a
non-C++11 "%s"name occurring in a macro. But the macro itself was never
invoked, so the misinterpretation as C++11 caused no problems other than
this warning. Killing the warning will let that code build on ARMC6.
The code already built on GCC and IAR.

If that macro ever was used, then a separate error about operator ""
name not being defined would be generated, on all 3 toolchains.
2019-05-24 16:26:15 +03:00
Kevin Bracey 85041025cc µVision export: Add ARMC6 `-std` handling
This is limited to ARMC6 because as of µVision V5.27 you can't set C++11
for ARMC5.

Also current µVision does not support gnu++14. We should be able to get
is as `<default>`, as it is the default for ARM Compiler 6.10-6.12,
but this option does not work as documented and actually requests
gnu++89 explicitly. So gnu++14 is mapped to gnu++11.
2019-05-24 16:26:15 +03:00
Kevin Bracey 5b859c47ee Set compilers to C++14 and C11
* ARMC6 and GCC are set to C++14 and C11.
* ARMC5 is set to C++11 and C99, as it's the highest it can offer.
2019-05-24 16:26:15 +03:00
Martin Kojtal 659c099ff7
Merge pull request #10625 from jamesbeyond/example_test
TESTS: update examples.json to enable testing
2019-05-24 12:19:35 +01:00
Martin Kojtal ab82f1fca6
Merge pull request #10627 from devran01/remove_future_sequana_target
Remove targets FUTURE_SEQUANA_M0_PSA and FUTURE_SEQUANA_PSA
2019-05-24 12:16:10 +01:00
Alexander Zilberkant 67905bddae Use build directory in postbuild
Use build directory instead of temp directory for for
intermediate files during binaries merge.
2019-05-22 17:17:27 +03:00
Michael Schwarcz 96268d91ef Updates after rebase
- postbuild: Use find_secure_image and update prebuilt binaries
- Add CMSIS driver headers
- Align with 2-region memory model
2019-05-22 17:17:23 +03:00
Michael Schwarcz 36a8514dbd Add documentation on Musca-A1 signing key 2019-05-22 17:17:22 +03:00
Michael Schwarcz ff1c769c7e Add ARM_MUSCA_A1 as a new target platform
Musca-A1 is a Cortex-M33 based target with security extension enabled.

- ARM_MUSCA_A1 is the non-secure target running mbed-os.
- ARM_MUSCA_A1_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_A1 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.
2019-05-22 17:17:20 +03:00
Devaraj Ranganna 29dfab93bb Replace FUTURE_SEQUANA_M0_PSA and FUTURE_SEQUANA_PSA targets with
CY8CKIT_062_WIFI_BT_M0_PSA and CY8CKIT_062_WIFI_BT_PSA in config test

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
2019-05-22 10:20:57 +01:00
Martin Kojtal 77ca32dd57
Merge pull request #10606 from jeromecoutant/PR_PSAscript
PSA release script update: add toolchain option
2019-05-21 15:06:10 +01:00
Devaraj Ranganna 7765d39283 The targets FUTURE_SEQUANA_M0_PSA and FUTURE_SEQUANA_PSA are removed
due to partial implementation. Having FUTURE_SEQUANA_M0 and
FUTURE_SEQUANA PSA targets is misleading.

Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
2019-05-21 15:00:31 +01:00
Qinghao Shi 09e21a20d2 TESTS: update examples.json to enable testing 2019-05-21 14:27:10 +01:00
Martin Kojtal 7d0cc69fb1
Merge pull request #10521 from jamesbeyond/example_test
TEST: update python script to enable examples smoke test
2019-05-21 10:07:28 +01:00
Qinghao Shi 35eeef55a1 fix a bug where base_path was wrong 2019-05-19 00:32:39 +01:00
Qinghao Shi 3bb0a8aded fix a bug when STDOUT has less than 5 lines 2019-05-18 23:57:23 +01:00
jeromecoutant 79ea26614b PSA release script update: add toolchain option 2019-05-17 16:32:49 +02: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
Qinghao Shi 48e1a56e0e add a comment based on review 2019-05-15 23:31:58 +01:00
Martin Kojtal 998d85f80b
Merge pull request #10505 from orenc17/imporve_importer
Improve importer.py
2019-05-13 14:15:21 +01:00
Martin Kojtal 571caad59e
Merge pull request #10539 from bridadan/fix_armc6_mbed_studio
Add mbed studio flag during assembly
2019-05-13 14:08:57 +01:00
Qinghao Shi 71d7970fc5 fix issues base on the review 2019-05-10 17:48:15 +01:00
Anna Bridge 97e1c9cbaf
Merge pull request #10287 from linlingao/pr10177
Enable MTS_DRAGONFLY_F411RE to register with Pelion
2019-05-10 16:21:46 +01:00
Brian Daniels fb62ed643c Add mbed studio flag during assembly 2019-05-07 11:45:30 -05: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
Lin Gao 2c22f549e9 Add option to keep post_binary_hook and make it default. It can be disabled by setting it to null 2019-05-02 11:25:20 -05:00
Qinghao Shi b2611fb801 TEST: update python script to enable example smoke test
* it will check examples.json if contains 'test', 'compare_log', 'baud_rate' keys
 * it will dump test_spec.json test in examples compiled successfully
2019-05-02 15:26:15 +01:00
Martin Kojtal 00f461eee0
Merge pull request #10447 from kfnta/alzix/byos
PSA Bring Your Own Service
2019-05-02 08:54:25 +01:00
Alexander Zilberkant cae568ca07 Add Cortex-M33E to cpu conversion table for ARMC6 2019-04-30 14:55:46 +03:00
Alexander Zilberkant 5f2991dcc7
Handle Cortex-M33E no-fpu flags
Add compilation "-mfpu=none" flag for Cortex-M33E.
2019-04-30 14:48:38 +03:00
Alexander Zilberkant fe9eac78c2 Update PSA tools Readme 2019-04-30 14:41:09 +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
Oren Cohen f58e600d6e Fix armclang fpu detection 2019-04-30 14:11:54 +03:00
Alexander Zilberkant 8c5ba9154d Update PSA code generator
Unify TF-M and Mbed-SPM code generators:
 - Unify SPM initialization logic:
   - All partitions are registered at once
   - Test partitions are guarded by #ifndef
   - Introduce single template list
 - Beatify template files and add "Autogen-do not modify" notice
Prepare for integration with mbed-os build system:
 - Generate all the files in a single place
Simplify tools/psa/release.py script
2019-04-30 14:10:23 +03:00
Martin Kojtal 8a92271a3b
Merge pull request #10448 from fredlee12001/master
Size should be calculate after confirm the final start address
2019-04-30 09:46:39 +01:00
Martin Kojtal a85b70e53f
Merge pull request #10477 from VeijoPesonen/config_mesh_wisun
Wi-SUN: adds greentea test config
2019-04-30 09:40:35 +01:00
Martin Kojtal 360b7bb033
Merge pull request #10443 from bridadan/fix_binary_notify
Fix for downloading the wrong binary in the online compiler
2019-04-30 09:20:12 +01:00
Martin Kojtal 47205bfd02
Merge pull request #10502 from kfnta/feature_trusted-firmware-m_f2dea5b
PSA: TFM import
2019-04-30 09:12:37 +01:00
Martin Kojtal 39699d53be
Merge pull request #10398 from bridadan/official_release_changes
Clean up ARM toolchains from get_mbed_official_release()
2019-04-29 13:39:12 +01:00
Oren Cohen d1fa7bd277 Use a directory context to simplify git commands 2019-04-29 14:13:16 +03:00
Oren Cohen be8a1e804f Use argparse.FileType to parse config file 2019-04-29 14:10:59 +03:00
Oren Cohen ca5dff69f5 Extract import logic to a separate method 2019-04-29 14:09:34 +03:00
Oren Cohen b24f42f5ba Move regex to the using function 2019-04-29 14:08:30 +03:00
Oren Cohen bd5d059b13
Set log level during argument parsing 2019-04-29 00:37:16 +03:00
Oren Cohen 6f19ba093a
Proper documentation 2019-04-29 00:11:39 +03:00
Oren Cohen 8a2426d6da
Styling and annoyances 2019-04-28 23:53:00 +03:00
Oren Cohen c0a1c45ae5
Use custom agrparse.Action to handle input parameters 2019-04-28 23:48:30 +03:00
Oren Cohen 09af58fad5
Use regex to find cherry-pick message 2019-04-28 23:44:18 +03:00
Oren Cohen 3273edba8d Allow comments in commit SHA list 2019-04-28 20:05:41 +03:00
Oren Cohen e15068d728 Refactor continuation logic 2019-04-28 20:03:08 +03:00
Oren Cohen d26bca7be8 Make sure the script is run from within mbed-os directory 2019-04-28 20:02:19 +03:00
Oren Cohen edcde5ebc0 Reformat and Improve 2019-04-28 20:01:06 +03:00
Oren Cohen 14ad60ae01 Update commit sha's 2019-04-28 15:48:18 +03:00
Anna Bridge c180b1c5f4
Merge pull request #10451 from NXPmicro/Add_IAR_Support
MIMXRT1050: Readd IAR support
2019-04-26 13:35:01 +01:00
Anna Bridge 9a581732b0
Merge pull request #10438 from OpenNuvoton/nuvoton_psa_pass_tfm-lvl_linker
PSA: Pass TFM_LVL macro to linker files
2019-04-26 13:34:35 +01:00
Anna Bridge c0feb1a659
Merge pull request #10390 from kjbracey-arm/armc6_fpu_sel
Correct some CPU selections in tools
2019-04-26 13:32:29 +01:00
Anna Bridge 1cd709f6b6
Merge pull request #10322 from kjbracey-arm/gcc_builtins
GCC: remove `-fno-builtin` option
2019-04-26 13:32:02 +01:00
Veijo Pesonen 7a942fd083 Wi-SUN: adds greentea test config 2019-04-25 14:21:57 +03:00
fred.li 38e088eadd remove blank line 2019-04-25 09:56:52 +08:00
Kevin Bracey 744e2ccfa7 Tools: Add "Cortex-M33E" option
There was a gap in our pattern - we didn't offer M33 with DSP Extension
but no floating-point.
2019-04-23 12:04:20 +03:00
Kevin Bracey 56e2d339c8 Correct some CPU selections in tools
* For ARMC6, core types `Cortex-M4` and `Cortex-M7` did not explicitly
  add `--fpu=none`, so it defaulted to assuming FPU present. This would
  cause a compilation error if the target's cmsis.h had `__FPU_PRESENT`
  defined to 0.

* For GCC, `Cortex-M33FE` did not include `+dsp` in the architecture
  selection.

* For ARMC5 and ARMC6, `Cortex-M0+` did not pass `M0plus` to the
  non-Clang tools.
2019-04-23 12:04:20 +03:00
Mahesh Mahadevan 7cd8ee1599 MIMXRT1050: Readd IAR support
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-04-22 11:47:23 -05:00
fred.li 7941d34e35 Size should be calculate after confirm the start address 2019-04-22 11:53:15 +08:00
Brian Daniels 03f5ffd6b6 Fix for downloading the wrong binary in the online compiler 2019-04-18 16:45:39 -05:00
Martin Kojtal 63e7f09c7e
Merge pull request #10406 from j3hill/cmsis_fix
Modify CMSIS pack manager to properly handle OSError
2019-04-18 13:15:59 +01:00
ccli8 717a2a2139 Pass TFM_LVL macro to linker files
With this, single linker file can support different TFM security levels.
2019-04-18 14:06:20 +08:00
Brian Daniels b09ab8855f Fixing default algorithms in cmsis pack index 2019-04-15 18:17:28 -05:00
j3hill e54b3f7cbe Update CMSIS pack manager to properly handle OSError 2019-04-15 10:38:34 -05: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
Cruz Monrreal f1c4a029c2
Merge pull request #9844 from cmonr/travisCI-refactor
Travis CI: Stages, OS update, apt-get relief!
2019-04-12 09:17:55 -05:00
Martin Kojtal 8160c34a53
Merge pull request #10257 from theotherjimmy/py3-build-release
Correct Python 3 errors and lint warnings in build_release.py
2019-04-12 14:17:31 +01:00
Cruz Monrreal 2641fb38ce
Merge pull request #10364 from kfnta/psa_codegen_refactor
Refactor PSA code generators
2019-04-11 20:34:11 -05:00
Cruz Monrreal 582edf503a
Merge pull request #10366 from kjbracey-arm/feature_CMSIS_5_ca812421
Update CMSIS to 5.5.1
2019-04-11 20:34:00 -05:00
Cruz Monrreal 3bda0ef36f
Merge pull request #10021 from bridadan/uvision_postbuild_regions
Enable post build bootloader merging in uvision
2019-04-11 20:22:36 -05:00
Cruz Monrreal II 2a2ec16a44 Fixed status reporting.
'tr' command wasn't doing any replacement
2019-04-11 10:50:21 -05:00
Brian Daniels 583e787ca1 Apply suggestions from code review
Co-Authored-By: theotherjimmy <theotherjimmy@gmail.com>
2019-04-11 09:33:15 -05:00
Oren Cohen 904656ebc6 Update commit sha's 2019-04-10 14:26:10 +03:00
Oren Cohen 4e720fddd5 Remove outdated patch 2019-04-10 14:20:56 +03:00
Oren Cohen ae4341e8db Refactor PSA code generators
* Unify PSA generators
* Replace scanning for mbed_spm templates with json
* Make generate_source_files and parse_manifests common
* Make assert_int an internal function
* Use parse_manifests in pytests
* Update docs
2019-04-10 14:15:28 +03:00
Kevin Bracey f967c8b3d7 cmsis_importer: take just Source/os_systick.c 2019-04-10 11:56:23 +03:00
Martin Kojtal bb0baee381
Merge pull request #10347 from bridadan/allow_mbed_2_builds
Fix detection of supported targets for mbed 2 builds
2019-04-10 10:02:32 +02:00
Cruz Monrreal 8e0259291b
Merge pull request #10348 from theotherjimmy/fix-memap-m33
Parse M33 + GCC_ARM map files
2019-04-09 21:44:26 -05:00
Brian Daniels fb6fcc5324 Only enable uvision postbuild when in a non-zipped exported project.
Projects that are zipped are typically from the online compiler or they
are meant to be used in a separate environment. Since the postbuild
script requires the Mbed OS tools to present in the project, we will
disable the postbuild script when the project is exported to a zipped
project.
2019-04-09 14:10:38 -05:00
Brian Daniels bbef60fbf2 Correct calls to merge_region_list 2019-04-09 14:10:37 -05:00
Brian Daniels ae344342d1 Fix import of region functions 2019-04-09 14:10:37 -05:00
Brian Daniels 1319948412 Conditionally enable post build in uvision for managed bootloader 2019-04-09 14:10:36 -05:00
Brian Daniels a0cce48282 Modify uvision templates to conditionally enable post build 2019-04-09 14:08:14 -05:00
Brian Daniels d004828589 Add post build script for uvision to support managed bootloader. 2019-04-09 14:08:14 -05:00
Brian Daniels 4734cb7059 Add template for export info needed by the post build script 2019-04-09 14:08:13 -05:00
Brian Daniels 533ee1f717 Add debug and flash init scripts for uvision.
These files are used when the post build script is enabled to support
projects that are using managed bootloader mode.
2019-04-09 14:08:13 -05:00
Brian Daniels a5d89bb088 Update merge_region_list test case 2019-04-09 14:08:13 -05:00
Brian Daniels 5b33dfd6e4 Update calls to merge_region_list 2019-04-09 14:08:13 -05:00
Brian Daniels 3b768de528 merge_region_list now takes in just restrict_size instead of config.
merge_region_list was changed to do some extra checks regarding the
different regions. It only was checking the "restrict_size" parameter
and not the whole config option. So this reduces the argument down to
just this value. This makes it easier to serialize the data needed for
post build steps after being built in an exported project.
2019-04-09 14:08:13 -05:00
Cruz Monrreal 803f5fd44e
Merge pull request #9966 from naveenkaje/sct_fix
tools: fix the path generated to the sct file
2019-04-09 14:03:09 -05:00
Cruz Monrreal fba8156bda
Merge pull request #9967 from bridadan/fix_vscode_makefile_zip
Fix for projects exported as a zip file (affects online compiler)
2019-04-09 11:05:33 -05:00