Commit Graph

139 Commits (266d4c43a2e382d7013a98ca6a1cc14a5ffb83b5)

Author SHA1 Message Date
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
Brian Daniels 0f1bd76c01 Add link for ARMC5 warning 2019-03-23 18:24:59 -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
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 5dd149cb13 Fix formatting erros in arm.py
except for the extremely long regex
2019-03-04 11:36:36 -06:00
Jimmy Brisson a2fcdba040 Move toolchain base class into another file 2019-03-04 11:32:16 -06:00
Jimmy Brisson 3353722d36 Correct use before definition bug in ARM 2019-03-04 11:32:15 -06:00
Jimmy Brisson aeeb43fb3c Simplify hook tool implementation
The "hook tools" were capable of hooking into many commands run by the build system.
To my knowlage, the only hook is the "post-build-hook". The post build hook could be
easier to reason about if the implementation is specialized for just post-build
hooking.

This commit make it much easier to point out where post build hooks are called by
making the call explicit.
2019-03-04 11:30:49 -06:00
Senthil Ramakrishnan 96c74d4dce Changes to use response files(pass includes in a file) 2019-02-28 12:03:14 -06:00
Senthil Ramakrishnan 654f4d93a4 Modify ARM_STD,ARM_MICRO,ARMC6 constructors to be compatible with older versions of build tools 2019-02-28 12:00:11 -06:00
Senthil Ramakrishnan 4e7d34bbb6 Review fixes for uvision exporter,build_api and arm.py 2019-02-28 12:00:11 -06:00
Senthil Ramakrishnan e2646407de Adding ARMC6 label for ARMC6 toolchain class 2019-02-28 12:00:11 -06:00
Senthil Ramakrishnan 7490b1c87f Api tests modification and uLib related fixes 2019-02-28 11:55:21 -06:00
Senthil Ramakrishnan 50eb4f9da8 Build tools changes to support AC6 and AC5 2019-02-28 11:55:21 -06:00
Oren Cohen 156bdc4b95
Add config header to assembly compilation
ARMC6 was not including mbed_config.h when compiling assembly files
2019-02-20 01:15:23 +02:00
Michael Schwarcz 965410bef0
Fix cortex-m33-S armlink error
Add "-mfpu=none" compilation flag
2019-02-06 10:28:28 +02:00
Martin Kojtal 4ce6ed0f47
Merge pull request #9606 from deepikabhavnani/core_arch_v8m
Correct typo no_dsp - nodsp
2019-02-05 16:59:13 +01:00
Deepika b49a6b2ad8 Correct typo no_dsp - nodsp
armclang - nodsp
armlink - no_dsp

diff --git a/tools/t
2019-02-04 15:40:53 -06:00
Cruz Monrreal c9e00cf781
Merge pull request #9480 from deepikabhavnani/core_arch_v8m
Refactor core optional parameters (FPU + DSP + Security extensions)
2019-01-31 10:22:09 -06:00
Cruz Monrreal II 149d280e7a Added encoding to version check for Py3 compat 2019-01-28 12:59:43 -06:00
deepikabhavnani f7d49fdc82 Change DSP variant symbol to `E` from `D`(d-double floating point) 2019-01-25 09:31:44 -06:00
deepikabhavnani c0750de318 Armc6 - Set floating point and CPU options for all core variants explicitly
Below are the options read from the toolchains/arm
armclang --target=arm-arm-none-eabi -mcpu=list
The following arguments to option 'mcpu' can be selected:
  -mcpu=cortex-m0
  -mcpu=cortex-m0plus
  -mcpu=cortex-m1
  -mcpu=cortex-m3
  -mcpu=cortex-m4
  -mcpu=cortex-m7
  -mcpu=cortex-m23
  -mcpu=cortex-m33
  ...

armlink --cpu=list
The following arguments to option 'cpu' can be selected:
 --cpu=Cortex-M0
 --cpu=Cortex-M0plus
 --cpu=Cortex-M1
 --cpu=Cortex-M1.os_extension
 --cpu=Cortex-M1.no_os_extension
 --cpu=Cortex-M4
 --cpu=Cortex-M4.no_fp
 --cpu=Cortex-M7
 --cpu=Cortex-M7.fp.sp
 --cpu=Cortex-M7.no_fp
 --cpu=Cortex-M23
 --cpu=Cortex-M33
 --cpu=Cortex-M33.no_fp
 --cpu=Cortex-M33.no_dsp
 --cpu=Cortex-M33.no_dsp.no_fp
...

armclang --target=arm-arm-none-eabi -mfpu=list
The following arguments to option 'mfpu' can be selected:
  -mfpu=fpv4-sp-d16
  -mfpu=fpv5-sp-d16
  -mfpu=fpv5-d16
...
2019-01-25 09:28:36 -06:00
deepikabhavnani 907c517473 Use core arch for setting secure/non-secure flags 2019-01-25 09:28:36 -06:00
Martin Kojtal af52c30234
Merge pull request #9433 from deepikabhavnani/asm_v8m_flags
Set DSP and floating point flags for ASM files
2019-01-23 09:18:18 +01:00
Deepika ddc762776f Set DSP and floating point flags for ASM files 2019-01-18 14:13:31 -06:00
Kevin Bracey d17d43bdfa Revert "Warn with ARMC6 and not v8m"
This reverts commit 3f684113b0.
2019-01-17 10:59:27 -06:00
Kevin Bracey dddeab7414 ARMC6: Use float-abi=hard
For binary compatibility with ARMC5, use the hard ABI variant whenever
we have FP hardware - this is ARMC5's default behaviour, which we do not
override.

Cortex-M4F was already using hard; this brings M7F and M33F into line.
2018-12-19 14:28:35 +02:00
deepikabhavnani f05e7b77d0 Add core option for Cortex-M33 with DSP enabled
Signed-off-by: Deepika Bhavnani <Deepika.Bhavnani@arm.com>
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-12-07 12:20:01 -06:00
Mikhail Maltsev d16388354a Fix build of library archive with Arm Compiler 6
The 'archive' method of the toolchain class 'ARM' expects that self.ar
is a string, but the constructor of the class 'ARMC6' initializes it
with a list. This patch fixes the issue.
2018-11-22 13:32:20 +00:00
Cruz Monrreal II 14a9824511 Merge branch 'root-include-path' of ssh://github.com/theotherjimmy/mbed into rollup 2018-11-08 13:24:12 -06:00
Jimmy Brisson 95e2b07ad8 Resources: Compute parents using only header names
### Description

The prior fix made the assumption that you wanted to compute all of the
parents for a give header file going all the way up the path. This is
not true: you probably want to stop when the project stops. We already
keep track of a virtual name within the project, so instead, we compute
parents of the name, and generate the actual location of these files in
your FS as the path. This makes the solution robust offline and online
(I tested it with my local copy of os.mbed.com)

### Pull request type

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Docs update
    [ ] Test update
    [ ] Breaking change
2018-11-08 09:23:49 -06:00
jeromecoutant 1ea28973b2 TOOLS : Add missing M33 and M33F in python scripts 2018-11-05 17:44:15 +01:00
Jimmy Brisson ec72ce7787 Track supported information within toolchain clasess 2018-10-18 11:10:16 -05:00
Cruz Monrreal 43ffe3e985
Merge pull request #8305 from theotherjimmy/fix-microbit-release
Tools: Fix Microbit releases
2018-10-10 08:44:58 -05:00
Jimmy Brisson a270249aa7 Update remaining default_lib usage in arm compiler 2018-10-09 10:50:02 -05:00
Martin Kojtal 1af1a4a443
Merge pull request #7876 from cmonr/version-warn-not-err
Tools: Modified version mismatch msg to be warning instead of error
2018-10-04 13:42:00 +02:00
Jimmy Brisson 0e458bd163 Tools: Fix Microbit releases
### Description

I noticed that there was quite a bit missing from the mbed2 release of
the microbit today. That's because the microbit uses ARM by default and
the GCC_ARM small library. The release script was trying to release for
ARM using scan rules for uARM. Turns out we're stuck with 2 configuration
parameters for the same thing: `default_lib` for GCC and `default_toolchain`
for ARM. Dang

### Pull request type

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Breaking change
2018-10-02 11:23:14 -05:00
deepikabhavnani ff80e298d2 Align to CMSIS defines for Non-secure
CMSIS updated the __DOMAIN_NS define to DOMAIN_NS. Update the define
in existing code for non-secure part.
2018-09-10 09:25:27 -05:00
Jammu Kekkonen 1a9999708e Fix memory reservation for Softdevice in NRF52_DK 2018-08-31 14:13:55 +03:00
Cruz Monrreal II 09239e3073 Modified version mismatch msg to be warning instead of error 2018-08-23 22:13:00 -05:00
Deepika ed58ff0405 Disabling DSP and FPU for Cortex-M33
Change shared by @Gabor Kertesz

Hard-fault on Musca was because of enabled floating point instructions,
disabling DSP and FPU.
2018-08-23 09:06:20 -05:00
deepikabhavnani 63664520c0 Arch and CPU options for linker and Clang are different for Cortex-M33
As per the link below, options for clang and armlink are diferrent for Cortex-M33
armlink --cpu 8-M.Main --import-cmse-lib-out importlib_v1.o
armclang -march=armv8-m.main -mcmse

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0773h/pge1452794854109.html
2018-08-16 13:35:03 -05:00
deepikabhavnani beab422045 -mcpu option not needed for v8M devices
-mcpu option if set for v8M CPU;s it will add DSP feature as default
which is optional. Hence setting just the architecture for Cortex-M23
and Cortex-M33
2018-08-15 13:52:15 -05:00
deepikabhavnani 08b4e34825 Fix build and typo issues with M33 build 2018-08-14 11:44:29 -05:00
Jimmy Brisson 7db537acf6 Fix Microlib compatibility for -t ARM
Missing from common flags:
 * `-D__MICROLIB`
 * `--library_type=microlib`

This patch adds them
2018-08-07 13:21:03 -05:00
Cruz Monrreal dcd358f3e7
Merge pull request #7558 from theotherjimmy/tc-arm-v8m
Tools: Select compiler based on arch version
2018-07-26 10:27:21 -05:00