Commit Graph

446 Commits (266d4c43a2e382d7013a98ca6a1cc14a5ffb83b5)

Author SHA1 Message Date
Jimmy Brisson 6282b5f0c4 tools: Make "file" key in notifications consistant
### Description

2 calls to `notify.cc_verbose` used the a FileRef object in place of
the file's name. Other calls to `notify.cc_info` would use just the
file name. This PR changes these 2 calls to be consistant with the rest.

### Pull request type

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Breaking change
2018-09-27 15:31:35 -05:00
Jimmy Brisson f8f5bc40f6 Tools: Don't traceback on missing linker script
### Description

The `mbed compile` would traceback when no linker script is found.
This PR changes that behavior to make that into a NotSupportedException,
which has decent user behavior.

Fixes #7723

### Pull request type

    [x] Fix
    [ ] Refactor
    [ ] Target update
    [ ] Functionality change
    [ ] Breaking change
2018-09-25 12:52:25 -05:00
Cruz Monrreal caa4279244
Merge pull request #8023 from SiliconLabs/hotfix/nanostack-default-interface
Hotfix for PR #7778 on Silicon Labs targets
2018-09-21 12:50:43 -05:00
Kevin Bracey 0e7eda0749 Remove IAR assembler macros containing quotes
IAR assembler 7.80 has some problems handling difficult macros, leading
to immediate exit with return value -11.

In particular, a URL string has been causing problems, presumably due to
the "//" resembling a comment.

A previous escaping workaround in 0d97803 seemed to work, but the crash
has still been seen with a particular target.

Previous creation of the extended command line file for the IAR
assembler was stripping quotes from macros. This rendered the resulting
definitions for string-containing macros incorrect, which means that we
can assume no assembler code is currently relying on them.

Therefore, as a precautionary measure to avoid the crash, simply remove
all macros containing strings when creating them for IAR. This
apparently clears the crashes seen during testing of
https://github.com/ARMmbed/mbed-os/pull/8023
2018-09-20 15:51:51 +03:00
Martin Kojtal 81d0948c09
Merge pull request #8025 from deepikabhavnani/flag_update
Align to CMSIS defines for Non-Secure
2018-09-19 14:18:41 +02:00
Cruz Monrreal 3da606e586
Merge pull request #8017 from TTornblom/master
IAR: Fix for #7662, only massage the error decode URL for the IAR .xcl
2018-09-17 19:46:12 -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
Russ Butler 1ead033423 Add framework for configuring boot stack size
Add the target config option "boot-stack-size" which is passed to the
linker as the define "MBED_BOOT_STACK_SIZE" so the linker can
adjust the stack accordingly. On mbed 2 the boot stack becomes the
main stack after boot.  On mbed 5 the boot stack becomes the
ISR stack after boot. Because of these different uses  the stack size
for mbed 2 is set to 4K by default while on mbed 5 it is set to 1k.

Additionally, the NRF5X family requires a larger interrupt stack size
due to the softdevice so the size  is increased to 2k on mbed 5 builds.
2018-09-07 16:31:49 +01:00
TTornblom 0d97803ad8 IAR: Fix for #7662, only massage the error decode URL for the IAR .xcl
file.
2018-09-06 12:16:15 +02:00
Jammu Kekkonen 1a9999708e Fix memory reservation for Softdevice in NRF52_DK 2018-08-31 14:13:55 +03:00
Cruz Monrreal 2e081dc7d0
Merge pull request #7644 from theotherjimmy/components
Tools: Scan for "components"
2018-08-28 17:55:01 -05:00
Cruz Monrreal 14319adf7a
Merge pull request #7792 from deepikabhavnani/fix_m33
Build tool fixes for Musca support
2018-08-28 10:09:28 -05:00
Jimmy Brisson 419761913a Add `COMPONENT_` defines 2018-08-27 11:12:02 -05:00
Jimmy Brisson 79ee1b8e02 Add "components" 2018-08-27 11:12:01 -05:00
Cruz Monrreal 2f8e679183
Merge pull request #7592 from orenc17/remove_uvisor
Remove uVisor from mbed-os
2018-08-25 19:52:24 -05: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
Oren Cohen 787317b7eb Remove uVisor from mbed-os 2018-08-22 16:36:59 +03:00
Jimmy Brisson 09ea2a3df9 Tools: Use Distcc when specified 2018-08-21 11:38:31 -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
Olli-Pekka Puolitaival 2059fed945 Fix building with python 3 2018-08-13 12:46:43 +03: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
Jimmy Brisson 28064f1319 Use hash to determine changes to command files 2018-07-30 10:41:58 -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
Jimmy Brisson 3f684113b0 Warn with ARMC6 and not v8m 2018-07-20 10:12:56 -05:00
Cruz Monrreal 4bcca894ae
Merge pull request #7061 from TTornblom/master
Tools: Include configuration in ASM
2018-07-20 08:02:44 -05:00
Jimmy Brisson 62538e3bce Filter archives for the arm linker
the other compilers can do it for themselves
2018-07-16 14:11:09 -05:00
Jimmy Brisson 545553b6bc Rewrite test detection to avoid relying on "inc_dirs" 2018-07-16 14:11:08 -05:00
Jimmy Brisson a4cc32067d Add get_file_paths res API and use it 2018-07-16 14:11:08 -05:00
Jimmy Brisson 28dbbd6b3b Correct path usage in linking 2018-07-16 14:11:08 -05:00
Jimmy Brisson 6a87510192 Correct several exporter uses of file_basepath with a dedupe 2018-07-16 14:11:08 -05:00
Jimmy Brisson 7a26cd8da8 Use paths in linking 2018-07-16 14:11:08 -05:00
Jimmy Brisson 0661578054 Use include paths when compiling
We were using include names before
2018-07-16 14:11:08 -05:00
Jimmy Brisson de913e1ea2 Improve resources API to include more use cases 2018-07-16 14:11:08 -05:00
Jimmy Brisson 2d8cf737e4 Move resource scanning into it's own module 2018-07-16 14:10:21 -05:00
Jimmy Brisson ef7b466958 Correct cmse lib creation for the make_gcc_arm 2018-07-12 10:49:26 -05:00
Jimmy Brisson 444d021b0e Correct string usage in version checking 2018-07-10 14:04:26 -05:00
Jens Alfke 5543849ba4 Recognize ".cc" and ".hh" source file extensions
".cc" --> C++ source code
".hh" --> header

This change allows existing source code with this naming
convention (e.g. my company's) to be used in mbed.os projects.
2018-07-06 10:10:22 -07:00
Cruz Monrreal 9c4c630356
Merge pull request #7367 from theotherjimmy/check-arm-component
Tools: Detect Arm Compiler version using Component
2018-07-03 07:35:57 -05:00
Jimmy Brisson 95c33f7807 Include symbols in dumped build profiles
This will make incremental compile more complete, taking device_has and
inheritance hierarchy into account.
2018-06-28 15:05:23 -05:00
Jimmy Brisson 37013fb489 Use Component section for ARM compiler version 2018-06-28 10:51:12 -05:00
Cruz Monrreal dec43922ee
Merge pull request #7247 from theotherjimmy/toolchain-version-check
Tools: Check compiler version
2018-06-27 18:42:49 -05:00
Jimmy Brisson c273de6545 Test and correct GCC version check 2018-06-26 09:25:33 -05:00
Jimmy Brisson c174ca3f85 Test and correct ARMCC version check 2018-06-26 09:15:01 -05:00
Jimmy Brisson f87fab5f33 Use via file for ASM macros in IAR 2018-06-26 08:44:37 -05:00
Jimmy Brisson a775e6992e Refactor via files to use a common method 2018-06-26 08:44:37 -05:00
Jimmy Brisson a855281633 Use preinclude of mbed_config.h in all toolchains 2018-06-26 08:44:37 -05:00
TTornblom dcd17935e3 IAR: Fixed #6670 2018-06-26 08:44:37 -05:00
Jimmy Brisson 0e56c18058 Check for no match in version check 2018-06-25 18:04:11 -05:00
Jimmy Brisson 59e8631d3a Escape '.' in regex 2018-06-25 17:58:11 -05:00
Jimmy Brisson 1a9474e4d9 Search all stdout for version regex; check > 1 matches 2018-06-25 14:41:37 -05:00
Jimmy Brisson 2aea6c39f7 Improve ARM compiler regex 2018-06-25 11:33:44 -05:00
Cruz Monrreal 95d2b3d55c
Merge pull request #7133 from OpenNuvoton/nuvoton_support_tz_partition
Override ROM/RAM start/size for TrustZone targets
2018-06-21 17:49:47 -05:00
Jimmy Brisson 52e640fc1d Add Rom config info getter and rom defines
* MBED_ROM_START = start of current rom (independent of BL modes)
 * MBED_ROM_SIZE = size of current rom (independent of BL modes)
2018-06-20 10:47:04 -05:00
Jimmy Brisson a87575fec5 Use Non-blocking Error and LooseVersion 2018-06-19 10:41:08 -05:00
Jimmy Brisson 6f54a8fdd7 Check version of Mbed CLI compile 2018-06-18 14:03:09 -05:00
Jimmy Brisson 86b7adbd30 Force small lib usage when using uARM tc 2018-06-15 10:38:23 -05:00
Jimmy Brisson 34792e60c6 Correct "defalut" typo 2018-06-13 09:51:50 -05:00
Jimmy Brisson 1d9fd830af Compute ARM_STD and ARM_MICRO labels with target attrs 2018-06-12 09:54:34 -05:00
Jimmy Brisson b922201a9c Heed default_lib in arm compiler 2018-06-12 09:29:10 -05:00
Jimmy Brisson 09cdc0631d Move from tc constructor to config vars 2018-06-08 09:59:19 -05:00
ccli8 ae16aa2fb7 Fix overridden MBED_ROM_START/MBED_ROM_SIZE/MBED_RAM_START/MBED_RAM_SIZE don't pass to linker 2018-06-08 18:03:56 +08:00
Cruz Monrreal a25b9f390f
Merge pull request #6999 from evva-sfw/feature/extend_error_warning_msg_as_link
Extend feature which displays errors/warnings as Link
2018-06-07 10:11:23 -05:00
ccli8 58f1521623 Pass fixed SRAM information (MBED_RAM_START/MBED_RAM_SIZE) to compiler/linker
This fix relies on target configuration options (mbed_ram_start/mbed_ram_size) defined.
2018-06-06 09:49:44 +08:00
ccli8 f48f30ceb2 Pass fixed flash information (MBED_ROM_START/MBED_ROM_SIZE) to compiler/linker
This fix relies on target configuration options (mbed_rom_start/mbed_rom_size) defined.
2018-06-06 09:46:59 +08:00
Cruz Monrreal 4fcaa56b77
Merge pull request #6914 from 0xc0170/fix_build_notifier
build: fix notifier typo and passing to builds API
2018-06-05 10:59:47 -05:00
Cruz Monrreal II e65537790e Modified LazyDict to inherit from object instead of dict, and removed iteration over values.
Py3 no longer supports dictionaries that self-modify their item lists during iteration.
2018-06-04 09:21:43 -05:00
PHST af1e482f52 Correct Bug 2018-05-23 16:19:14 +02:00
PHST b9217d6be0 correct imports 2018-05-23 16:13:50 +02:00
PHST 03422a9df5 Extend show error/warning as Link
PR #6270 added a parameter which allows the user to decide in case of an error or warning to print the output as a link.
This extension of this option also prints the ARM-GCC output in a link format.
2018-05-23 15:40:00 +02:00
Martin Kojtal 0bbfc6199c build: fix notifier typo and passing to builds API
Notifier should be passed to build libs functions, otherwise it's
none and fails.

Missing notify object in toolchain also fixed.
2018-05-16 13:30:06 +01:00
Bartek Szatkowski 00a321846d Rename __DOMAIN_NS to DOMAIN_NS to match CMSIS 2018-05-14 12:18:21 +01:00
Cruz Monrreal 53d3c4344f
Merge pull request #6781 from theotherjimmy/refactor-notify
tools: Refactor notification API
2018-05-07 10:48:48 -05:00
Cruz Monrreal 2ddce27a42
Merge pull request #6769 from theotherjimmy/fix-subtract-basepath
Move subtract basepath into the resources class
2018-05-07 10:33:36 -05:00
Martin Kojtal e43d21d4ef
Merge pull request #6713 from theotherjimmy/arm-no-asm-inc
Drop include paths for ARM assembler
2018-05-03 16:31:04 +01:00
Jimmy Brisson d338e672de Apply subtract basepath to features
A bug, #6755, was the result of the `subtract_basepath` function not
being applied to a resources object's children (it's features). This PR
fixes this bug by moving this functionality into the resources class.
Then, I applied the `subtract_basepath` method to the children resource
objects recursively. This has been tested on Partnerbeta and is to
upstream the fix.
2018-05-03 08:54:55 -05:00
Jimmy Brisson b6b6866d38 Extend a local version of the asm cmd list
I was extending an object-local one instead of a call-local one
2018-04-30 09:34:32 -05:00
Jimmy Brisson beb6d7802a Cleanup extraneous spaces on empty lines 2018-04-30 09:30:32 -05:00
Jimmy Brisson fcf7dbf4c6 Use notification API in BL modes 2018-04-26 09:54:01 -05:00
Jimmy Brisson 56ec4677b5 Clean up notifier API usage in compilers 2018-04-26 09:35:47 -05:00
Jimmy Brisson 3bd691a342 Move terminal notifier to it's own file 2018-04-26 09:04:26 -05:00
Jimmy Brisson 72beee7e90 Refactor notification logic into it's own class 2018-04-26 09:04:26 -05:00
Jimmy Brisson da69f0165b Correct test finding behavior
Scan resources ignores the build dir so we can't set it to something
dumb like the directory we want to scan
2018-04-24 10:07:16 -05:00
Jimmy Brisson d8becaa652 Remove ASM include paths for ARM compiler 2018-04-23 15:23:00 -05:00
Jimmy Brisson bc8b98358d Correct exporting with cortex-M23 and M33 2018-04-17 12:02:08 -05:00
ccli8 b81c0e5986 Fix build tool with ARMC6/ARMv8M
1. Add linking time preprocessor macro __DOMAIN_NS for non-secure build
2. For output .hex format, combine multiple .hex files (for multiple load regions) into one
   This can help for Greentea test.
3. Fix 'None' build_dir with cmse_lib.o on Greentea test
2018-04-16 16:10:57 +08:00
Jimmy Brisson 018596446e Exclude files like `.main.cpp` from builds 2018-04-03 11:23:42 -05:00
Martin Kojtal 7125c8ad0b
Merge pull request #6344 from tung7970/fix-tools
armcc - remove fromelf output before regenerating one
2018-03-21 14:12:00 +01:00
Tony Wu cca1d5581a armcc - remove fromelf output before regenerating
Fix armcc recompile errors during elf2bin stage. Errors shown as follows:

Elf2Bin: mbed-os-example-wifi
Error: Q0147E: Failed to create Directory .\BUILD\REALTEK_RTL8195AM\ARM\mbed-os-example-wifi.bin\IMAGE2_TABLE: File exists
Finished: 0 information, 0 warning and 1 error messages.
[ERROR] Error: Q0147E: Failed to create Directory .\BUILD\REALTEK_RTL8195AM\ARM\mbed-os-example-wifi.bin\IMAGE2_TABLE: File exists
Finished: 0 information, 0 warning and 1 error messages.

Signed-off-by: Tony Wu <tonywu@realtek.com>
2018-03-20 16:01:22 +08:00
Jimmy Brisson 14255ca113 Correct syntax for mbed export in Py3 2018-03-16 13:08:20 -05:00
Cruz Monrreal 0828727643
Merge pull request #6270 from evva-sfw/error_warning_msg_as_link
Add parameter in tools settings to show error/warning as Link
2018-03-15 11:49:33 -05:00
Cruz Monrreal b84627feab
Merge pull request #6146 from theotherjimmy/fix-m33-fp
Correct gcc m33 floating point handling
2018-03-06 08:20:20 -06:00
PHST 3e59bdcbf5 Add parameter in tools settings to show error/warning as Link
Per default mbed compile prints errors/warnings on output not in a link format, therefore it is not possible to click, i.e. in an IDE, on the errors/warnings and jump to the position in the file.

The settings parameter lets you decide in witch format do you want to have it.
If it is enabled then the output will look like:
[Error/Warning] [absolute\path\to\file.ext]:[line]:[column]: [msg]

with this format nearly every common known IDE can deal with this link and lets you jump to the file
2018-03-05 15:44:49 +01:00
Jimmy Brisson c29207a4f4 Correct gcc m33 floating point handling 2018-03-01 09:40:47 -06:00
Cruz Monrreal 8b6a7aacc5
Merge pull request #6229 from hug-dev/fix-elf-output-extension
Fix a bug using ELF as output extension
2018-02-27 16:32:40 -06:00
Christopher Haster 24bb556127 tools: Removed outdated (and broken) toolchain initialization test
Also moved the access of build_dir into condition on secure in ARMC6

per theotherjimmy
2018-02-27 09:39:00 -06:00
Hugues de Valon b0027c1e81 Fix a bug using ELF as output extension
When overriding the OUTPUT_EXT variable in compilation configuration,
bugs appear:

* The bin variable is not None as the 'elf' string is not interned.
* When that is fixed, the function returns None instead of returning the
path of the ELF file.

Signed-off-by: Hugues de Valon <hugues.devalon@arm.com>
2018-02-27 14:08:02 +00:00
Jimmy Brisson 166a463639 Correct single file excludes for some exporters 2018-02-20 12:09:11 -06:00
Martin Kojtal 636ced8ed0
Merge pull request #5915 from DBS06/gcc_msg_parsing
Simplify and Improve error/warning parser for gcc_arm
2018-02-19 17:34:43 +01:00
Cruz Monrreal 4145cc0cf0
Merge pull request #6029 from deepikabhavnani/update_context_switch_files
RTX5: Pre-processor defines used for assembly
2018-02-16 10:15:03 -06:00
Cruz Monrreal df4ceee4e1
Merge pull request #6096 from deepikabhavnani/secure_lib_creation
Generate/Link secure object file
2018-02-15 11:27:19 -06:00
deepikabhavnani b21e93ba32 Generate/Link secure object file
Cortex v8 architecture based devices support secure/non-secure builds.
Secure build should generate the object file/library from elf during link
process which is used by non-secure binary during linking.

--out-implib=file specifies output library in which symbols are exported
--cmse-implib requests libraries mentioned above are secure gateway
libraries

Creation of secure library is done as part of linking process in GCC/ARMC6/IAR
Non-Secure project should add this secure object file as part of the
linking process.
Secure library is named as cmse_lib.o.
2018-02-14 12:48:33 -06:00
deepikabhavnani 4076788d51 Non Secure flag is required for pre-processing of linker file 2018-02-07 22:48:47 -06:00
Cruz Monrreal 02eeb7af41
Merge pull request #6030 from deepikabhavnani/correct_arch
M33: -march not required if -mcpu is set
2018-02-07 20:07:11 -06:00
Cruz Monrreal c679dee286
Merge pull request #5848 from theotherjimmy/compile-py3
Python2+3: mbed compile, mbed test --compile,  python unit tests
2018-02-07 15:48:18 -06:00
Cruz Monrreal 779ee843ea
Merge pull request #5797 from hosse005/master
ARMC5+6: Specify CPU for ARM scatter file preprocessor
2018-02-07 14:50:44 -06:00
deepikabhavnani c50518e11c -march not required if -mcpu is set
GCC_ARM throws warning if both architecture and core are set (though
correct). If CPU option is set correctly, architecture is set by compiler
itself.
2018-02-06 22:46:04 -06:00
Jimmy Brisson db4c380b2b Python2+3: build_travis.py and Travis tests 2018-02-05 11:07:37 -06:00
Jimmy Brisson 1dd39fbe80 Python2+3: mbed test --compile 2018-02-05 11:07:37 -06:00
Jimmy Brisson c93a2bfa4c Python2+3: Use absolute import where possible 2018-02-05 11:07:37 -06:00
Jimmy Brisson cca4425af6 Python2+3: iteritems -> items 2018-02-05 11:04:36 -06:00
Jimmy Brisson 7abeec9744 Python2+3: clean argparse 2018-02-05 11:04:35 -06:00
Jimmy Brisson 10a91216f5 Python2+3: The rest of mbed compile 2018-02-05 11:04:01 -06:00
Jimmy Brisson 380ecb1b0e Python2+3: working through many has_attr exceptions 2018-02-05 11:04:01 -06:00
Jimmy Brisson 68737f2762 Python2+3: Things import 2018-02-05 11:03:44 -06:00
Jimmy Brisson 9b8ba4dd98 Use relative path to scatter for include path 2018-02-02 11:53:51 -06:00
Jimmy Brisson a92d0df4ae Move region adding to mbedToolchain 2018-01-31 10:04:34 -06:00
PHST 3ce173b5ce Simplify and Improve error/warning parser for arm_gcc 2018-01-24 08:48:15 +01:00
Evan Hosseini 9245b50a54 ARM: ARMC6: Update scatter file shebang include directory 2018-01-12 13:43:20 -06:00
Evan Hosseini 6b21a5539a ARM: ARMC6: Copy headers along with the updated linker scatter file
* Need to copy headers into the build directory as well when also
  writing an updated linker scatter file to the build directory
2018-01-10 15:46:20 -06:00
Evan Hosseini 3c21f1edfb ARM: ARMC6: Fix for ARM linker script cpu formatting 2018-01-08 09:50:33 -06:00
Evan Hosseini 453a1d79f1 ARM: ARMC6: Specify CPU for ARM scatter file preprocessor
Fixes #5796
2018-01-05 15:16:57 -06:00
Cruz Monrreal II 65dd31489a
Merge pull request #5755 from jorisa/fix-make-paths
Fix for #5676 make.py generates duplicate file entries in link_files.txt
2017-12-28 20:57:20 +00:00
Joris Aerts d3f6ea4ed2 Fix for #5676 make.py generates duplicate file entries in link_files.txt 2017-12-21 13:53:19 +01:00
TomoYamanaka 8e854b1c89 Add Cortex-A9 for ARMCC and ARMC6
I added the definition of "Cortex-A9" for core support of ARMCC and ARMC6 in arm.py.
2017-12-21 14:09:24 +09:00
Jimmy Brisson ab8a8de1a7 Merge pull request #5317 from theotherjimmy/fix-arm-supported-check
Tools: Check for toolchain and core support for Arm Compilers
2017-10-23 10:33:22 -05:00
Jimmy Brisson b0fc103de6 Check for core support in ARM toolchain 2017-10-20 10:05:37 -05:00
Jimmy Brisson 4673fb6580 Check for uARM support when compiling with uARM 2017-10-17 11:08:58 -05:00
Christopher Haster 9fd6c5ae56 Fix behaviour of empty .mbedignore
Should ignore nothing, currently ignores everything
An empty .mbedignore is easy to create when tinkering with a local repo
2017-10-13 11:52:13 -05:00
Jimmy Brisson b9b4bb5c25 Move IAR flag passing to constructor 2017-09-26 08:59:01 -05:00
Jimmy Brisson 4de448142b Merge pull request #5125 from theotherjimmy/improve-memap-performance
Refactor memap for speed
2017-09-21 11:40:41 -05:00
Anna Bridge 02a10e5974 Merge pull request #5094 from deepikabhavnani/m23_armc6
ARMC6 support for Cortex-M23
2017-09-19 10:25:33 +01:00
Jimmy Brisson 8c54c4efa8 Display full paths in armlink output 2017-09-18 16:40:52 -05:00
Deepika eea29d34a7 Corrected check for ARM/ARMC6 toolchain
ARMC6 support required ARM compiler support as mandatory requirement which
should not be the case. Cortex-M23/M33 devices are not suuported by ARM compiler5

Adding ARMC6 without ARM in target.json should work now.
2017-09-14 14:14:35 -05:00
Deepika 60c600ac11 ARMC6 support for Cortex-M23 2017-09-13 17:07:05 -05:00
Jimmy Brisson 58372d3fdf Allow ARMC6 to run post-binary-hooks marked for ARM 2017-09-13 14:50:06 -05:00
Anna Bridge 7b428916f5 Merge pull request #4949 from theotherjimmy/feature-armc5+armc6
NEW TOOLCHAIN: Add the ARMC6 Compiler
2017-09-13 10:39:15 +01:00
Jimmy Brisson d56c19f253 Detect test skips with armc6 2017-09-11 13:20:33 -05:00
Jimmy Brisson 887d29372b Check for support in ARMC6 2017-09-11 13:20:33 -05:00
Jimmy Brisson f4b7d8ba77 Avoid forcing preprocessing
We avoid forcing preprocessing by not replacing the first line when it's
not a shebang (#!). Should work pretty darn well.
2017-09-11 13:20:32 -05:00
Jimmy Brisson e9d3166a5e Expose present get_compile_options API in Toolcahins 2017-09-11 13:20:32 -05:00
Jimmy Brisson 1fef5553b4 Parse deps the same for GCC_ARM and ARMC6 2017-09-11 13:17:54 -05:00
Jimmy Brisson 98b4768434 Initial toolchain class for ARMC6
While ARMC6 does use the same linker (armlink) as ARM Compiler 5, it
is not compatible.

The reason for this incompatibility are twofold:
 * armlink may invoke the C preprocessor by adding a shebang
   (`#!`) to the top of their input files.
 * ARMC6 and ARMC5 differ in how you invoke the preprocessor:
   * ARMC5: `#! armcc -E`
   * ARMC6: `#! armclang -E`

This forces the tools to rewrite the shebang if it's wrong.

This does not yet handle dependencies properly
2017-09-11 13:17:54 -05:00
Deepika ca1f24cc0e Add -mcmse flag for GCC and improved logic for cpu core 2017-09-11 11:49:28 -05:00
Deepika 9422c351e4 Initial RTX and tools support for Cortex M-23/M-33 devices 2017-09-11 11:43:26 -05:00
Shrikant Tudavekar ddc9e0840a disable -f option for assembly files for IAR 2017-08-25 16:59:21 -05:00
Marcelo Salazar 5469be4de0 Fix to generate memory_usage key in report 2017-08-06 14:03:09 +01:00
Jimmy Brisson 8b31078d58 Add missing collect_include passing 2017-08-01 10:29:11 -05:00