Commit Graph

478 Commits (7794d901f2be0737c02fa30fdae0b9ddf59dadf3)

Author SHA1 Message Date
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
Oleg Kapshii aedec74b9a Added support for PSA target to WIFI_BT board
Added WiFi_Bt CM4 PSA target in mbedos json
Added SPE-NSPE mailbox initialization for CM4 SystemInit
Made similar to FUTURE_SEQUANA configurations
Copied FUTURE_SEQUANA CM0 SPM part for WiFi_Bt smoke test
Added CY8CKIT_062_WIFI_BT_M0 and CY8CKIT_062_WIFI_BT_M0_PSA targets
Sorted files for new CY8CKIT_062_WIFI_BT_M0 and CY8CKIT_062_WIFI_BT_M0_PSA targets
Copied files for CY8CKIT_062_WIFI_BT_M0_PSA from FUTURE_SEQUANA
Copied and updated cm0p start files
Corrected according to FUTURE_SEQUANA
Changes to M0 startup files to have SPM started
Fixed implicit declaration warning
Commented interrupts enabling according to FUTURE_SEQUANA flow
Updated prebuild spm_smore CM0 hex for CM4 target
Turned on greentea environment
Used special memory region for common CM0/CM4 data
Updated prebuild CM0 SPM hex
Placed shared memory region for flash operations into SPM shared memory region
Updated cyprotection code and configuration
Start address of protected regions is set by a defined number from target.json
Added masters pcMask configuration
Added support for PSA target to WIFI_BT board
Enabled resources protection for SPM
Aligned RAM usage according to Cypress FlashBoot and CyBootloader
alligned protection config
Added CYW943012P6EVB_01_M0 target
Enlarged heap size, remobed nv_seed
Added heap reservation in linker script from mbed-os
Removed heap size definition
turned on nv_seed config
Removed nv_seed macros
Enabled protection for PSoC6 CM0
Added PSoC6 CM0 PSA readme
Enabled mbed_hal-spm test
Enabled nv_seed and removed unneeded ipc config define
Added SPDX string to feature_ble cypress target files
Removed unneeded supported_toolchains lines for Cypress targets
Disabled protection settings
Corrected flash initialization for PSoC6 CM0 PSA
Changed PSoC6 IPC6 protection for flash
Enabled special flash initialization and enabled protection settings
Updated and added new prebuild PSoC6 CM0 PSA hex files
Disabled HW TRNG and CRC for PSoC6 CM4 PSA target
Added missing const to allow types to match
Updated PSoC6 WIFI_BT_PSA prebuilt directory
Moved PSoC6 shared section usage area definition to begin of ld
Added initial ARM_STD linker and startup files for PSoC6 CM0
Added initial IAR linker and startup files for PSoC6 CM0
Added defines to disable some SPM protection settings for PSoC64
Moved Flash function variables into separate memory region
Added defines for new Public area definition
Updated PSoC6 CM0_PSA hex-files
2019-03-07 08:40:20 -08:00
Jimmy Brisson 1f4c2710b1 Add SPDX identifier to liscense in "new" file 2019-03-04 11:36:36 -06:00
Jimmy Brisson c9674dc7f8 Fix pylint in iar.py except for the long regex 2019-03-04 11:36:36 -06:00
Jimmy Brisson 1712506de2 Fix pylint warnings in gcc.py except for the long regex 2019-03-04 11:36:36 -06:00