Commit Graph

482 Commits (01d35911a63c49e09619a91ae710cd474a696bf1)

Author SHA1 Message Date
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
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
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
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
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
Oren Cohen f58e600d6e Fix armclang fpu detection 2019-04-30 14:11:54 +03: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
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
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
Brian Daniels 03f5ffd6b6 Fix for downloading the wrong binary in the online compiler 2019-04-18 16:45:39 -05: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 bbef60fbf2 Correct calls to merge_region_list 2019-04-09 14:10:37 -05:00
Brian Daniels 5b33dfd6e4 Update calls to merge_region_list 2019-04-09 14:08:13 -05:00
Brian Daniels 2a080a0840 Correct call to add_file_ref 2019-04-05 11:46:39 -05:00
Naveen Kaje f0f133f3ec tools: fix the path generated to the sct file
The sct file path generated in the online compiler
is incorrect. Fix that by changing the correct_scatter_shebang
API to accept a FileRef object instead and use the path.

This change should go with change in online compiler that removes
the override for correct_scatter_shebang.
2019-04-02 09:05:15 -05:00
Jimmy Brisson 992cb26209 Parse errors and warnings with ARMC6 2019-03-29 12:00:44 -05:00
Cruz Monrreal cfdb72b94f
Merge pull request #10182 from lrusinowicz/armc6_assembler_win7_workaround
Workaround for ARMC6 Windows 7 assembler issue
2019-03-27 00:23:05 -05:00
ccli8 da7035eb6b Fix MBED_RAM_START/MBED_RAM_SIZE symbol generation
1. Fix MBED_RAM_START/MBED_RAM_SIZE are not generated when there are
   target.mbed_ram_start/target.mbed_ram_size overrides
2. Fix MBED_RAM_START/MBED_RAM_SIZE are duplicated.
2019-03-26 09:34:59 +08:00
Brian Daniels 0f1bd76c01 Add link for ARMC5 warning 2019-03-23 18:24:59 -05:00
Brian Daniels 1c31d365c2 Add ARMC5 as an option for the -t argument 2019-03-23 18:24:58 -05:00
Brian Daniels 04e90c278c ARMC5 is supported if a target lists ARM as a supported_toolchain 2019-03-23 18:24:58 -05:00
Brian Daniels 6f5a3c3e8d Add functions to enable ARM fallback to ARMC5.
There are two new functions: get_valid_toolchain_names and
find_valid_toolchain. These functions are used to figure out if a
fallback is possible and necessary. find_valid_toolchain is expected to
be used by the front-end scripts.

get_toolchain_name was updated with some different logic and comments.
2019-03-23 18:24:58 -05:00
Martin Kojtal aca0f2f48e
Merge pull request #10114 from bridadan/armc6_mbed_ide
Allow the use of Mbed Studio's version of ARMC6
2019-03-23 16:30:01 +01:00
Leszek Rusinowicz 8d8cf1acc3 Workaround for ARMC6 Windows 7 assembler issue
On Windows 7 using --preproc option in ARMC6 assembler doesn't work
when -MD option is also specified. Compiler creates incorrect filename for
dependency file and compilation files.
To workaround this issue, this change returns to using a temporary file and
separately calling preprocessor and assembler (as in a case of ARMC5).
2019-03-21 23:04:32 +01:00
Brian Daniels e382b5034a Add comments about the proper use of specific ARMC6 arguments 2019-03-21 16:24:44 -05:00
Brian Daniels bc06c535d0 Conditionally enable --ide=mbed from ARMC6 based on compiler version.
If the Mbed Studio build of ARMC6 is found, add the --ide=mbed to all
necessary executables.
2019-03-19 17:33:40 -05:00
Brian Daniels 9ac08e6313 Whitespace clean up 2019-03-19 17:33:09 -05:00
Jimmy Brisson dabad7a074 Deduplicate RAM defines to linker command line 2019-03-19 13:38:45 -05:00
Jimmy Brisson 0bb3031ef2 Deduplicate MBED_ROM_xxxx defines on IAR linker command line 2019-03-19 09:17:52 -05:00
Jimmy Brisson 7380451f6e Correct post-build filtering options 2019-03-12 11:30:12 -05:00