Commit Graph

1783 Commits (usb_keyboard)

Author SHA1 Message Date
Anna Bridge 9649d36dbb Added running total for target being compiled. 2017-03-14 17:46:53 +00:00
Jimmy Brisson 4219d9cfc6 Don't set the build_dir to anything on export
When constructing a toolchain for export, we currently set the
`build_dir` to the `export_dir`. When exporting offline, the
`export_dir` is always set to the root of the project. The toolchains
ignore their `build_dir` when scanning for sorces, so when the exporters
use the toolchains to scan for their resources, they get nothing.

In this patch we set the `build_dir` of the toolchain that the exports
use to nothing. A path of nothing should not match anything, and will
therefore not ignore everything when scanning for resources.
2017-03-14 11:27:19 -05:00
Anna Bridge 63fb7bd58d Merge pull request #3931 from c1728p9/arm_pack_manager_improvements
Arm pack manager improvements
2017-03-14 14:47:35 +00:00
Anna Bridge ae10ca8787 Merge pull request #3895 from theotherjimmy/find-exec-in-path
Use PATH env variable when gcc found in PATH
2017-03-14 14:41:32 +00:00
Phyo Kyaw a301527c71 This change is for RZ_A1H and VK_RZ_A1H target. 2017-03-14 14:08:01 +00:00
Anna Bridge ca6bfe0cfa Review comments: Add a child logger, close json file after reading, minor
formatting updates.
2017-03-14 12:45:56 +00:00
Russ Butler cefdce2a37 tools: fix usage of aliases.json
Load aliases.json from mbed-os rather than from a temporary
directory.
2017-03-13 18:05:28 -05:00
Russ Butler 47ee9677e5 tools: Rebuild index.json and aliases.json
Rebuild the json files used by arm-pack-manager now that a bug in
version selection has been fixed.
2017-03-13 16:32:57 -05:00
Russ Butler fa38fbb7b3 tools: fix package version in arm pack manager
Use python's LooseVersion to get the correct version.
2017-03-13 16:32:53 -05:00
Russ Butler 44bc754be5 tools: Allow all flash algos to be retrieved
Add an 'all' parameter to get_flash_algorthim_binary. When set
an enumerator of all flash algorithms is returned. rather than just
the first flash algorithm.
2017-03-13 16:32:49 -05:00
Jimmy Brisson a937ee00f2 Fix toolchain path names in Mbed 2 builds
I accidentally broke only uARM mbed 2 builds. Here is the story: When
scanning for resources, toolchains look for any `TOOLCHAIN_<classname>`
folders to include. These `<classname>`s mostly match the name passed in
on the command line with one exception: `uARM` on the command line maps
to `ARM_MICRO` the class. This would not be a problem except for the bug
that I introduced in a prior commit. The bug is that the mbed2 library
builds will use the name passed in on the command line to construct
`TOOLCHAIN_<cli-name>`. This will not match when scanning.

I fixed it by translating the `<cli-name>` into the `<classname>`.
2017-03-10 11:08:56 -06:00
Anna Bridge e3dbb82634 Fixed/improved error parsing from API messages.
Fixed results output summary.
General tidy up of long lines.
Added a new field to json file, target_list, to allow the user to
override the set of targets used for the compilation.
2017-03-10 12:21:32 +00:00
Martin Kojtal e9158f4782 Merge pull request #3852 from theotherjimmy/ignore-build-dir
Ignore build directory from scan resources
2017-03-09 15:45:47 +00:00
Martin Kojtal 93b6a21db6 Merge pull request #3897 from theotherjimmy/supress-levenshtein
Ignore FuzzyWuzzy warnings
2017-03-09 15:33:25 +00:00
Głąbek, Andrzej 377f759304 IAR exporter: extended debugger settings template with modifiable options needed for Nordic targets. 2017-03-08 11:06:35 +01:00
Jimmy Brisson 4408c01522 Add unit test for gcc path specifications 2017-03-07 11:41:56 -06:00
Jimmy Brisson b2901098cd Update test_api call to prepare_toolchain
An earlier patch in this series changed the API for
`build_api.prepare_toolchain`. This commit updates the `find_test`
function to call `prepare_toolchain` correctly.
2017-03-06 18:37:46 -06:00
Jimmy Brisson d20bcba89b Remove static analysis scan
An earlier patch in this series relies on the assumption that all
toolchain construction goes through `prepare_toolchain`. This is still
not the case. The only remaining user of the `mbedToolchain` object that
does not go through `prepare_toolchain` is the static analysis scanner.
It's basically dead-code at this point. I say we remove it. So this
patch removes it.
2017-03-06 18:29:46 -06:00
Jimmy Brisson 51aa3330dd Re-factor mbed2 lib builds to use prepare_toolchain
The prior patch in this series makes the assumption that any building
will go through `build_api.prepare_toolchain`. This was not a valid
assumption for the mbed2 build process. So, instead of maintaining 2
ways of using the toolchain classes, I elected to unify on
`prepare_toolchain`.
2017-03-06 18:23:16 -06:00
Jimmy Brisson fbb6f71be8 Ignore build directory from scan resources
This is a bug fix for the following bug (Github issue #437):

If two builds were run specifying a non-default build folder, the second
build would fail to link with duplicate symbols and may not fit on the
device. The root of this problem is that these non-default build folders
are not ignored by scan-resources, and therefore included in the build.

We fix this bug by ignoring the build directory passed into the tools.
2017-03-06 17:10:57 -06:00
Jimmy Brisson f306ffa4ee Ignore FuzzyWuzzy warnings
Nobody actually cares.
2017-03-06 17:07:14 -06:00
Jimmy Brisson a5745cadd9 Use PATH env variable when gcc found in PATH
Resolves the github issue #3790: Blinky fails to build (on Mac) after
addition of linker script preprocessing feature. Paraphrasing, this
issue is that Homebrew on mac does not install `arm-none-eabi-gcc` in
the same location as `arm-none-eabi-cpp`, the C Pre-Processor. The tools
prior to this commit, and after turning on the pre-processing of the
linker-script will fail on any Mac homebrew installed toolchains.

This commit resolves the above issue by allowing the toolchain's path to
the executable to remain empty after a call to `check_executable`. When
this path is empty, the tools will search the PATH environment variable
for the executable.
2017-03-06 15:24:58 -06:00
Martin Kojtal bc8e2ec887 Merge pull request #3875 from theotherjimmy/export-postbuild-whitelist
Add post-build hook white-list to exporters
2017-03-06 16:57:36 +00:00
Martin Kojtal 2b60e0334a Merge pull request #3870 from 0xc0170/fix_issue#3865
Export: fix issue #3865 - cmsis-dap swd
2017-03-03 14:52:10 +00:00
Jimmy Brisson fcef9a7c50 Add post-build hook white-list to exporters
We have scripts (written in python) that are run after a binary image is
created in the tools. These scripts are not really exportable, as they
are part of the tools and may include and use any bits of python code
they please. So we don't export them. This patch disables export
combinations that would not work because the post-binary hook is not
exported. A white-list is used for forward compatibility.
2017-03-02 15:01:14 -06:00
Martin Kojtal e116b38c8d Export: fix issue #3865 - cmsis-dap swd
From JTAG to SWD by default. This was causing flashing error.
2017-03-02 12:52:35 +00:00
Jimmy Brisson d2f2603892 Add the FPU field to the <Cpu> tag it Keil
Recently the Keil IDE has released version 5.23. This version requires
the FPU to be set as part of the <Cpu> tag in the .uvprojx (XML project
file). This patch adds the appropriate FPU settings based on the
trailing F (FPU enabled) or FD (Double precesion FPU enabled) string of
the core.
2017-03-01 14:16:12 -06:00
Sam Grove 9844a390d9 Merge pull request #3762 from simonqhughes/ms_20170213_fs_integration
STORAGE: Merging feature-storage branch commits to master
2017-02-24 11:37:42 -06:00
Sam Grove 2e5f2e96fb Merge pull request #3818 from adbridge/master
Add new script to automate compilation of all mbed-os 2 targets in online IDE
2017-02-23 15:44:41 -06:00
Anna Bridge 415486e780 Removed unecessary exception and replaced with a logging error. 2017-02-23 19:02:55 +00:00
Anna Bridge e95092c91a Address review comments
Replace use of print and write with logging (with different levels).
Add the ability to choose the logging level on the command line.
Fix the exclusion of uARM from compilation.
Remove print_on_fail from run_cmd() functions, now use logging.
2017-02-23 17:51:23 +00:00
Simon Hughes 7b7db588ff STORAGE: remove RTOS_9 test from tests.py. 2017-02-23 16:39:53 +00:00
Simon Hughes 5a977eff30 STORAGE: PR 3762 fix to remove FAT_FS, SD_FS, FS_LIBRARY from tools scripts. 2017-02-23 16:39:46 +00:00
Simon Hughes e43f667174 STORAGE: PR 3762 fix to remove FAT_FS, SD_FS, FS_LIBRARY from tools/libraries.py and tools/tests.py 2017-02-23 16:39:44 +00:00
Simon Hughes 840c77793b STORAGE: Pull request 3762 review feedback changes.
- Fixing code formatting errors with astyle tool.
- Replaced use of TOOLCHAIN_xxx macros with compiler emitted macros.
- Added const to BlockDevice::get_xxx_size() member functions.
- Added documentation for FAT filesystem thread support.
- Added documentation for fat_filesystem_set_errno().
- Added documentation clarifying the reasons for errno/stat symbol definitions in retarget.h.
- Removed FAT filesystem from mbed 2 testing.
- Fixed FATMisc.h Copyright (c) 2016 year to 2017 as its a new file.
- Removed #ifndef NDEBUG from HeapBlockDevice.cpp.
- Removed unnecessary todo comment in retarget.cpp.
2017-02-23 16:39:42 +00:00
Simon Hughes a79062f876 Remove build_travis.py NUCLEO_F412ZG usb tests which requires other commits. 2017-02-23 16:39:34 +00:00
Christopher Haster 90429f60c8 Fixed mbed 2 build_travis with block device
Conflicts:
	tools/build_travis.py
2017-02-23 16:37:15 +00:00
Simon Hughes 5c7fdc13c7 FILESYSTEM: renamed features/TESTS/fs-fat features/TESTS/filesystem. 2017-02-23 16:30:23 +00:00
Simon Hughes 4acf33f436 FILESYSTEM: moved FAT filesystem implemenation to features/filesystem subdir, and fs-fat tests to features/TESTS. 2017-02-23 16:30:21 +00:00
Sam Grove ba2176323c Merge pull request #3733 from theotherjimmy/feature-bootloader
Enable boot-loader builds
2017-02-23 10:18:31 -06:00
Jimmy Brisson d62f046e57 Fail bootloader builds on targets that don't support it
This patch will prevent building bootloader builds on targets that have
not yet had their linker scripts/scatter files changed to allow for the
ROM space shrinking expected by bootloader builds. At the point of this
patch, bootloader linker script modifications are only supported by the
NUCLEO_F429ZI, K64F, KL46Z, and Odin.
2017-02-22 18:27:23 -06:00
Jimmy Brisson 9a63bfb1fb Enable boot-loader builds
To enable a boot-loader style application, override
"targets.bootloader_exec" or "targets.restrict_size" on a particular
target. These parameters are a bin or hex file, and an integer, in bytes,
respectively. If either override is present, then an application region
is created after the boot-loader region, when "targets.bootloader_exec"
is present, and before post-application, when "targets.restric_size" is
present. The size of the boot-loader region is read from the file
provided in the configuration.
2017-02-22 18:20:26 -06:00
Sam Grove 067f5a0fef Merge pull request #3791 from theotherjimmy/remove-cr
Remove GCC_CR and refurbish LPCXpresso exporter
2017-02-22 13:33:14 -06:00
Sam Grove 988a1891b2 Merge pull request #3797 from theotherjimmy/remove-export-readme
Remove export subdir readme
2017-02-21 10:57:35 -06:00
Anna Bridge 251ef81719 Fix indentation level to be consistent. 2017-02-21 15:41:17 +00:00
Anna Bridge 42f98616e2 New script for automating the compilation of mbed-os 2 targets.
Usage: python tools/check_release.py
Run from the mbed-os directory.

For details on how the script works and how to set up the configuration
json file, please see the python file header.
2017-02-21 15:33:52 +00:00
Jimmy Brisson 1f64e2bc43 Remove export subdir readme
It was really out of date, and is the same as `mbed export -S`. This
makes me think that it's useless
2017-02-17 11:07:22 -06:00
Sam Grove 9ea5702634 Merge pull request #3765 from theotherjimmy/remove-zip-dupes
Remove duplicate files in zipped exports
2017-02-17 09:19:12 -06:00
Sam Grove 75560f3121 Merge pull request #3745 from theotherjimmy/ld-flags-once-make
Pass linker flags to the linker only once
2017-02-17 09:12:40 -06:00
Sam Grove 69de788f94 Merge pull request #3712 from JojoS62/enable-GCC_CR-in-memmap
add GCC_CR as toolchain for memmap
2017-02-17 09:11:22 -06:00
Jimmy Brisson 1d95604275 Remove GCC_CR
It has not worked since the introduction of build profiles
2017-02-16 15:03:24 -06:00
Jimmy Brisson bcbfe6abe1 Rename codered to lpcexpresso in code 2017-02-16 12:09:43 -06:00
Liviu Ionescu 14ffc2511e Merge remote-tracking branch 'ARMmbed/master' 2017-02-14 14:05:37 +02:00
Jimmy Brisson 467bac1997 Remove duplicate files in zipped exports
The zipping function of the exporters would unconditionally add all
files scanned by scan resources to a zip, including all of the files
associated with each feature. This would conflict with
`build_api.scan_resources` adding all of the files to the resources
object that correspond to the enabled features. To resolve this
difference in behavior, I made the zipping function oblivious to
features and had the upper level function, which has access to the
target configuration, do the proper merging.
2017-02-13 15:12:58 -06:00
Sam Grove d8151d7991 Merge pull request #3590 from OpenNuvoton/nuvoton
[NUC472/M453] Export IAR project and other bugfixes
2017-02-13 10:12:02 -06:00
Jimmy Brisson 7d75e277e7 Pass linker flags to the linker only once
Before, `make_gcc_arm` would export a makefile with both linker flags in
the `$(LD)` make variable and the `$(LD_FLAGS)` make variable. This only
affected GCC based makefiles, as the `$(LD)` make variable would only
contain the linker for both ARMC5 and IAR. This patch enforces the
`$(LD)` behavior of ARMC5 and IAR on all of the compilers by truncating
`$(LD)` to just the command
2017-02-10 11:28:02 -06:00
Liviu Ionescu 47b164b00b Merge remote-tracking branch 'ARMmbed/master' 2017-02-09 19:11:44 +02:00
Liviu Ionescu 9101ea4da5 add --launcher.suppressErrors for headless Eclipse 2017-02-09 19:11:28 +02:00
Sam Grove 9ae6f7aa49 Merge pull request #3730 from c1728p9/redirect_support
Add redirect support to toolchains
2017-02-09 09:51:32 -06:00
Sam Grove cf19bb6ae8 Merge pull request #3727 from c1728p9/fix_error_handling
Fix access before variable defined bug in test_api
2017-02-09 09:50:07 -06:00
Sam Grove 49494cfb29 Merge pull request #3717 from sarahmarshy/iar-new-targets
Add IAR export support for NUCLEO_F207ZG
2017-02-09 09:47:45 -06:00
Sam Grove 2de453c8fa Merge pull request #3706 from c1728p9/pre_process
Use the C Pre-Processor on GCC Linker scripts
2017-02-09 09:40:36 -06:00
Sam Grove 942cf8cbf0 Merge pull request #3702 from bridadan/remove_old_directories
Remove old tool directories
2017-02-09 09:39:25 -06:00
Sam Grove 34de26dc3a Merge pull request #3695 from c1728p9/fix_invalid_device_names
Enforce device_name is valid in targets.json
2017-02-09 09:39:05 -06:00
Sam Grove 59c2c4bd99 Merge pull request #3693 from bulislaw/rework_build_profiles
[Proposal] Simplify build profiles: debug and release only
2017-02-09 09:36:14 -06:00
Sam Grove 492db95be9 Merge pull request #3669 from bridadan/catching_assembler_errors
Adding case insensitive 'error' detection
2017-02-09 09:33:17 -06:00
Liviu Ionescu b2638646b8 Merge remote-tracking branch 'ARMmbed/master' 2017-02-09 05:17:22 +02:00
Jimmy Brisson c0f27597ec Add redirect support to toolchains
We create an API for generating the linker flags needed to redirect
functions in an application
2017-02-08 17:34:35 -06:00
Jimmy Brisson 3155e71786 Add pre-processing of linker scripts to Make exporter
For toolchains that do not implicitly run the C pre-processor on their
linker scripts the toolchain is expected to define a `preproc`
attribute.  The Makefiles then pick up on this attribute and add another
rule for pre-processing the linker script automatically.
2017-02-08 17:27:11 -06:00
Jimmy Brisson af4d848144 Use the C Pre-Processor on GCC Linker scirpts
This allows us to define parts of the linker script outside of the
linker script itself. In particular, we are interested in restricting
ROM to a subsection.
2017-02-08 17:26:36 -06:00
Russ Butler 32b9ada3ec Enforce device_name is valid in targets.json
Add a CI test ensure that device_name exists inside the pack index.
2017-02-08 14:54:26 -06:00
Russ Butler acdf1e3728 Fix or remove invalid device names
The field device_name is intended to match that of a target in a
device family pack. Remove this field for devices which do not have
a pack. Fix the name for devices that have the name incorrect. Update
IAR definitions for device which no longer have a device_name but
still need to have support for the IAR exporter.
2017-02-08 14:54:25 -06:00
Russ Butler 8c91b417e6 exporters: allow target name to be used for IAR
Allow the IAR exporter to fall back to a target's name if the
device_name entry is missing.
2017-02-08 14:54:20 -06:00
Jimmy Brisson 83e843bd8c Fix access before variable defined bug in test_api
The worker_result variable was not guaranteed to have a `'result'` or
`'reason'` key and accessing them before testing for them could result
in an error when they are not provided. This patch changes the checks to
prevent check for their existence before accessing them.
2017-02-08 13:56:43 -06:00
Sarah Marsh 0677e5add6 Add IAR export support for NUCLEO_F207ZG 2017-02-07 14:25:43 -06:00
Brian Daniels b0739d7520 Fixing Cortex-A and SARA_NBIOT_EVK build failures (#3)
* Adding Cortex-A support for gnuarmeclipse
* Preventing '-mthumb' from being added to Cortex-A builds.
Previously, both '-mthumb' and '-marm' were being supplied to the
compiler (in that order). Because '-marm' came last, the compiler
respected this option. This change makes it so '-mthumb' is added for
all 'Cortex-M' targets only.
* Renaming to capital .S for Eclipse compatibility
2017-02-07 21:18:18 +02:00
Sam Grove 160455c972 Merge pull request #3689 from adbridge/master
Updated to allow for new directory structure for mbed-dev source.
2017-02-07 10:39:22 -06:00
Sam Grove 3a99b4cb26 Merge pull request #3627 from javier-moreno-tridonic-com/feature-detailed-for-mbed
Memap detailed function also for mbed os modules
2017-02-07 10:32:28 -06:00
JojoS 649d8a1d15 add GCC_CR as toolchain for memmap 2017-02-07 15:05:32 +01:00
Bartek Szatkowski 40d3b22785 Build: Rework build profiles
Rename small.json to release.json, default.json to develop.json and make
it the default profile.
2017-02-07 11:41:16 +00:00
Brian Daniels 57e93a5bab Fixing build step
* Cleaning up makefile
2017-02-07 04:55:51 +02:00
Brian Daniels 643f0e1c8f Remove old buildbot config 2017-02-06 10:54:09 -06:00
Brian Daniels 17cbbe3748 Remove old exporter tests 2017-02-06 10:53:46 -06:00
Anna Bridge 293d049805 Updated to allow for new directory structure for mbed-dev source.
Fixed issue where some deleted files/folders where not being removed from
 the repo.
 Removed code no longer used/needed.
2017-02-03 16:50:45 +00:00
Brian Daniels 6be8278246 Adding case insensitive 'error' detection
GCC Assembler errors were being missed because it prints 'error'
with a captial 'E'. This change allows the 'e' to be either lower
case or upper case.
2017-02-02 12:27:59 -06:00
Sam Grove 65956d108e Merge pull request #3677 from c1728p9/armcc_linker_flags
ARM - pass linker flags along to the linker
2017-02-02 11:05:59 -06:00
Sam Grove 7083dc5339 Merge pull request #3661 from theotherjimmy/uvision-add-cpu
[Exporters] Add core to uvision exporter template
2017-02-02 10:58:53 -06:00
Sam Grove 5d946c46a5 Merge pull request #3653 from bridadan/fatal_error_detection
Adding fatal error detection to toolchains
2017-02-02 10:57:32 -06:00
Sam Grove dd9b6451ef Merge pull request #3632 from mbedNoobNinja/master
IDE Export support for platform VK_RZ_A1H
2017-02-02 10:54:11 -06:00
Liviu Ionescu 7e7b25265c enable the default profile 2017-02-02 18:42:53 +02:00
Liviu Ionescu 269f2b115e generate distinct configurations for profiles
- ignore the 'default' profile, it is a duplicate
- remove repetitions from .cproject.tmpl
2017-02-02 16:34:17 +02:00
Russ Butler 660b221285 ARM - pass linker flags along to the linker
On the ARM toolchain linker flags specified in the build profile do
not get passed to armlink. This patch adds these flags to the
arguments sent to armlink.
2017-02-01 09:23:31 -06:00
Jimmy Brisson eadbe71d58 Add core to uvision exporter template
Strip trailing F's and D's off of the Cputype in uvision
2017-01-31 12:18:52 -06:00
mbedNoobNinja d627bf2d1f Export IDE support added 2017-01-31 10:23:21 +02:00
bcostm e397e44f9e Enable USB tests in Travis build 2017-01-27 17:26:47 +01:00
Brian Daniels 3ad3a9f1d5 Adding fatal error detection to toolchians.
Before the toolchains would ignore error messages that contained the
string "Fatal error". This would lead to a silent failure unless the
compile command was ran with verbose options. This is now fixed.
2017-01-27 12:07:13 +02:00
Liviu Ionescu a5f01293a7 makefile.target.tmpl: remove multiline foreach 2017-01-27 09:58:05 +02:00
Liviu Ionescu 5b7a54e21c add jinja options at caller 2017-01-27 09:56:59 +02:00
Liviu Ionescu 2322f1532e Merge remote-tracking branch 'origin/master' 2017-01-26 22:43:38 +02:00
Liviu Ionescu 207dd311cc Merge remote-tracking branch 'ARMmbed/master' 2017-01-26 17:20:15 +02:00
Martin Kojtal 23647442fb Merge pull request #3601 from theotherjimmy/clean-export-dir
Clean export dir
2017-01-26 10:36:38 +02:00
Martin Kojtal 57ec7493f2 Merge pull request #3608 from ilg-ul/jinja
Exporters: make jinja engine strict
2017-01-26 10:32:55 +02:00
Martin Kojtal 7316b89c1d Merge pull request #3600 from theotherjimmy/refactor-sys-libs
[toolchains] Refactor sys libs
2017-01-26 10:30:27 +02:00
Max Vilimpoc 2ce1a8d953 Allow user overrides of LINKER_SCRIPT Make variable (#3594)
Makefile: Allow user overrides of LINKER_SCRIPT Make variable
2017-01-26 10:28:18 +02:00
Martin Kojtal d4fa863b9c Merge pull request #3588 from c1728p9/arm-pack-manager
arm-pack-manager - fix tracebacks
2017-01-26 10:27:08 +02:00
Martin Kojtal b9557aee12 Merge pull request #3587 from bridadan/fix_build_script_toolchain_check
Fixing toolchain executable not found error for build.py
2017-01-26 10:26:09 +02:00
Martin Kojtal 25ba021c63 Merge pull request #3578 from theotherjimmy/inherit-target-labels
Target system - Inherit names from target parents
2017-01-26 10:24:45 +02:00
Martin Kojtal 17e9131a52 Merge pull request #3574 from c1728p9/fix_invalid_assert
Fix invalid assert in exporters
2017-01-26 10:24:09 +02:00
Martin Kojtal 0ea544f143 Merge pull request #3560 from theotherjimmy/refactor-ignores
Refactor scan resources to account for base_paths
2017-01-26 10:23:14 +02:00
javier-moreno-tridonic-com 8ff17b9235 Update memap.py 2017-01-23 17:02:15 +01:00
Brian Daniels 35137bbe42 Fixing printing for build step 2017-01-20 14:32:55 -06:00
Brian Daniels 8edc61d244 Breaking up clean command to avoid command limit 2017-01-20 13:21:06 -06:00
Brian Daniels a23b507c32 Fixing build function for gnuarmeclipse exporter 2017-01-19 18:30:07 -06:00
Brian Daniels 04bacc7d11 Enabling parallel builds by default 2017-01-19 18:29:44 -06:00
Liviu Ionescu dc6f9342ae gnuarmeclipse: fix windows paths 2017-01-20 00:46:00 +02:00
Jimmy Brisson 87ee33d56b Allow keyword arguments to jinja env from exporters gen_file 2017-01-19 08:00:03 -06:00
Jimmy Brisson 6230d78738 Fix undefined keys in CMSIS exporter 2017-01-19 04:02:29 -06:00
Jimmy Brisson 526e592de5 Fix all undefined key errors in iar exporter 2017-01-19 03:54:10 -06:00
Liviu Ionescu 36de50d28a Exporters: make jinja engine strict
- configure the jinja Environment to raise exception when substitution
variables are not defined
- trim spaces and lines, to avoid empty lines in generated files
2017-01-18 19:31:59 +02:00
Liviu Ionescu f82fa9310e Merge remote-tracking branch 'ARMmbed/master' 2017-01-18 19:13:25 +02:00
Liviu Ionescu 0c6381ff25 rename short named variables 2017-01-18 19:09:16 +02:00
Liviu Ionescu 4f17c95925 tentative build() implementation 2017-01-18 14:39:50 +02:00
Liviu Ionescu cc3fe4c73e all options parsed, build functional 2017-01-18 01:54:04 +02:00
Jimmy Brisson 4a08fd5112 Move sw4stm32 into its own dir 2017-01-17 14:47:36 -06:00
Jimmy Brisson beb9c6f4ec Move simplicity to its own dir 2017-01-17 14:47:19 -06:00
Jimmy Brisson 3489b14643 Use sys_libs from mbedToolchain in Makefiles 2017-01-17 13:57:37 -06:00
Jimmy Brisson 70aaaa9367 Move zip into its own dir 2017-01-17 12:39:39 -06:00
Jimmy Brisson 084c93b3b9 Move KDS to its own directory 2017-01-17 12:39:11 -06:00
Jimmy Brisson ad58ec47e0 Move e2studio into its own folder 2017-01-17 12:38:40 -06:00
Jimmy Brisson eda115dad9 Move atmelstudio to its own directory 2017-01-17 12:37:54 -06:00
Jimmy Brisson fdfbde8051 Move DS_5 into its own directory 2017-01-17 12:37:20 -06:00
Jimmy Brisson 13b2a95d3a Move coide into its own directory 2017-01-17 12:36:40 -06:00
Jimmy Brisson 17f691c54f Move codered to its own directory 2017-01-17 12:35:54 -06:00
Jimmy Brisson 81df273849 Move sys_libs into mbedToolchain class 2017-01-17 11:57:35 -06:00
Martin Kojtal 04a31f3b39 Merge pull request #3534 from sarahmarshy/export-debug
Turn on debugging by default when exporting. Remove optimizations for IAR and Uvision
2017-01-16 16:49:39 +00:00
Martin Kojtal e592c8a8b2 Merge pull request #3571 from jeromecoutant/PR_DISCO_F769NI
DISCO_F769NI introduction
2017-01-16 16:38:20 +00:00
ccli8 867decb4ee [NUC472/M453] Support exporting IAR project 2017-01-16 10:35:34 +08:00
Brian Daniels 938ac93496 Fixing toolchain executable not found error for build.py
Commit 19d56fd40f removed the default file
paths for the toolchains. This was done under the assumption that the
top-level compile scripts were properly checking that the toolchain
executable was availble. The build.py script was doing this in the wrong
place. This commit rearranges the script a bit so the check is performed
properly.
2017-01-13 14:13:31 -06:00
Jimmy Brisson 5ccd0153ee Correct revision compares 2017-01-13 12:14:20 -06:00
Jimmy Brisson c14a5b94ec Add docstrings 2017-01-13 12:01:26 -06:00
Jimmy Brisson 39a5caacab Refactor scan resources to account for base_paths 2017-01-13 12:01:19 -06:00
Russ Butler 7a8964af6f arm-pack-manager - fix tracebacks
Fix tracebacks from trying to read dictionary values that don't exist
and from incorrect variable names.
2017-01-13 11:54:27 -06:00
Liviu Ionescu 8266a76c22 convert windows paths to unix 2017-01-13 11:09:28 +02:00
Liviu Ionescu 725fe49a18 .cpproject: make include files discoverable by indexer
- make defined symbols discoverable by indexer (just to be sure)
2017-01-13 11:08:29 +02:00
Jimmy Brisson f2663876fc Inherit names from target parents 2017-01-12 15:34:29 -06:00
Russ Butler 06ca004bfa Fix invalid assert in exporters
Assert that the length is greater than one rather than the value
itself. This bug was introduced in the commit:
329be06ad0 -
"exporters - group by directories in prj root"
2017-01-12 11:25:09 -06:00
Liviu Ionescu 9e84338178 Compute source folders exclusions. 2017-01-12 18:10:56 +02:00
Anna Bridge ccab2c5dae Merge pull request #3562 from theotherjimmy/alpha-groups
Alphabetize UVision groups
2017-01-12 16:06:52 +00:00
Anna Bridge 209ac788c4 Merge pull request #3547 from SeppoTakalo/master
Add support for ethernet-only configuration with Nanostack.
2017-01-12 16:05:26 +00:00
Anna Bridge 236258bf05 Merge pull request #3546 from bcostm/dev_can_nucleo-f412zg
NUCLEO-F412ZG - Add CAN peripheral
2017-01-12 16:04:40 +00:00
Anna Bridge 6ed97abdd2 Merge pull request #3532 from janjongboom/eclipse-debug
Eclipse debug fixes (build w/ DEBUG=1 and load symbols)
2017-01-12 16:01:28 +00:00
Anna Bridge b8e80d8867 Merge pull request #3528 from adbridge/master
Modify update command to directly edit the mbed-os.lib files for each example
2017-01-12 16:00:29 +00:00
jeromecoutant 66c3f8ed44 DISCO_F769NI: Add analog loop test support 2017-01-12 15:38:05 +01:00
Liviu Ionescu ed513caae2 Make uids unique for each call
The initial {{uid}} was evaluated once. To force an evaluation for
each call, use an object property {{u.id}}.
2017-01-11 20:47:24 +02:00
Jimmy Brisson 2bf1f6bd04 Make the debug profile the default used for exporting 2017-01-10 15:33:33 -06:00
Sarah 54fd40f1da Turn off optimizations for uvision and IAR 2017-01-10 15:30:31 -06:00
Jimmy Brisson 27e4e7d8a8 Change sorting to ignore case 2017-01-10 15:30:03 -06:00
Jimmy Brisson 36e5fbf136 Asciiabetize the files within a group 2017-01-10 15:18:42 -06:00
Jimmy Brisson 4d6918bd27 Alphabetize UVision groups 2017-01-10 14:50:57 -06:00
Liviu Ionescu 81015928d9 Use NotSupportedException 2017-01-10 22:40:03 +02:00
Liviu Ionescu 8860007a3c Add GNU ARM Eclipse exporter 2017-01-10 21:36:20 +02:00
Russ Butler 329be06ad0 exporters - group by directories in prj root
Update exporter grouping code to group by directories in the root
of the project rather than by the parent directory of each file. This
reduces the number of groups and allows all mbed-os code to reside
in its own folder.
2017-01-10 11:42:36 -06:00
bcostm f6c93d3241 Remove automated flag for MBED_29/30 tests 2017-01-10 11:22:51 +01:00
bcostm ead72934ef Add CAN feature and activate CAN tests for this platform 2017-01-10 11:22:51 +01:00
Anna Bridge fb27b649c5 Review comments: Use os.rename rather that system mv command.
In prepare_fork(), change nested IF to neat command loop.
2017-01-09 17:56:20 +00:00
Sam Grove 3a326c0b94 Merge pull request #3521 from theotherjimmy/refurbish-embitz
Repair the Emblocks exporer and rename to EmBitz
2017-01-09 11:28:59 -06:00
Sam Grove ff49a8cdc1 Merge pull request #3538 from theotherjimmy/fix-export-tests
Remove deprecated clean argument
2017-01-09 10:33:35 -06:00
Sam Grove 1816f0b7dc Merge pull request #3537 from bridadan/remove_project_defaults
Remove default -m and -i options for project.py
2017-01-09 10:31:10 -06:00
Sam Grove 613b92af04 Merge pull request #3531 from bittailor/fix-include-paths-for-eclipse-export
Correctly format include paths for eclipse export
2017-01-09 10:30:00 -06:00
Seppo Takalo 1a5d6d7f19 Add support for ethernet-only configuration with Nanostack.
This saves about 100kB of flash when using ethernet only configuration.
Otherwise only border router configuration was supporting ethernet.
2017-01-09 18:26:56 +02:00
Sam Grove 2c6fe1fe06 Merge pull request #3518 from bridadan/fix_test_macros_with_app_json
Preventing app_config from clobbering CLI macros
2017-01-09 10:23:14 -06:00
Sam Grove 3019688406 Merge pull request #3513 from bcostm/rtos_nucleo-f412zg
NUCLEO_F412ZG - Add platform in RTOS tests + build_travis
2017-01-09 10:19:27 -06:00
Jan Jongboom 1a21696924 Eclipse: Symbols should also be loaded when starting a debug session 2017-01-08 11:15:32 +01:00
Brian Daniels d32e3d878d Remove default -m and -i options for project.py
Also moves the check for -m and -i before any file system actions are
taken (error faster)
2017-01-05 17:19:52 -06:00
Jimmy Brisson dacdbdcfe4 Remove deprecated clean argument 2017-01-05 17:16:00 -06:00
Franz Schnyder 75a61dfe78 Fix review requests
- Shorten variable name
- Use comprehension to format include paths
2017-01-05 18:17:46 +01:00
Franz Schnyder b668185339 Correctly format include paths for eclipse export
Eclipse CDT expects the include paths to include the project name like '/<project>/<include-path>' for workspace include directories.
See issue #3529.
2017-01-05 14:20:54 +01:00
Anna Bridge 01c39629fe Modify update command to directly edit the mbed-os.lib files for each
example specified in the supplied .json file, in a user specified fork.
A pull request is then made from each fork to the ARMmbed master repo.

New usage:
python update.py <args>
Where <args> are:
  [-c <file.json>] optional argument for example list, default
                   example.json
  -U <github user with forked repos>
  -T <github authorisation token>
  tag
2017-01-05 12:11:55 +00:00
Jimmy Brisson b8b4131a4a Repair the Emblocks exporer and rename to EmBitz
* Rename because the tool has been renamed
 * Removed duplicate symbol definitions
 * Removed common flags from ld flags (common are c/c++ only)
 * Moved EmBlitz to it's own folder
2017-01-03 15:17:23 -06:00
Brian Daniels 3baeb8a8a7 Preventing app_config from clobbering CLI macros 2017-01-03 13:27:12 -05:00
bcostm 442181976b Remove USB in build_travis test (USB is not supported right now on this platform) 2017-01-03 16:05:49 +01:00
bcostm 3e499e21e4 Add platform in RTOS tests + build_travis 2017-01-02 17:40:49 +01:00
Michel Jaouen 25c0d9034f USBHOST STM : add more board
NUCLEO : F411RE, L476VG, F746ZG
DISCO : L476VG
2017-01-02 09:51:48 +01:00
Michel Jaouen 83369045bd update build_travis.py 2017-01-02 09:48:17 +01:00
Michel Jaouen 815194a98b USBHOST : add mouse test 2017-01-02 09:48:17 +01:00
Michel Jaouen 72dae26774 USBHOST : test mass storage 2017-01-02 09:48:16 +01:00
Martin Kojtal e7361ebc44 Merge pull request #3365 from OpenNuvoton/nuvoton_usb
[NUC472/M453] Support USB device
2016-12-30 12:43:53 +01:00
Martin Kojtal 24cd5734dd Merge pull request #3483 from theotherjimmy/make-linker-error
Improve error message when exporting for make without a linker script
2016-12-30 12:34:09 +01:00
Martin Kojtal ae93db711c Merge pull request #3476 from bridadan/remove_default_toolchain_paths
Removing default toolchain paths
2016-12-23 13:14:57 +00:00
Martin Kojtal cb39663b2a Merge pull request #3486 from theotherjimmy/clean-export-fix
Move clean functionality out of the export api
2016-12-23 13:09:06 +00:00
Martin Kojtal 9d1b94714d Merge pull request #3439 from theotherjimmy/detect-targets-args
Remove unused arguments from detect targets
2016-12-21 15:07:11 +00:00
Martin Kojtal 08509e75df Merge pull request #3339 from jamike/USBAudio_CB_RX_TX
USB audio callback  rx and tx
2016-12-21 14:58:52 +00:00
Jimmy Brisson 18ad17666d Move clean functionality out of the export api
It was possible to remove an entire project if clean was specified on
the command line. That's a Bad Thing(tm).
2016-12-20 17:44:10 -06:00
Jimmy Brisson 63c650903c Improve error message when exporting for make without a linker script 2016-12-20 14:11:58 -06:00
Brian Daniels 19d56fd40f Removing default toolchain paths
This change was spurred by a confusing error. I attempted to compile for
the RZ_A1H (a Cortex-A device), and I had the standalone ARM compiler in
my system path, which supports Cortex-A. However, the default path for
the ARM compiler in settings.py uses a Keil installation, which only
supports Cortex-M. It found my Keil installation and used that instead.
This change proposes to remove this default behavior and instead
requires the user to explicitly set the intended compiler, either by a
settings file, mbed CLI, environment variables, or by placing the
compiler in your PATH.
2016-12-20 11:14:24 -06:00
Anna Bridge 1cc1891fac Merge pull request #3450 from bridadan/fix_example_filtering
Correctly filtering examples in test script
2016-12-19 17:52:47 +00:00
Anna Bridge 9e03765d04 Merge pull request #3422 from szechyjs/disco_f303vc_can
Enable CAN on DISCO_F303VC
2016-12-19 17:37:48 +00:00
Michel Jaouen 71f570fbc7 USB_8 : audio loopback test at 16khz stereo 16bits
- Callback TX and RX interface is used.
2016-12-16 15:16:56 +01:00
Brian Daniels 134d7743c3 Correctly filtering examples in test script.
If an example's GitHub repository contains multiple child examples, the
script was incorrectly filtering out all the child examples when
compiling and exporting. This patch now handles this case correctly.
2016-12-15 14:16:12 -06:00
Sam Grove 8966d1584b Merge pull request #3415 from bridadan/fix_make_echo
[make exporters] Adding quotes to echo statements
2016-12-15 10:31:34 -06:00
Sam Grove 92f2c380c7 Merge pull request #3414 from bridadan/remove_unnecessary_includes_libs
Remove unnecessary absolute paths from IAR and ARM compilers
2016-12-15 10:30:59 -06:00
Sam Grove 6849fd9c06 Merge pull request #3413 from theotherjimmy/iar-def-typo
Deduplicate IAR exporter templates and enable a few more targets
2016-12-15 10:30:22 -06:00
Sam Grove 18f31b7c99 Merge pull request #3385 from theotherjimmy/remove-flags-args
Remove deprecated flags args
2016-12-15 10:25:38 -06:00
Sam Grove 38411e917f Merge pull request #3366 from bcostm/dev_nucleo_f412zg
NUCLEO_F412ZG - Add new platform
2016-12-15 10:19:51 -06:00
Jimmy Brisson 23461ee399 Revise arguments to detect targets 2016-12-14 11:50:18 -06:00
Jimmy Brisson e29135ed1c Remove special case for RZ-A1H 2016-12-12 18:46:47 -06:00
Jimmy Brisson 80d47e21ff Remove special case template for F746ZG 2016-12-12 18:20:03 -06:00
Jimmy Brisson 2481c468ce Update IAR template and STM M7 part options 2016-12-12 15:00:05 -06:00
Jared Szechy 5fbfa53305 Add DISCO_F303VC to build_travis 2016-12-11 23:00:01 -05:00
Jared Szechy f5f3dc8143 Enable CAN on DISCO_F303VC 2016-12-11 22:03:29 -05:00
Brian Daniels 3975ff332d Adding quotes to echo statements
This fixes an issue when make is ran inside the Windows command prompt
2016-12-09 12:41:07 -06:00
Jimmy Brisson d9c8d1cdb8 Remove deprecated flags args
The tools will no longer accept `--cflags`, `--cppflags`, or
`--ldflags`. Instead, the ability to modify these flags is
provided by the `--profile` argument. Documentation for the
`--profile` argument may be found in
docs/Toolchain_Profiles.md
2016-12-09 12:08:52 -06:00
Brian Daniels 105a9b3ea6 Removing aboslute path to Dlib config for IAR compiler
This fixes an issue where the absolute path causes a file error if the
compiler paths are configured incorrectly. It uses a relative path
instead now (the files appears to be in the default search path).
2016-12-09 12:02:55 -06:00
Jimmy Brisson c638d2cdcb Fix typo in IAR definitions 2016-12-09 11:41:11 -06:00
Brian Daniels 8f649493a3 Removing extra paths for standard the library for the ARM compiler 2016-12-09 11:29:36 -06:00
Martin Kojtal 8f138fc27b Merge pull request #3355 from sarahmarshy/iar-no-cmsis
IAR export will not fail in the absence of a CMSIS pack
2016-12-09 15:33:33 +01:00
Martin Kojtal 89b56d6b3d Merge pull request #3347 from jamike/USB_4_GCC_IAR
USB_4 : test OK with IAR ,GCC_ARM(limitation to ARM not needed)
2016-12-09 15:33:05 +01:00
Martin Kojtal 9da9166691 Merge pull request #3331 from theotherjimmy/enable-exporters-examples
Enabled example export building for more examples
2016-12-09 15:31:25 +01:00
bcostm 73ff944ffd Remove NUCLEO_F412ZG from example linking_list 2016-12-09 09:40:22 +01:00
ccli8 8c0948d605 [NUC472/M453] Integrate with Travis CI
1. Add targets into build_travis.py and tests.py.
2. Add target SPI pins into SPI SD test samples.
3. Rename target TOOLCHAIN_GCC_ARM/retarget.c to avoid name collision of compiled retarget.o with platform/retargets.cpp.
2016-12-09 13:46:38 +08:00
bcostm f4fa08323b Remove usb in build_travis.py for this target (not supported for now) 2016-12-08 16:26:00 +01:00
bcostm 6787c14d97 Add platform in other python and json files 2016-12-08 15:57:05 +01:00
Sarah Marsh ab23c00b08 Catch specific exception for TargetNotSupported 2016-12-07 18:05:29 -06:00
Martin Kojtal 9a61ef0368 Fix DEBUG target keyword for GCC_ARM
Fixes mbed-cli#402 bug. -g flag was changed to g3, thus this caused
a regression in producing TARGET_DEBUG for GCC_ARM.
2016-12-06 11:32:45 +00:00
Jimmy Brisson 569808578a Enabled example exporting Filter ides by toolchains 2016-12-05 13:43:55 -06:00
Martin Kojtal 8fd363d19a Merge pull request #3349 from sarahmarshy/patch-7
[Exporters] Fix generic ARM CPU target in uvision
2016-12-02 15:52:38 +01:00
Martin Kojtal b08e1ec75e Merge pull request #3330 from theotherjimmy/correct-project-profiles
Fix project profile parsing
2016-12-02 15:50:07 +01:00
Sarah Marsh dc864132ab IAR export will not fail in the absence of a CMSIS pack 2016-12-02 10:46:38 +08:00
sarahmarshy abd948fa6d [Exporters] Fix generic ARM CPU target in uvision
Generic CPU target not found correctly, because it was not accessing the Cache's index.

@theotherjimmy
2016-12-01 10:55:28 +08:00
Michel Jaouen 5ee69dbc2e USB_4 : test OK with IAR ,GCC_ARM(limitation to ARM not needed) 2016-11-30 17:55:04 +01:00
Martin Kojtal 107d6bc358 Merge pull request #3306 from mazimkhan/uvisor-examples
Added examples uvisor-thread and uvisor-number-store
2016-11-29 18:24:11 +01:00
Martin Kojtal 257d6357ca Merge pull request #3283 from bridadan/remove-curl-references
Removing remaining references to Curl from ARM pack manager
2016-11-29 18:15:57 +01:00
Martin Kojtal b36025f988 Merge pull request #3274 from bridadan/fix-path-detection-test-building
Passing toolchain path info to subprocesses
2016-11-29 18:13:00 +01:00
Martin Kojtal 9da1ff5290 Merge pull request #3114 from sarahmarshy/uvision-filetype-fix
Fix issue with unrecognized uvision file types
2016-11-29 18:09:09 +01:00
Martin Kojtal 93c08f340a Merge pull request #3062 from jamike/TARGET_STM_USBDEVICE_FS
TARGET_STM :USB device FS
2016-11-29 18:07:11 +01:00
Jimmy Brisson 5fac67bcde Fix project profile parsing
thanks @sdive!
2016-11-28 14:53:26 -06:00
Mohammad Azim Khan 2ad2c309bc Removing target EFM32GG_STK3700 from uvisor examples 2016-11-23 15:22:31 +00:00
Mohammad Azim Khan 0b0db77a6e Removing target EFM32GG_STK3700 from uvisor examples 2016-11-23 14:00:03 +00:00
Martin Kojtal 9fdf7f775f Merge pull request #3295 from geky/gcc-g3
Add '-g3' flag to gcc debug flags
2016-11-22 22:14:20 +00:00
Martin Kojtal d215e4fa63 Merge pull request #3307 from theotherjimmy/import-sys-in-config
Add sys import to config
2016-11-22 22:13:43 +00:00
Michel Jaouen a34e0937fb build_travis.py : update for STM support 2016-11-22 10:52:15 +01:00
Jimmy Brisson 27f7aeef47 Add sys import to config 2016-11-21 11:26:21 -06:00
Mohammad Azim Khan e8048baa40 Added examples uvisor-thread and uvisor-number-store 2016-11-21 17:12:52 +00:00
Christopher Haster 83e5f272f6 Added '-g3' flag to gcc debug flags
Includes extra information, such as all the macro definitions present
in the program
2016-11-18 14:45:59 -06:00
Sam Grove f0e3ff4909 [exporters] update makefile build output directory to match mbed-cli and use the special reserved folder BUILD 2016-11-18 00:25:01 -06:00
Sam Grove 91361ec39a [tools] update default build directory from .build to BUILD 2016-11-18 00:23:25 -06:00
Sam Grove a6f5233f45 [exporters] update uvision teamplates so build artifacts end up in BUILD directory, not .build 2016-11-18 00:23:18 -06:00
Sam Grove 7297fdf3f6 [exporters] update iar teamplates so build artifacts end up in BUILD directory, not .build 2016-11-18 00:23:09 -06:00
Sam Grove 2fe28f0da1 [tools] update comments in memmap about build folder name 2016-11-18 00:22:58 -06:00
Sam Grove 6bee31eaad [exporters] make sure to clean .build and BUILD when testing uvision 2016-11-18 00:22:43 -06:00
Sam Grove 116d8dffdd [exporters] make sure to clean .build and BUILD when testing iar 2016-11-18 00:22:35 -06:00
Sam Grove 72cdf9d16f [exporters] iar build artifacts in BUILD directory, not .build 2016-11-18 00:22:21 -06:00
Sam Grove 0d3e9f0968 [exporters] make sure to clean .build and BUILD 2016-11-18 00:21:55 -06:00
Brian Daniels 57e693de86 Passing toolchain path info to subprocesses.
Since the toolchain path info lives as a global variable, its not
propigating to the subprocesses that are created to compile the tests in
parallel. This change manually passes these global variables and then
reassigns them.
2016-11-17 12:20:34 -08:00
Brian Daniels d7fbe2c109 Removing remaining references to Curl from ARM pack manager 2016-11-17 11:58:39 -08:00
Sam Grove 9d8ec61df5 Merge pull request #3258 from sarahmarshy/build_test_err
Prevent process pool inside of process pool when building tests
2016-11-14 21:54:24 -06:00
Sam Grove 68badb2a69 Merge pull request #3257 from bridadan/baudrate_in_test_spec
Baudrate in test spec
2016-11-14 21:53:32 -06:00
Sam Grove ef7c61820b Merge pull request #3229 from theotherjimmy/allow-deps-to-fail
[Tools - Toolchains] Allow dependency parsing to fail, gracefully continuing
2016-11-14 21:44:09 -06:00
ARM 9f39132d3b Prevent process pool inside of process pool when building tests 2016-11-10 14:41:19 -07:00
Brian Daniels e3ff8da6f0 Test spec baud_rate now set based on mbed config 2016-11-10 15:21:18 -06:00
Brian Daniels 088566b33e Correctly casting toolchain features to a set.
Before, the get_config function was checking the equality of a set and a
list. However the list's equality depends on order, so this change casts
it to set to prevent an infinite loop.
2016-11-10 15:20:30 -06:00
Anna Bridge f6f872a858 Merge pull request #3159 from radhika-raghavendran/master
User trim values for NCS36510
2016-11-10 17:06:54 +00:00
Anna Bridge e0c7d3b362 Merge pull request #3188 from theotherjimmy/fix-tests-export
[Exporters] Append targets to scan list for exporting tests
2016-11-10 17:06:22 +00:00
Anna Bridge 96b3590248 Merge pull request #3222 from theotherjimmy/make-print-executable
[Export - Make] Add message that informs the user which hex to flash
2016-11-10 17:01:20 +00:00
Jimmy Brisson c3915215e4 Allow dependency parsing to fail, gracefully continuing 2016-11-10 10:04:36 -06:00
Sam Grove e175f619b2 Merge pull request #3010 from nuket/fix-uvision-hpp
Add .hpp to list of Uvision Exporter extensions
2016-11-09 15:21:55 -06:00
Brian Daniels 119857ac77 Ignoring args parameter for functions that don't use them 2016-11-08 13:41:40 -06:00
Brian Daniels f1bb3f5930 Fixing issue with target_cross_ide 2016-11-08 12:51:38 -06:00
Brian Daniels 2fe1373cf1 Fixing use of get_repo_list in update function 2016-11-08 12:38:22 -06:00
Brian Daniels b739413526 Correcting example, toolchain, and ide filters 2016-11-08 12:37:14 -06:00
Radhika 63f5c9781d Configuration of user trim moved to targets.json 2016-11-08 17:29:32 +05:30
Jimmy Brisson def0a38c4b Add message that informs the user which hex to flash 2016-11-07 15:54:44 -06:00
Sarah Marsh 4bfd73a661 [Exporter tests] update mbed-os in selected examples 2016-11-07 11:10:52 -06:00
Sarah Marsh c231939a8d [Exporter tests] conditional intersection for targets 2016-11-07 11:09:36 -06:00
Sarah Marsh 4e2d3c42dd [Exporter tests] Implement filtering of targets and examples. 2016-11-07 11:09:36 -06:00
Brian Daniels 811e2b55e6 Adding MCU and example filter options to example test CLI 2016-11-07 11:04:18 -06:00
Sam Grove 79abaab02e Merge pull request #3208 from bridadan/examples-clone-deploy
[example tests] Adding a clone and a deploy step to allow optimizations in CI.
2016-11-07 10:32:23 -06:00
Brian Daniels b0d556b9c4 Adding a clone and a deploy step to allow optimizations in CI.
This adds an example clone and deploy step that allows you to modify
each top level repository before pulling in the rest of the example's
dependencies. This allows us to not pull in a copy of mbed-os for each
example in CI and instead symbolic link the already cloned copy, saving
valuable time and disk space
2016-11-04 17:35:36 -05:00
Sarah Marsh 76554fa8af [Exporter tests] Capable of testing export only to IDEs that do not have build functions 2016-11-04 15:53:41 -05:00
Sam Grove 03b8ae1811 Merge pull request #3200 from bridadan/exporter_build_subprocess_change
Using Popen for uVision and unifying the structure of the build function
2016-11-04 14:45:54 -05:00
Sam Grove 13676f064b Merge pull request #3189 from theotherjimmy/make-use-path
[Exporters - Make-based] Force make exporter to search PATH for compilers
2016-11-04 14:45:02 -05:00
Sam Grove 359413ef57 Merge pull request #3204 from sarahmarshy/patch-6
[Export build-test] Directory traversal error
2016-11-04 14:44:22 -05:00
Sam Grove 4a45761c08 Merge pull request #3195 from theotherjimmy/quote-shell-make
[Exporters - Make-based] Quote the shell call in mkdir and rmdir
2016-11-04 14:43:22 -05:00
sarahmarshy 804f27a8bd [Export build-test] Directory traversal error
Change indentation level for directory traversal, so that we only move up at the end of exporting one project for all ide/target combinations.
2016-11-04 14:09:40 -05:00
Brian Daniels 9d91566927 Using Popen for uvision and unifying the structure of the build function
across exporters
2016-11-04 11:14:32 -05:00
Sarah Marsh b1bdf71749 Fix issue with unrecognized uvision file types 2016-11-04 10:59:09 -05:00
Jimmy Brisson 688d55bd93 Quote make invocation too 2016-11-04 10:08:24 -05:00
Sam Grove f044786f22 Merge pull request #3187 from theotherjimmy/fix-eclipse-export
[Export-Make] Use internal class variable for resolving templates in makefiles
2016-11-03 18:48:13 -05:00
Jimmy Brisson 83fbbe8964 Quote the shell call in mkdir and rmdir
Allows the use of bash in windows
2016-11-03 15:38:55 -05:00
Sarah Marsh 406ddf0674 Exporter documentation 2016-11-03 11:53:23 -05:00
Sam Grove 2502a795b9 Merge pull request #3172 from sarahmarshy/export-test-rev
[Exporters] New export-build tests
2016-11-03 02:20:55 -05:00
Sam Grove 7d31512751 Merge pull request #3171 from bridadan/fix_exporter_supported
[tools] Fixing project.py -S printing problem
2016-11-03 02:18:39 -05:00
Sam Grove 4e1aea4fc9 Merge pull request #2958 from bridadan/mbed-app-config-testing
Allowing mbed_app.json files to be discovered for tests.
2016-11-03 02:11:38 -05:00
Jimmy Brisson 79bccc14a2 Force make exporter to search PATH for compilers 2016-11-02 17:16:35 -05:00
Jimmy Brisson a447807ed8 Append targets to scan list for exporting tests 2016-11-02 16:14:40 -05:00
Jimmy Brisson c2470e9710 Use internal class variable for resolving templates in makefiles
This allows other exporters to inherit from make and change the name of
the exporter without breaking.
2016-11-02 15:42:30 -05:00
Sarah Marsh 9624ccf2d5 Add boolean 'export' to examples.json.
This will determine whether the example should be exported. Additionally,
relocated export logic to examples_lib.py.
2016-11-02 10:30:10 -05:00
Martin Kojtal fe80efe1bb Merge pull request #3072 from jeromecoutant/PR_I2C_TESTS
i2c_loop tests update for STM32
2016-11-02 13:01:29 +00:00
Sarah Marsh cc154a48cd [Exporters] Build method documentation. Removal of unused Exception classes. 2016-11-01 15:03:31 -05:00
Sarah Marsh d8fc362c11 Make ArmPackManager cache a static variable (to avoid reading index.json for each target). 2016-11-01 15:03:31 -05:00
Sarah Marsh b9bac0516b [Exporter tests] changing variable names and respecting requirement kwargs 2016-11-01 15:03:31 -05:00
Sarah Marsh 986af0dd5e New export-build tests.
Allows command line workflow of:
mbed import
mbed export

Also revises exporter supported target checks
2016-11-01 15:03:31 -05:00
Sam Grove fa314e2589 Merge pull request #3048 from adbridge/master
Make update.py test compile examples prior to updating mbed-os version.
2016-11-01 14:14:23 -05:00
Sam Grove 6893535353 Merge pull request #3169 from bridadan/USB_Updates
[Update of #3014] Usb updates
2016-11-01 10:20:57 -05:00
Brian Daniels 5762f7c17e Updating IAR definition for the NCS36510 for IAR EW v7.8 2016-10-31 18:28:34 -05:00
Brian Daniels 67c2ea771a Fixing project.py -S printing problem
Printing too large of a string can fail in Windows, as detailed here:
https://bugs.python.org/issue11395. This works around the problem by
adding a print_large_string function that breaks up the string into
smaller pieces before printing it.
2016-10-31 15:39:38 -05:00
Brian Daniels edd6cac718 Adding Kinetis devices to mbed 2 tests and updating build_travis script 2016-10-31 12:42:15 -05:00
Mahadevan Mahesh 6750f488ed Add K64F, K22F and KL43Z to travis build
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-10-28 12:12:35 -05:00
Anna Bridge 479e203dce Switch off compilation of wifi example while awaiting a fix for
issue 3152 is submitted.
2016-10-28 16:10:41 +01:00
Anna Bridge c60b19e27c Remove superfluous debugging line. 2016-10-28 15:20:36 +01:00
Radhika eaf7265aa6 User trim added.
Astyle and pylint run on code.
2016-10-28 15:02:52 +05:30
Martin Kojtal 51fc2ce4a5 Merge pull request #3139 from bulislaw/arduino_ff
Handle [NOT_SUPPORTED] exception in make.py
2016-10-28 10:15:19 +02:00
Martin Kojtal bd4eca325b Merge pull request #3024 from jeromecoutant/PR_analog_loop
analog_loop tests update for STM32
2016-10-27 11:02:10 +02:00
Bartek Szatkowski aa3a127c76 Handle [NOT_SUPPORTED] exception in make.py
That let us to ignore build failures for examples on not supported
platforms.
2016-10-27 09:45:55 +01:00
Anna Bridge a5d3d2056b Update ble example meta data to fix unsupported compilation combinations.
Remove URI beacon example as this is no longer required.
Add specific set of supported targets.
2016-10-26 16:24:42 +01:00
Martin Kojtal 4198222c54 Merge pull request #3005 from c1728p9/build_profiles
New build profile and docs
2016-10-26 15:16:01 +02:00
Martin Kojtal 53cd23e285 Merge pull request #3097 from theotherjimmy/pack-manager-urllib2
Arm-Pack-Manager Remove pycurl dependency
2016-10-26 14:48:05 +02:00
Anna Bridge 045b7d412d Minor review comments plus add new 'compile' option to examples json file.
Adding the new compile option allows the marking of a set of examples to
indicate whether they should be compiled or not. For the update process
examples that are not compiled will not be auto updated irrespective of
that setting.
Other changes to make return logic from some functions in update.py more
efficient and some typos in the lib file.
2016-10-25 12:37:29 +01:00
Martin Kojtal a0ca7eba07 Merge pull request #3092 from bridadan/parallelize-iar-build-system
[tools + tests] Adding parallelized build option for iar and uvision exporters
2016-10-24 18:26:07 +02:00
Jimmy Brisson 800792a42e Remove pycurl dependency 2016-10-20 16:24:47 -05:00
Brian Daniels d192491191 Making IAR exporter build test parallelized 2016-10-20 16:11:03 -05:00
Jimmy Brisson 7b15984483 Update pack-derived files, and add safely test 2016-10-20 09:37:02 -05:00
Martin Kojtal 9fce16dddf Merge pull request #3061 from theotherjimmy/makefile-lib-fix
Exporters: Use correct names for library files in makefile exporter
2016-10-20 11:02:24 +01:00
Sam Grove ff2a7db3f2 Merge pull request #3067 from theotherjimmy/checkin-pack-index
Arm-Pack-Manager - Checkin pack index
2016-10-19 16:49:59 -05:00
Jimmy Brisson 1a4dabd65d Account for different linker flags across the compilers 2016-10-19 14:21:11 -05:00
Jimmy Brisson f812deed24 Remove dependency on XDG home spec 2016-10-19 12:07:37 -05:00
Jimmy Brisson 8f19672530 Add update command to project.py 2016-10-19 12:05:10 -05:00
Martin Kojtal 03fc9f4c92 Merge pull request #3070 from theotherjimmy/iar-debugging
Exporters - Update the IAR debug template to version 7.70.1
2016-10-19 13:21:28 +01:00
Martin Kojtal 1339f0dede Merge pull request #3060 from theotherjimmy/sw4stm32-fix
[exporters] Fix traceback in SW4STM32 from incorrect use of core
2016-10-19 13:10:54 +01:00
Sam Grove d6831b3386 Merge pull request #3063 from theotherjimmy/make-srec-print
[Exporters] Add quick print to the makefile when srec_cat is required
2016-10-19 05:51:04 -05:00
Sam Grove 9138f62742 Merge pull request #3052 from theotherjimmy/name-eclipse-exporters
Exporters - Name the eclipse exporters and remove relpath computations
2016-10-19 05:49:46 -05:00
Sam Grove 44eca95c3d Merge pull request #3028 from maclobdell/ncs36510_exporter_definitions
add ncs36510 exporter support for IAR
2016-10-19 05:47:13 -05:00
Sam Grove 5bcebba71d Merge pull request #3023 from jeromecoutant/PR_digital_loop_tests
digital_loop tests update for STM32
2016-10-19 05:46:22 -05:00
Sam Grove 435d5fb3bb Merge pull request #2992 from jeromecoutant/PR_Init_Time_Issue
Increase serial init timeout value
2016-10-19 05:42:20 -05:00
Sam Grove 6bd44c59d3 Merge pull request #2990 from bridadan/parallel-test-build
[tools] Parallel building of tests
2016-10-19 05:41:24 -05:00
jeromecoutant ae9041b12c i2c_loop tests update for STM32 2016-10-19 11:15:38 +02:00
jeromecoutant 78b4f25b5c analog_loop test - keep mcu list and update with STM32 boards 2016-10-19 09:54:23 +02:00
Jimmy Brisson a9d63b2365 Update the IAR debug template" 2016-10-18 16:00:58 -05:00
Jimmy Brisson 167ed2bc12 check in a copy of the arm-pack-manager index and use it 2016-10-18 13:56:17 -05:00
Jimmy Brisson 18b34794be Add quick print to the makefile when srec_cat is required 2016-10-18 10:58:51 -05:00
Jimmy Brisson 7a8917fcf8 Use correct names for library files 2016-10-18 10:30:46 -05:00
Jimmy Brisson 25ca0e3cfb Fix traceback from incorrect use of core 2016-10-18 10:29:37 -05:00
Russ Butler 23af2421f3 Remove non-code profiles
Remove profiles which are not suitable for building stand alone. This
leaves just the 3 core profiles.
2016-10-18 09:23:10 -05:00
Russ Butler 0d51f18f02 New build profile and docs
Add a small build profile and general docs for build profiles.
2016-10-18 09:23:01 -05:00
Anna Bridge 36964561b9 Review: Update example_lib.py to use rmtree rather than rm system call.
Update examples.json to limit TLS examples to a couple of boards and only
GCC_ARM and ARM compilers.
2016-10-18 12:30:19 +01:00
Martin Kojtal 9976738882 Merge pull request #3047 from sarahmarshy/iar-defines
Remove k64f defines from IAR templates
2016-10-18 10:45:14 +01:00
Jimmy Brisson c64446dc39 Remove unneeded relpath calculations 2016-10-17 14:51:28 -05:00
Jimmy Brisson 2912522930 Exporters - Name the eclipse exporters 2016-10-17 14:35:26 -05:00
Anna Bridge bbfa954839 Make update.py test compile examples prior to updating mbed-os version.
Changes:
Refactor examples.py to add a new command line option to provide an update
tag.
Refactor examples.py to add new functionality to update the version of
mbed-os in the examples to a supplied tag.
Refactor examples.py to make cloning the example repos, updating their
mbed-os version and compiling, into library functions and move to a new
library module.
Refactor the format of the examples.json file to make it compatible with
both examples.py and update.py.
Refactor update.py so that examples are test compiled prior to updating.
Refactor update.py so that only examples tagged as auto-updatable and that
fully compile are automatically updated.
2016-10-17 16:56:28 +01:00
Sarah Marsh e001dd1080 Removed k64f defines from templates 2016-10-17 10:52:58 -05:00
maclobdell 014df32625 add ncs36510 exporter support 2016-10-14 11:45:24 -05:00
Sam Grove 9f74038036 Merge pull request #2991 from c1728p9/fix_small_default_lib
Properly set flags for default_lib = small
2016-10-13 11:13:30 -05:00
Sam Grove 4be4113810 Merge pull request #2985 from sarahmarshy/nrf52-support
NRF52_DK support for IAR exporter
2016-10-13 11:12:43 -05:00
Max Vilimpoc 7faee9099e Add .hpp to list of Uvision Exporter extensions 2016-10-13 13:12:18 +02:00
Russ Butler 9f6b346c88 Properly set flags for default_lib = small
Use newlib nano for targets which have the key "default_lib" set to
"small". Also support the legacy key of "default_build".
2016-10-12 20:36:09 -05:00
Sam Grove 1ba3499631 Merge pull request #3003 from c1728p9/fix_memory_map
Revert "Allow max-depth specification in memap"
2016-10-12 17:25:12 -05:00
Russ Butler 7a50832550 Revert "Allow max-depth specification in memap"
This reverts commit 8f9f4eefed since
it broke memory map info for IAR, ARMCC and on windows, GCC_ARM.
2016-10-12 14:49:32 -05:00
jeromecoutant dee753735d analog_loop tests update for STM32 2016-10-12 10:38:03 +02:00
jeromecoutant e0ddd59fdd digital_loop tests update for STM32 2016-10-12 10:07:27 +02:00
Brian Daniels 39086722e8 Removing dependency on StringIO, only change return type of table export 2016-10-11 18:38:52 -05:00
Brian Daniels 0e4b841cb3 Removing need for memap to printed through toolchains 2016-10-11 18:24:01 -05:00
Brian Daniels 655c37715c Handling output of parallelized test building.
This makes use of the reports generated by the building of tests to
prevent output from interleaving when the build is parallelized. This
required some changes to memap to return a generated string from
the 'generate_output' function. I also had an option to stop the prints
from memap to prevent text from interleaving
2016-10-11 15:34:20 -05:00
Brian Daniels 14aff069b1 Modifying behavior of 'silent' option in toolchains
The 'silent' option has always been present in the toolchains API, however
it did not actually stop anything from being printed. Instead, it just
changed what was added to the build log. This make the 'silent' stop all
prints, but ensures that the output for the toolchain is still preserved
and accessible via the 'get_output' function.
2016-10-11 14:31:06 -05:00
Bartek Szatkowski 3af2c5ae14 Accept profile name as well as file path for tools/make.py --profile
--profile can be used with just a profile name eg. default, debug as
long as <name>.json file is in default profile directory.
2016-10-11 13:33:37 -05:00
Brian Daniels 87103abd56 Making building and linking tests fully parallel.
This uses similar code that is used withing the toolchains to parallelize
the linking process of all the tests accross all the available CPUs. It
also respects the `-j` parameter if you wish to limit the number of cores
used.
2016-10-11 13:24:50 -05:00
Sarah Marsh 246335af92 NRF52_DK support for IAR exporter 2016-10-11 18:25:07 +01:00
Sam Grove c0c2563580 Merge pull request #2964 from bulislaw/fix_csv_quoting
Fix file path quoting while constructing CSV file in memmap.py
2016-10-10 10:35:44 -05:00
jeromecoutant 62160b7685 Increase serial init timeout value 2016-10-10 15:37:54 +02:00
Sam Grove eee4db1fe0 Merge pull request #2896 from geky/restructure-cmsis
restructure - Restructure cmsis directory
2016-10-07 11:13:09 -05:00
Bartek Szatkowski a7d9dbec69 Fix file path quoting while constructing CSV file in memmap.py
Comma is a valid char in file paths for Posix systems.
2016-10-07 16:33:43 +01:00
Brian Daniels f3d20141a3 Allowing mbed_app.json files to be discovered for tests.
Before, mbed_app.json files were explicitly ignored when building tests.
This was mostly because you could have multiple mbed_app.json files in the
tree (for instance, in test case folders) and the behavior would be
undefined. Now the tools explicitly ensure that there aren't multiple
mbed_app.json files in your source files. So auto discovery of
mbed_app.json for testing is being reintroduced.
2016-10-06 17:40:25 -05:00
Sam Grove 41323855ec Merge pull request #2918 from theotherjimmy/memap-improvements
Allow max-depth specification in memap
2016-10-06 15:57:39 -05:00
Sam Grove 3a16ca9855 Merge pull request #2911 from theotherjimmy/docs-generation
[Tools] Add documentation generation script
2016-10-06 15:57:08 -05:00
Sam Grove 76fb1f8c3f Merge pull request #2708 from sarahmarshy/uvision-and-iar
[Exporters] Refactor Uvision and IAR and initial support of CMSIS projects
2016-10-06 15:54:00 -05:00
Michel Jaouen 144e97bf63 [IAR build] fix debug build
with option  --profile ./tools/profiles/debug.json
2016-10-06 16:16:14 +02:00
Jimmy Brisson 8f9f4eefed Allow max-depth specification in memap 2016-10-05 12:36:30 -05:00
Christopher Haster 2a58befd15 restructure - Fixed missing include paths in mbed 2 project builds 2016-10-05 11:06:27 -05:00
Sarah Marsh e8b34282cb Minor formatting changes 2016-10-04 19:34:52 -05:00
Christopher Haster 2be7207388 restructure - Fixed missing symbols in generation of mbed 2 cmsis library 2016-10-04 17:51:44 -05:00
Christopher Haster 96b4ff3358 restructure - Updated mbed 2 build to respect the new cmsis directory 2016-10-04 17:51:44 -05:00
Sarah Marsh 51b13c3ca7 -Oh flag removed from IAR. Optimization set in GUI. 2016-10-04 15:07:41 -05:00
Jimmy Brisson 9261ed4161 Remove tag-adding code from script 2016-10-04 15:03:17 -05:00
Jimmy Brisson 2cea844199 Automatically Add group tags to documented code 2016-10-04 15:02:33 -05:00
Jimmy Brisson e19d04ad31 Move docs_gen.py script to tools/misc 2016-10-04 14:41:18 -05:00
Jimmy Brisson 9dffa04894 Add inside namespaces 2016-10-04 14:41:18 -05:00
Jimmy Brisson 51fdce3eff Switch how we do groups 2016-10-04 14:41:17 -05:00
Jimmy Brisson 2959acd94c Automatically add groups from features 2016-10-04 14:41:17 -05:00
Jimmy Brisson 77c7524471 Add simple documentation generation 2016-10-04 14:41:17 -05:00
Sarah Marsh fd86fef205 [uvision] Flash DLL string/debug
Versioning for arm-pack-manager
2016-10-04 14:26:45 -05:00
Sarah Marsh 2a907d296d Fix Uvision CPU type error for DP and FPU targets. 2016-10-04 14:13:36 -05:00
Sarah Marsh b861c36e41 Removed IAR export support for invalid IAR targets.
Fixed naming of one target selection.
2016-10-04 14:13:36 -05:00
Sarah Marsh 9bec4181d9 Uvision FPU setting added to template 2016-10-04 14:13:36 -05:00
Sarah Marsh 4bc70c0c5f Remove static destruction flag 2016-10-04 14:13:36 -05:00
Sarah Marsh fa148578d2 Uvision5 => Uvision or Uvision5 2016-10-04 14:13:36 -05:00
Sarah Marsh ab050a2319 Cpu type set in uvision template 2016-10-04 14:13:36 -05:00
Sarah Marsh b074ee14c2 IAR debugging and docstrings 2016-10-04 14:13:36 -05:00
Sarah Marsh ce1939b74f Remove : from vendor info in cmsis pdsc 2016-10-04 14:13:36 -05:00
Sarah Marsh 9a02bfb7a3 Additional device names. mbed_targets.md update 2016-10-04 14:13:36 -05:00
Sarah Marsh 8ca7ff2f5b .lst file goes to hidden .build for uvision5 2016-10-04 14:13:36 -05:00
Sarah Marsh 09c5be5921 Buid logs print with no new lines 2016-10-04 14:13:36 -05:00
Sarah Marsh fa13cd2d57 Iar nucleo template referenced correctly 2016-10-04 14:13:36 -05:00
Sarah Marsh a9d1dd005f Build tests clean and logging revision 2016-10-04 14:13:36 -05:00
Jimmy Brisson 072128b29c Integrate arm_pack_manager with exporters 2016-10-04 14:13:36 -05:00
Sarah Marsh bb185476e2 arm_pack_manager - Retrieve debug adapter. Strip URLS 2016-10-04 14:13:36 -05:00
Jimmy Brisson b9cadfb8cd arm_pack_manager - Remove extra print; make url joining work on windows 2016-10-04 14:13:36 -05:00
Jimmy Brisson 3847aaa545 arm_pack_manager - Add alias file 2016-10-04 14:13:36 -05:00
Sarah Marsh a25d453dae arm_pack_manager - Specific device info overrides family/subfamily info 2016-10-04 14:13:36 -05:00
Sarah Marsh 6a4b392de5 arm_pack_manager - Multi-level processor and compile elements search 2016-10-04 14:13:36 -05:00
Sarah Marsh e1f1a5edc6 arm_pack_manager - Added caching target vendor and processor(clock, fpu, endinanness) 2016-10-04 14:13:36 -05:00
Jimmy Brisson 2240a3a019 arm_pack_manager - Try really hard to fill the processor dict 2016-10-04 14:13:36 -05:00
Jimmy Brisson 39c1703c75 arm_pack_manager - [API change] differentiate between pack and pdsc loading from cache
- pull_from_cache renamed to pdsc_from_cache
 - pack_from_cache added
 - index file member replaced with pdsc_file
 - pack_file member added to cache
2016-10-04 14:13:36 -05:00
Jimmy Brisson 6b2595af61 arm_pack_manager - Add --and, --or, --intersection, and --union options
These change the behavior of the search terms.
2016-10-04 14:13:36 -05:00
Jimmy Brisson b05964abbe arm_pack_manager - Simplify find_device 2016-10-04 14:13:36 -05:00
Jimmy Brisson b840a1b58f arm_pack_manager - Update find parts for new flash alogrithm api 2016-10-04 14:13:36 -05:00
Jimmy Brisson ece1de343b arm_pack_manager - Update docstrings for extra flash algorithm info 2016-10-04 14:13:36 -05:00
Jimmy Brisson 15b7381edd arm_pack_manager - Add more info to flash algorithm 2016-10-04 14:13:36 -05:00
Jimmy Brisson 9cf4f0d074 arm_pack_manager - Add Descritpion of subcommands 2016-10-04 14:13:36 -05:00
Jimmy Brisson 6c13576851 arm_pack_manager - Add Documentation 2016-10-04 14:13:36 -05:00
Jimmy Brisson 02995467a7 arm_pack_manager - Adds an dump parts command 2016-10-04 14:13:36 -05:00
Jimmy Brisson cdc064913a arm_pack_manager - Refactors cli out of __init__.py and adds it as a command 2016-10-04 14:13:36 -05:00
Jimmy Brisson 677b847e2b arm_pack_manager - added a cache by part cammand 2016-10-04 14:13:36 -05:00
Jimmy Brisson efffa2ad79 arm_pack_manager - searching is now indexed and much faster 2016-10-04 14:13:36 -05:00
Jimmy Brisson d3017f4479 arm_pack_manager - commands added. uses fuzzy search to find things 2016-10-04 14:13:36 -05:00
Jimmy Brisson 687a9ba652 arm_pack_manager - refactored Cache into class and downloaded pack files 2016-10-04 14:13:36 -05:00
Jimmy Brisson 44980ab009 arm_pack_manager - caches packs now too. 2016-10-04 14:13:36 -05:00
Jimmy Brisson 0832770159 arm_pack_manager - now we have a cache 2016-10-04 14:13:36 -05:00
Jimmy Brisson 01ee8cbeaf arm_pack_manager - ya gotta start somewhere 2016-10-04 14:13:36 -05:00
Sarah Marsh 45ad394ca6 New build tests.
*Changes*
- Parallel export
- mbed-os tests added
- specified release version (default to 5)
- default tests AND targets dependent on specified release version
2016-10-04 14:13:36 -05:00
Sarah Marsh db696f8f4a Remove progen and progen def dependencies. 2016-10-04 14:13:36 -05:00
Sarah Marsh fdd7820832 IAR revision 2016-10-04 14:13:36 -05:00
Sarah Marsh 6fd1c77727 Refactor uvision. Add support for CMSIS project files 2016-10-04 14:13:36 -05:00
Sarah Marsh 448205ac87 device_name in targets.json. Removed progen target 2016-10-04 14:13:01 -05:00
Sam Grove 5713435d02 Merge pull request #2895 from bridadan/build-test-fix
[Exporters] Resolving Python errors and uVision build issues
2016-10-03 18:59:36 -05:00
Sam Grove 79fbf94d9c Merge pull request #2893 from theotherjimmy/toolchain-test-cleanup
[Tests] Prevent garbage generation from toolchain api test
2016-10-03 17:22:00 -05:00
Jimmy Brisson fe1cd87724 Remove flags safely in uvisions 2016-10-03 16:19:30 -05:00
Brian Daniels 4965e61616 Adding build_profiles to export in build_test.py 2016-10-03 16:02:34 -05:00
Brian Daniels 0c76ba54ff Fixing python import errors 2016-10-03 16:02:33 -05:00
Sarah Marsh 6998524c00 Resolve issues from reorg 2016-10-03 16:02:32 -05:00
Jimmy Brisson 6209aff482 Prevent garbage generation from toolchain api test 2016-10-03 15:15:08 -05:00
Sam Grove 765fbbbc2c Merge pull request #2842 from svastm/sw4stm32_use_targets_json
SW4STM32 - Use targets.json to find fp config
2016-10-03 11:11:38 -05:00
Martin Kojtal 6f3c62f3ae Merge pull request #2880 from andreaslarssonublox/change_name_for_ublox_c029_target
Changed name for the target UBLOX_C029 to UBLOX_EVK_ODIN_W2
2016-10-03 15:51:55 +01:00
Bartek Szatkowski ea569e8342 Fix json syntax in debug.json profile file 2016-10-03 14:08:29 +01:00
andreas.larsson 1d3c63d9bb Changed name for the target UBLOX_C029 to UBLOX_EVK_ODIN_W2 2016-10-03 12:10:50 +02:00
Sam Grove 646cc89a62 Merge pull request #2878 from geky/restructure
Restructure directory layout
2016-10-02 14:04:25 -05:00
Christopher Haster b8fb7a6e3c restructure - Changed legacy build_lib to respect lib name in path 2016-10-01 19:43:22 -05:00
Sam Grove cf60b189b0 Merge pull request #2879 from bridadan/fix-config-tests-ipv6
Renames IPV6 feature used in config test to STORAGE
2016-10-01 17:22:38 -05:00
Christopher Haster a7ddc46caf restructure - Added single-nested inc_dir support to legacy build_lib
Added single-nested include directories to libraries built with the
legacy build_lib function. Unfortunately, to get this working without
a significant rewrite of the legacy build tools, library header files
are just duplicated in the precompile stage.
2016-10-01 14:58:13 -05:00
Christopher Haster e35050d61b restructure - Reverted move of requirements.txt
- Reverted requirements.txt for external dependency in mbed CLI
- Fixed MBED_CONFIG_FILE in paths.py
- Fixed MBED_LIBRARIES in paths.py
- Decreased include namespace for rtos.h
2016-09-30 19:18:09 -05:00
Christopher Haster 03bbc86dd6 restructure - Added FEATURE_LWIP to __allowed_features 2016-09-30 19:18:09 -05:00
Christopher Haster 960d69f081 restructure - Updated tools to point to restructured modules
MBED_HAL       /hal/hal      x
MBED_API       /hal/api      x
MBED_COMMON    /hal/common   x
MBED_TARGETS   /hal/targets  ->  /targets
MBED_DRIVERS                  +  /drivers
MBED_PLATFORM                 +  /platform
MBED_HEADER                   +  /mbed.h
2016-09-30 19:18:09 -05:00
Christopher Haster c0ffbc11e2 restructure - Removed misplaced metadata from top-level directory 2016-09-30 19:18:09 -05:00
Sam Grove 23f70906eb Merge pull request #2845 from javier-moreno-tridonic-com/feature-detailed-memap
[Tools] Added -d (--detailed) paremeter to unfold 'Misc' contents in memap.py table
2016-09-30 18:54:45 -05:00
Brian Daniels 7a59747974 Renames IPV6 feature used in config test to STORAGE 2016-09-30 18:37:09 -05:00
Sam Grove 872363d809 Merge pull request #2854 from theotherjimmy/find-duplicates
[Tools] Find and report duplicates
2016-09-30 18:30:00 -05:00
Brian Daniels 64d09e1879 Adding uARM support default build profiles 2016-09-30 17:24:11 -05:00
Brian Daniels e0b0ad05cb Adding build profiles configuration to build_release.py and singletest.py 2016-09-30 16:54:34 -05:00
Jimmy Brisson 2b36d2de5c Moved detailed memap parameter to consturctor 2016-09-30 15:44:20 -05:00
Sam Grove f738351c61 Merge pull request #2859 from theotherjimmy/print-percent
Correct percent printing
2016-09-30 15:38:36 -05:00
Jimmy Brisson 5eed4f29d7 Add a test of find duplicates 2016-09-30 15:24:56 -05:00
Sam Grove 20756cbf77 Merge pull request #2860 from ARMmbed/event_loop_mbed_events_new
Event loop with mbed-events
2016-09-30 15:24:24 -05:00
Sam Grove b3522fe9d4 Merge pull request #2855 from bridadan/handle-exceptions-better
[Tools] Handling Exceptions better when building tests
2016-09-30 15:23:08 -05:00
Jimmy Brisson 5f8fbac56f Add documentation of exposed functions 2016-09-30 15:14:22 -05:00
Jimmy Brisson e012185602 Use toolchain notify for printing when finding dupes 2016-09-30 15:14:22 -05:00
Jimmy Brisson 9bf20486ec Stop using .Super_Target for detecting duplicates 2016-09-30 15:13:53 -05:00
Jimmy Brisson 9f7c82a37f Deduplicate find-duplicate functionality 2016-09-30 15:13:53 -05:00
Jimmy Brisson a85a384973 Add duplicate detection to project compilation 2016-09-30 15:13:53 -05:00
Jimmy Brisson 0abd5191e8 Treat c, cpp, and assembly as if they are also object files 2016-09-30 15:11:18 -05:00
Jimmy Brisson 9b187dcceb Add SUPERTARGET! Use scan_resources to find duplicates 2016-09-30 15:11:18 -05:00
Jimmy Brisson 685e2c52e2 Add a git hook script that will list all duplicate files within the directories specified 2016-09-30 15:11:18 -05:00
Jimmy Brisson 9d905a2914 Add regression test for correct percent emitting 2016-09-30 15:09:54 -05:00
Jimmy Brisson e2b248a4aa Correct percent printing 2016-09-30 15:09:54 -05:00
Sam Grove dd54f7bf43 Merge pull request #2868 from bridadan/copy-config-json-mbed-lib
[Tools] Copying main config json file for mbed lib builds
2016-09-30 15:03:38 -05:00
Sam Grove 761ec4423b Merge pull request #2856 from bridadan/fixing-missed-build-error-prints
[Tools] Making all toolchains print final compiler message
2016-09-30 15:01:20 -05:00
Sam Grove 1047ab4562 Merge pull request #2834 from bridadan/memap-consolidate
[tools] Making memap output consistent across output formats
2016-09-30 14:59:31 -05:00
Sam Grove 64d9665078 Merge pull request #2833 from sarahmarshy/eclipse-ref
[Exporters] Add support for Eclipse Export
2016-09-30 14:58:22 -05:00
Sam Grove ddc823a722 Merge pull request #2802 from theotherjimmy/toolchain-profiles
[Tools] Add simple build profiles to toolchains
2016-09-30 14:57:12 -05:00
Christopher Haster b789a6a9db Removed examples tests for BLE
As mbed-events is being brought into the mbed-os tree, the examples
using the external mbed-events library will fail due to duplicate
definitions.

The tests for BLE examples will be readded after the examples are
updated to only use the mbed-events library in the mbed-os tree.
2016-09-30 13:38:58 -05:00
Jimmy Brisson 7348b0131b Add Debug or Release to labels depending on flags
This is a policy decision and it should /really/ be in the config system
ATM it's here for backward compatibility
2016-09-30 13:01:16 -05:00
Sarah Marsh 3cf4d02293 [Eclipse] pyocd settings renamed 2016-09-30 10:15:26 -05:00
Javier Gomez Moreno e0e25c1bed The parameter is now stored in an object variable instead of a global variable 2016-09-30 08:45:20 +02:00
Brian Daniels 69448d7d8d Copying main config json file for mbed lib builds 2016-09-29 16:08:16 -05:00
Jimmy Brisson 73e811a9a0 Fix style of implementation of toolchain profiles 2016-09-29 10:20:05 -05:00
Jimmy Brisson fd04ea2125 Added property based regression test to travis 2016-09-29 10:20:05 -05:00
Jimmy Brisson d88852d150 Replace -o with profiles 2016-09-29 10:20:05 -05:00
Jimmy Brisson df32effd8a Add profiles for default, nanolib, and debug 2016-09-29 10:20:03 -05:00
Seppo Takalo f91d8eb4c3 Add Nanostack configurations 2016-09-29 13:52:15 +03:00
Brian Daniels abb6d2681e Adding memap tests and adding to travis ci 2016-09-28 17:27:25 -05:00
Jimmy Brisson ceda396e18 Add simple build profiles to toolchains 2016-09-28 17:25:24 -05:00
Brian Daniels 10534019b9 Making all toolchains print final compiler message.
This functionality was already present in the ARM toolchain script, but
this commit adds this across all toolchain scripts. Solves an issue that
cropped up where a build error wasn't being printed unless the verbose
flag was used. This should now print any existing error messages that have
been printed when the compiler output is being parsed.
2016-09-28 14:42:35 -05:00
Brian Daniels cadcc80371 Handling Exceptions better when building tests
Previously, when building tests with test.py, if an exception occurred, the
error message would be masked by the function 'build_tests'. This commit
handles NotSupportedExceptions and ToolExceptions, but lets all other
Exceptions propigate up to the caller function. In most cases, this is the
CLI scripts, which will print a traceback. This will allow us to better
debug the python tools if errors occur.
2016-09-28 14:13:23 -05:00
Brian Daniels 1448aa5770 Limiting uvisor example to just GCC_ARM toolchain 2016-09-28 13:09:11 -05:00
Brian Daniels 53ecfdb856 Adding the ability to filter examples by toolchains
This change was driven by the fact that certain
examples only support a subset of the toolchains.
2016-09-28 13:04:14 -05:00
Javier Gomez Moreno f8af872870 Added -d paremeter to unfold 'Misc' contents in memap.py 2016-09-28 11:58:27 +02:00
svastm 4226a17d6f SW4STM32 - Use targets.json to find fp config 2016-09-28 10:26:26 +02:00
Sam Grove f22d5a7415 Merge pull request #2811 from bcostm/fix_sw4stm32_exporter_fpu
Fix sw4stm32 exporter fpu
2016-09-27 21:54:10 -07:00
Sam Grove 816f028c5a Merge pull request #2756 from theotherjimmy/export-bld-dir
exporters - Add .bld directories to exported project
2016-09-27 21:52:57 -07:00
Brian Daniels e8b06874a3 Making memap output consistent across output formats
This commit fixes an issue where the output from memap.py was not
consistent across all output formats. This issue stemmed from the fact
that a few important calculations were being performed at output
generation time. This has been moved to the 'parse' function and saved for
future use by the 'generate' functions.

Because this commit saves more data to the MemapParser instance, there
were some name collisions. The public member 'mem_summary' has been
renamed to 'mem_report'. 'mem_report' contains the data structure used by
the json generator. This includes both the section data and the memory
summary. The 'mem_summary' member now just contains the summary. The
summary includes total allocated heap, total static RAM, etc.
2016-09-27 16:51:16 -05:00
Sarah Marsh a8213e7441 ARMC5 pyocd settings do not load executable 2016-09-27 16:08:30 -05:00
Sarah Marsh 32b1203b6c Generic makefile in eclipse 2016-09-27 16:08:29 -05:00
Sarah Marsh f949a6d4f8 Initial Eclipse suport 2016-09-27 16:08:17 -05:00
bcostm 89430b95bb Remove extra spaces 2016-09-27 16:35:34 +02:00
Sarah Marsh d166c9a1bf Removed --no_static_destruction from IAR IDE flags 2016-09-26 23:08:56 -07:00
bcostm 464dbc446b Correct fpu option for Cortex-M7FD devices 2016-09-26 15:56:46 +02:00
Martin Kojtal 93e9b486aa Merge pull request #2712 from bridadan/test-building-and-config
Fixing constant cleaning when compiling tests
2016-09-26 09:54:33 +01:00
bcostm e4c2ea8e55 Add tabs 2016-09-26 10:36:36 +02:00
bcostm d1902def21 sw4stm32 exporter - add hw floating point option 2016-09-26 10:30:56 +02:00
Sam Grove 28f9b27918 Merge pull request #2788 from theotherjimmy/print-percent
Print percent complete when building
2016-09-24 16:48:03 -05:00
Sam Grove acdab5e284 Merge pull request #2773 from sarahmarshy/quotes_error
[Exporters] [Makefile] Single quotes for escaping commands
2016-09-24 16:46:25 -05:00
Sam Grove 3c6776f9bf Merge pull request #2753 from jeromecoutant/PR_NUCLEO_F767ZI_CAN
[NUCLEO_F767ZI] Add CAN capability
2016-09-24 16:41:10 -05:00
Sam Grove aad2372df7 Merge pull request #2727 from jeromecoutant/PR_Serial_Init_Timeout
Serial init timeout: increase default value
2016-09-24 16:33:45 -05:00
Sam Grove 8e473be5f3 Merge pull request #2622 from egostm/dev_i2c_asynch
[STM32F4] Add asynchronous I2C
2016-09-24 16:27:20 -05:00
Sam Grove e9c556d356 Merge pull request #2757 from theotherjimmy/non-global-config
Refactor Target and Config away from global variables
2016-09-22 17:23:04 -05:00
Jimmy Brisson 2fe201cf10 Print percent complete when building 2016-09-22 15:10:03 -05:00
Sarah Marsh 16913b93a6 New build tests.
*Changes*
- Parallel export
- mbed-os tests added
- specified release version (default to 5)
- default tests AND targets dependent on specified release version
2016-09-22 10:03:34 -05:00
Brian Daniels aeca796641 Fixing constant cleaning when compiling tests
This addresses the issue where building tests via test.py always triggered
a clean build. This is because the mbed_config.h file was being deleted from
the shared OS build to ensure that the correct config was always being
used. However, this contanstly triggered a rebuild of the OS since the
config file was not present.

Due to the shared build, having multiple app configurations that could
override the OS settings is not possible. For this reason, we now ignore
app config files unless explicitly set via the command line option
'--app-config'. Though there will now be two mbed_config.h files in the
include path of the build, it shouldn't matter since the contents will be
the same.
2016-09-22 08:30:21 -04:00
Erwan GOURIOU d7dda282c2 [dev_asynch_i2c] Extend asynch I2C to STM32F4 boards
Move i2c_s to common_objects.h
Introduce I2C Master/Slave asynch test
Test I2C asynch master/slave on STM32F4 boards
2016-09-22 09:52:21 +02:00
Erwan GOURIOU 8982ff1971 [dev_i2c] Fix I2C byte transfer API to enable Master/Slave test on F411RE
i2c_byte_write could be used to send byte and address.
In case used for address, ADDR Flag should be reset.
2016-09-22 09:39:10 +02:00
Erwan GOURIOU 4b42fc5a22 [dev_asynch_i2c] Test Asynch I2C on F411RE
Add single board I2C master/slave asynch test
2016-09-22 09:39:10 +02:00
Sam Grove 0c0455bf3f Merge pull request #2745 from pan-/disable_global_objects_destruction
Disable global objects destruction
2016-09-22 00:48:08 -05:00
Sam Grove 6fce892f05 Merge pull request #2614 from MarceloSalazar/uvision_default
Change default uvision exporter to uvision5
2016-09-22 00:46:18 -05:00
Sarah Marsh b39fbd3273 Use single quotes to escape make commands 2016-09-21 11:30:58 -05:00
Jimmy Brisson d4f9820577 Refactor Target and Config away from global variables 2016-09-20 16:09:22 -05:00
Jimmy Brisson ed3ee52c3b Add .bld directories to exported project 2016-09-20 15:33:00 -05:00
jeromecoutant 012f2c3353 [NUCLEO_F767ZI] Add CAN capability 2016-09-20 16:18:11 +02:00
Vincent Coubard f4f8b491d1 Override exit and atexit functions from newlib.
This change simplify the exit and initialization process.
It also reduce the number of hidden memory allocation made by atexit.
2016-09-19 15:17:39 +01:00
Vincent Coubard 2f0b772c77 Disable destruction of global C++ objects when IAR is used.
This behavior is realized by enabling the flag --no_static_destruction
when the compilerin the invoked.
2016-09-19 11:59:24 +01:00
Brian Daniels ba5ab753b1 Fixing missing import for os.path.exists 2016-09-17 21:12:47 -05:00
Sam Grove 663fdb796f Merge pull request #2721 from theotherjimmy/profile-documentation
tools - Add documentation about profiles to the toolcahins
2016-09-16 17:38:13 -05:00
Sam Grove bdf221349e Merge pull request #2697 from theotherjimmy/export-repos-togleable
tools-exporters! - disable inclusion of repo-dirs in zips by default
2016-09-16 17:33:55 -05:00
Sam Grove a6f4b58405 Merge pull request #2675 from sarahmarshy/toolchain_path_check
Revise checking toolchain path
2016-09-16 17:31:41 -05:00
Sam Grove 054f232431 Merge pull request #2674 from theotherjimmy/correct_repo_files
tools - Correct adding repo_files
2016-09-16 17:30:13 -05:00
Sam Grove bd4d29d76c Merge pull request #2672 from stevew817/bugfix/EFM32_exporter_mbed_config
[EFM32] Fix exporter to pull root path
2016-09-16 17:29:53 -05:00
Sam Grove 1f7c341a65 Merge pull request #2671 from theotherjimmy/export-getting-started
tools-exporters! - Globally add a gettingstarted.html
2016-09-16 17:28:44 -05:00
Sam Grove 04547f671b Merge pull request #2659 from sarahmarshy/patch-5
Fix exported project file group naming
2016-09-16 17:25:40 -05:00
Sam Grove ca0b47a8be Merge pull request #2612 from MarceloSalazar/memap_fixes
Fixed bug on memap (non-default output path)
2016-09-16 17:21:07 -05:00
jeromecoutant c8c76498e8 Serial init timeout: increase default value
It seems that my test bench is very slow...
I need to increase the timeout value in order to get the port ready

Thx
2016-09-16 14:17:46 +02:00
Marcelo Salazar 64d33810fc Minor tweak on spaces 2016-09-16 10:11:07 +01:00
Jimmy Brisson 924d242b39 Add documentation about profiles to the toolcahins 2016-09-15 15:03:10 -05:00
Jimmy Brisson e507b9e1c6 export make - Surround all command line stuff with quotes.
Should eliminate any space-in-path issues
2016-09-15 11:42:52 -05:00
Jimmy Brisson a3ee5edde5 Unifiy output style of makefile and tools 2016-09-15 11:42:52 -05:00
Jimmy Brisson d9c8365828 Use cflags instead of symbols 2016-09-15 11:42:52 -05:00
Jimmy Brisson 6838aa9372 Clean code style of python code for generic make 2016-09-15 11:42:52 -05:00
Jimmy Brisson 920bb47ffd Change make exporter support to match target.json 2016-09-15 11:42:52 -05:00
Jimmy Brisson 00d2a45b91 Generalize make exporters for all toolchains 2016-09-15 11:42:52 -05:00
Jimmy Brisson 17e096b369 Move make stuff to it's own folder; add a make_gcc_arm exporter 2016-09-15 11:42:52 -05:00
Jimmy Brisson 5c9dd3c3a1 Remove "modify the checksum" message from targets without a binary hook 2016-09-15 11:42:51 -05:00
Jimmy Brisson 7b1112588d remove templates that differ uselessly in cpu/c flags 2016-09-15 11:42:51 -05:00
Jimmy Brisson c913050053 Move hex file merging to common makefile 2016-09-15 11:42:45 -05:00
Jimmy Brisson 4ac92daac9 Use common template as fallback 2016-09-15 11:41:46 -05:00
Bogdan Marinescu 7669d7f8f5 Merge pull request #2691 from ARMmbed/no_custom_targets
Removed custom targets from config system
2016-09-14 14:41:31 +03:00
Jimmy Brisson e939133355 Add a inc_repos option to the exporters 2016-09-13 17:09:15 -05:00
Sarah Marsh 8670598115 Abstract check_executable added 2016-09-13 16:26:58 -05:00
Sarah Marsh ab92a5ace2 Toolchain check generic in mbedToolchain 2016-09-13 13:59:11 -05:00
Sarah Marsh 8b74c5b3c7 Docstrings. Empty executable search path handling. 2016-09-13 12:06:01 -05:00
Bogdan Marinescu 8852b2edec Removed hidden argument to set_targets_json_location
The previous code used a variable that was internal to the Target class.
This commit removes the argument to `set_targets_json_location`
completely, which forces Target to use the default locatio internally.
2016-09-13 16:45:32 +03:00
Bogdan Marinescu d7899b4b2b Removed custom targets from config system
Custom targets were the origin of a number of issues with the mbed
tools, so it was decided that they need to be removed. This PR does just
that (and moves the "custom_targets" part of the config system tests
into a separate, per-test "targets.json" file to preserve the test
functionality).
2016-09-13 15:54:44 +03:00
Sarah Marsh 61dee45dca Revise checking toolchain path 2016-09-12 18:54:39 -05:00
Jimmy Brisson f48aa248b7 Correct adding repo_files 2016-09-12 16:19:55 -05:00
Marcelo Salazar 1192744a06 Minor fix to match with master 2016-09-12 20:12:54 +01:00
Marcelo Salazar ca35755167 Change default uvision exporter to uvision5
uVision4 is no longer maintained by the Keil team (support was stopped
long time ago).

This is why we need to make the uvision exporter able to generate uVision5
projects by default (which is based on software packs).

Also, adding note that the uvision4 exporter is now deprecated and will be
removed in the future.
2016-09-12 19:46:33 +01:00
Jimmy Brisson d033070425 Add a gettingstarted.html to all exporters 2016-09-12 13:17:35 -05:00
Steven Cooreman f4f1f6ee59 [EFM32] Fix exporter to pull root path
Simplicity Studio exporter doesnt really support header files in the root directory (looking at you, mbed_config.h), so this is a workaround for that issue.
2016-09-12 17:23:05 +02:00
jeromecoutant c3b9a74463 travis: revove rtos support for NUCLEO_L053R8 2016-09-12 12:54:00 +02:00
jeromecoutant 787a21fbd0 Disable RTOS tests for STM32 8K targets
8K RAM target is too small for
"NUCLEO_L031K6"
"NUCLEO_L053R8"
"DISCO_L053C8"
"NUCLEO_F030R8"
2016-09-12 11:48:02 +02:00
Sam Grove e9d0fbd178 Merge pull request #2604 from tung7970/fix-tools
Tools - Fix fill section size variation
2016-09-10 16:22:00 -05:00
Sam Grove c3737b4f7a Merge pull request #2593 from ConorPKeegan/devel_app_config_switch
Add app config command line switch for test and make
2016-09-10 14:30:38 -05:00
Sam Grove 8d5424347e Merge pull request #2615 from bcc6/master
[MTM_MTCONNECT04S] Added support for MTM_MTCONNECT04S
2016-09-10 11:34:44 -05:00
Conor Keegan ac51eb6638 Add unit tests for app_config 2016-09-10 15:29:19 +01:00
Conor Keegan aafcf55407 Add app config switch to options.py and make.py 2016-09-10 15:29:19 +01:00
Conor Keegan 7c72a22508 Add test command switch for app config file 2016-09-10 15:29:19 +01:00
Sam Grove da5a19f149 Merge pull request #2630 from sarahmarshy/patch-4
Test names not dependent on disk location of root
2016-09-10 07:25:04 -05:00
Sam Grove c1ee7fb494 Merge pull request #2504 from ohagendorf/disco_f769_ii
[Disco_F769NI] adding new target
2016-09-10 07:16:21 -05:00
OzzySan b5b6fdc6dc [MTM_MTCONNECT04S] Added gcc_arm template for export. 2016-09-10 15:54:44 +08:00
Tony Wu c50b5c6651 Tools - Fix fill section size variation
The linking order of object files affects the actual code placement,
which in turn affects the size of fill section due to the number of
zeros required to maintain appropriate data/code alignment may change.
This is observed when building on Mac and Linux host.

example: mbed compile -m K64F -t GCC_ARM (build 1)
+---------------------+-------+-------+-------+
| Module              | .text | .data |  .bss |
+---------------------+-------+-------+-------+
| Fill                |   120 |     4 |  2381 |
| Misc                | 28755 |  2216 |    84 |
| features/frameworks |  4236 |    52 |   744 |
| hal/common          |  2745 |     4 |   325 |
| hal/targets         | 12116 |    12 |   200 |
| rtos/rtos           |   119 |     4 |     0 |
| rtos/rtx            |  5721 |    20 |  6786 |
| Subtotals           | 53812 |  2312 | 10520 |
+---------------------+-------+-------+-------+

example: mbed compile -m K64F -t GCC_ARM (build 2)
+---------------------+-------+-------+-------+
| Module              | .text | .data |  .bss |
+---------------------+-------+-------+-------+
| Fill                |   128 |     4 |  2381 |
| Misc                | 28755 |  2216 |    84 |
| features/frameworks |  4236 |    52 |   744 |
| hal/common          |  2745 |     4 |   325 |
| hal/targets         | 12116 |    12 |   200 |
| rtos/rtos           |   119 |     4 |     0 |
| rtos/rtx            |  5721 |    20 |  6786 |
| Subtotals           | 53820 |  2312 | 10520 |
+---------------------+-------+-------+-------+

This patch fixes fill section size variation by sorting object
files before passing to linker.

Signed-off-by: Tony Wu <tung7970@gmail.com>
2016-09-10 08:30:01 +08:00
Sam Grove 5ba3ab70c9 Merge pull request #2613 from bridadan/find-tests-directory-fix
Correctly providing directories to build_apis
2016-09-09 18:01:22 -05:00
Sam Grove b71bfd6250 Merge pull request #2576 from theotherjimmy/example-regession
Add smoke test that builds example programs with mbed-cli
2016-09-09 17:59:55 -05:00
sarahmarshy f8cae13f33 Fix uvision group naming
The previous way of finding group names found the encompassing directory of each file. If the project is exported from the online compiler, this resulted in temporary folder names like tmpyKKWv_ showing up as group names.

I propose defaulting to the project name if the file is in the project root.
2016-09-09 17:18:52 -05:00
Sam Grove 2c96001478 Merge pull request #2575 from theotherjimmy/allow-empty-config
tools-config! -  Allow an empty or mal-formed config to be passed to the config system
2016-09-09 19:32:05 +02:00
ohagendorf d0e2f1efa6 disco_f769 some rework ... (part II)
as suggested by adustm
2016-09-09 14:21:55 +02:00
ohagendorf 95c5b78f34 [disco_f769ni] adding gcc_arm exporter definitions 2016-09-09 14:18:16 +02:00
ohagendorf 3598af00c7 [disco_f769ni] adding to build_travis 2016-09-09 14:18:16 +02:00
ohagendorf 54adfe10c0 [disco_f769ni] adding rtos lib 2016-09-09 14:18:16 +02:00
Sam Grove 57ebf8bdad Merge pull request #2548 from jamike/NUCLEO_F303ZE
Nucleof303ze
2016-09-09 01:48:13 +02:00
Sarah Marsh 7ee621320a Removed projectfiles directory. debug-info default option 2016-09-06 14:24:06 -05:00
Jimmy Brisson a6be472111 Add repo_dirs, repo_files, lib_builds, and lib_refs to zips 2016-09-06 14:24:06 -05:00
Jimmy Brisson b5c189931e Fix include paths for fragmented projects; remove deadcode 2016-09-06 14:24:06 -05:00
Jimmy Brisson c550f9da75 Fix some tracebacks, add zip exporter to the CLI 2016-09-06 14:24:06 -05:00
Jimmy Brisson cadd233b8e Allow dict in addition to the other types of src_paths
The dict allows the user of the exporter api to specify the result directory
of particular groups of scanned dirs. This will be used by the online exporters
to spoof everything being in the same directory when they are not. It may also
be used by tests, if they would like to export something that looks exactly
like a normal project.
2016-09-06 14:24:05 -05:00
Jimmy Brisson 6686411220 Set vpath correctly when exporting to projectfiles directory 2016-09-06 14:24:05 -05:00
Sarah Marsh 2196d50e72 Create projectfiles directory when exporting
Compatible with new c/asm/cpp flag separation.
2016-09-06 14:24:05 -05:00
Jimmy Brisson e5de39efff Fix renaming issues in non-CI ides
Affects these ides:
 - Atmel Studio
 - Code Red (I don't think we support this)
 - Coide
 - DS-5
 - E2Studio
 - EMblocks
 - KDS
 - Simplicity v3
 - SW 4 STM32

also corrects flags usage in EMBlocks
2016-09-06 14:24:05 -05:00
Jimmy Brisson 36c750b39f Reinstated the zip exporter 2016-09-06 14:24:05 -05:00
Jimmy Brisson 3e2526a424 Made exporting safer
it will no longer barf when:
 - a linker scirpt is None
 - an attribute that is a set
it will also export the correct library include paths
2016-09-06 14:24:05 -05:00
Jimmy Brisson 67fae3a705 Allow exporting to in-memory zip file 2016-09-06 14:24:05 -05:00
Sarah Marsh 0016ddf60c progen exporter template 2016-09-06 14:24:05 -05:00
Sarah Marsh cccc5f3fca Accessing progen exporters directly 2016-09-06 14:24:05 -05:00
Jimmy Brisson 7e2ca0115b Update copyright 2016-09-06 14:24:04 -05:00
Sarah Marsh f6a15fd3c8 Refactor export subsystem
Makes several broad changes:
 - removes dead code that dealt with the online build system
 - replaces export function with a much simpler one that:
   - does not copy any sources
   - the zip file hits the disk
   - the mbed_config.h hits the disk
   - the project files hit the disk
   - nothing else hits the disk
 - exporters use Resource object scanned with a toolchain
 - progen exporters don't optionally build a project instead they have a
   build function that may be called afterwards
 - much of the code passes pylint (have a score of 9 or above):
   - project.py
   - project_api.py
   - export/__init__.py
   - export/exporters.py
   - test/export/build_test.py
2016-09-06 14:24:00 -05:00
sarahmarshy ac11d94724 Test names not dependent on disk location of root
#2613 should be merged first 
Using test_api, I found that the test names were dependent on where mbed-os (if that is the root) is stored on disk if you provide anything other than '.' as the root directory. 
This would change names like: 
```
repos-mbed-os-example-blinky-mbed-os-features-storage-feature_storage-tests-cfstore-example3
```
to
```
features-storage-feature_storage-tests-cfstore-example3
```
2016-09-06 10:23:32 -05:00
Bogdan Marinescu 5dcd546fd5 Merge pull request #2393 from theotherjimmy/argument-dependencies
[tools] Prevent trace-backs from incomplete args
2016-09-05 12:50:47 +03:00
Michel Jaouen c8d08bd952 [NUCLEO_F303ZE] test / export scripts update 2016-09-05 09:14:09 +02:00
OzzySan 85d7ff2e17 [MTM_MTCONNECT04S] Added support for MTM_MTCONNECT04S 2016-09-05 10:53:39 +08:00
Brian Daniels 8b9a6dc19d Correctly providing directories to build_apis
The shared `prepare_toolchain` and `scan_resources` functions in build_api
expect a list, not a string. This is different from the
toolchain.scan_resources function. Now the functions are being used
correctly within the `find_tests` function in test_api
2016-09-02 11:32:11 -05:00
Marcelo Salazar 56604a04c8 Fixed bug on memap (non-default output path)
Removed code that checks if the path to the map file
matches with the selected toolchain.
2016-09-02 19:05:27 +03:00
Jimmy Brisson 3437829af1 return the number of failures from the script 2016-09-01 16:01:12 -05:00
Jimmy Brisson f983292a6b Separate the import and compile steps for better integration with Jenkins 2016-08-31 15:17:29 -05:00
Jimmy Brisson ac5c685389 Use mbed-os 5 example instead of the mbed 2 one 2016-08-31 14:25:59 -05:00
Jimmy Brisson 41ec0af7aa Update Docstring 2016-08-31 13:54:41 -05:00
Jimmy Brisson 64e71e2f3a Use IPV6 feature for filtering mesh, client, and sockets 2016-08-31 13:40:34 -05:00
Jimmy Brisson 4b1dcd398c Allow filtering by target as well as by features 2016-08-31 13:40:03 -05:00
Jimmy Brisson 1f0afebbbc Allow command-line filtering of toolchains 2016-08-31 13:24:59 -05:00
Jimmy Brisson f7a1d1f749 Move to feature filter for target and toolchain detection; print passed tests 2016-08-29 14:38:16 -05:00
Jimmy Brisson 78028a9ceb Move example tests to their own folder 2016-08-29 14:01:57 -05:00
Jimmy Brisson 95ee4f6370 Use json for the example to target mapping and print failures 2016-08-29 13:46:39 -05:00
Jimmy Brisson eb11561c1f Add smoke test that builds example programs with mbed-cli 2016-08-29 11:26:37 -05:00
Jimmy Brisson c7bf3fac60 Allow an empty or mal-formed config to be passed to the config system 2016-08-29 10:03:36 -05:00
Sam Grove ea56684fff Merge pull request #2531 from radhika-raghavendran/master
ncs36510 from ON Semiconductor
2016-08-27 07:31:39 -05:00
Sam Grove fe1f2b6066 Merge pull request #2563 from sarahmarshy/path_error_rev
Check if executble exists
2016-08-26 18:05:50 -05:00
Sarah Marsh bd0acdc527 Check executable 2016-08-26 17:32:57 -05:00
Sam Grove ea3526d657 Merge pull request #2418 from sarahmarshy/path_error_rev
Readable error when toolchain paths not set. Allow IAR and ARM toolchains to be set in user's PATH.
2016-08-26 13:10:48 -05:00
Radhika 2dc38063b9 Formatting code according to ARM guidelines.
Ran pylint and astyle.
Rebased latest ARMmbed-os code.
2016-08-26 20:34:23 +05:30
Radhika 048d53134a rebasing with mbed-os latest 2016-08-26 20:34:20 +05:30
Sam Grove f147f6f3f2 Merge pull request #2471 from bridadan/copy-config-library
Copying JSON files to pick up config for built libraries
2016-08-26 09:38:35 -05:00
Sam Grove daf4b1c6b1 Merge pull request #2528 from jeremybrodt/max32620
[MAX32620HSP] Initial release.
2016-08-26 09:25:33 -05:00
Radhika daea440b6a Adding NCS36510 support in mbed-os5.1 2016-08-26 12:04:22 +05:30
Radhika b75379f353 Adding NCS36510 support in mbed-os5.1 2016-08-26 12:00:54 +05:30
Sam Grove 1dbe8d8cf8 Merge pull request #2520 from jeromecoutant/PR_L011K4
[NUCLEO_L011K4] build issues
2016-08-25 09:26:10 -05:00
Jeremy Brodt b9b6d30659 [MAX32620HSP] Initial release. 2016-08-24 16:33:47 -05:00
Brian Daniels 33672b483f Copying JSON files to pick up config for built libraries
This came up when building tests, but affects any library that's built
that uses config and included as "source" with the mbed tools.
JSON files are not copied by default when building a library, so when this
is built it loses the config data associated with the library. This commit
copies all JSON files into the build directory when building libraries.

This leads to two mbed_config.h files existing if the build directories
are different between the library and application build. This is the case
when building tests, so an option build_library was added to remove the
mbed_config.h file when compilation is done. This disabled by default when
building libraries, but it is enabled when building tests.
2016-08-23 16:42:05 -05:00
Vincent Coubard fe322adc9c Make selection of c library used consistent.
* rename "default_build" property into "default_lib"
* rename "standard" value for "default_build" into "std".
2016-08-23 16:04:56 +01:00
jeromecoutant 086d5b9a4e [NUCLEO_L011K4] build issues
Target FLASH is quiet small (16KB),
so only uARM is supported and very small applications.
2016-08-23 17:02:57 +02:00
Vincent Coubard 73a925810c Improve naming of the command line option which select the c library to use.
* rename 'small-build' into 'small-lib'
* rename 'standard-build' into 'std-lib'
2016-08-23 15:42:08 +01:00
Vincent Coubard afde624a26 Rename big-build option into standard-build.
With this change, the name is more descriptive and aligned with the targets
definitions in hal/targets.json.
2016-08-23 15:38:44 +01:00
Vincent Coubard cce10e2c0d Allow 'small-build' and 'big-build' to be used as options.
These two flags are already tested in tools/toolchains/gcc.py but can't
be used at the moment because they are not part of the argument list of
the option parameter.
2016-08-23 15:37:56 +01:00
Martin Kojtal 0231f61588 Merge pull request #2516 from NXPmicro/HEXIWEAR_KDS_Support
HEXIWEAR: Add support to create KDS projects for HEXIWEAR
2016-08-23 09:07:49 +01:00
Russ Butler 6a31ffbf3e Heap statistics
Keep track of the current size allocated, maximum size allocated,
number of allocations, failed allocations and total size allocated for
both GCC and ARM. Report the maximum size allocated at the end of
testing.

Also, add a test to verify heap metrics are working as expected.
2016-08-22 18:32:51 -05:00
Mahadevan Mahesh 2c813a051b HEXIWEAR: Add support to create KDS projects for HEXIWEAR
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-08-22 15:06:56 -05:00
Jimmy Brisson 163fa59e17 Prevent traceback 2016-08-19 14:01:19 -05:00
Jimmy Brisson a0c8a09c89 Unify look of argument errors 2016-08-19 14:01:19 -05:00
Martin Kojtal 862db41be3 Merge pull request #2468 from bridadan/fix-gcc-diagnostic-pattern
Tools - Fixing issue where GCC fails to report compile errors when non-verbose
2016-08-19 13:48:54 +01:00
Martin Kojtal f6be78dc89 Merge pull request #2429 from theotherjimmy/specialize-tests-discovery
Move find_tests to where it's has arguments
2016-08-19 12:05:45 +01:00
Martin Kojtal 5c82db8203 Merge pull request #2494 from theotherjimmy/fix-memap-table
Print module information in 'table' output format
2016-08-19 11:52:26 +01:00
Jimmy Brisson 74dd5efd48 Print module information in 'table' output format 2016-08-18 13:25:58 -05:00
Jimmy Brisson 096d17dec9 Fix macros being the exact same when generating mbed_config.h 2016-08-18 11:23:26 -05:00
Sarah Marsh cd229bacc3 Allow users to set armcc and iccarm in path.
Raise exceptin instead of exit.
Corrected error for arm-none-eabi-gcc/g++ set in path.
2016-08-17 09:14:05 -05:00
Martin Kojtal bdb4ab921f Merge pull request #2472 from ytsuboi/master
[TY51822r3] Added exporting support
2016-08-17 14:54:49 +01:00
Martin Kojtal 77e87179bd Merge pull request #2456 from NXPmicro/SDK2_FRDM_K66F
Add support for FRDM K66
2016-08-17 14:37:31 +01:00
Yoshihiro TSUBOI f8a6af161a [TY51822r3] Added exporting support 2016-08-17 10:58:48 +09:00
Jimmy Brisson dabd7b8d53 Made linting a recommendation and raised the bar for printing 2016-08-16 13:29:43 -05:00
Jimmy Brisson 7b7ca84ab3 Fix remaining issues in targets.py 2016-08-16 13:29:43 -05:00
Jimmy Brisson 3f9bedbdd9 Add pylint testing to Travis 2016-08-16 13:29:43 -05:00
Jimmy Brisson 33786130ae Format and document options.py 2016-08-16 13:29:43 -05:00
Jimmy Brisson 44efd92ca3 Format and document hooks.py 2016-08-16 13:29:31 -05:00
Brian Daniels 20ddba6e90 Fixing issue where GCC fails to report compile errors when non-verbose
The output of the GCC compiler is such that the toolchain regex sometimes
got hung up on the ':' charcter being printed in front of the drive letter when
running on Windows. This PR changes the matching logic to be more flexible
by using 'search' to check the entire string for a match, not just the
beginning of the string.
2016-08-16 12:34:18 -05:00
Jimmy Brisson ec1d0b5673 Format detect_targets.py 2016-08-16 11:48:46 -05:00
Jimmy Brisson 2831eee216 Format and document libraries.py 2016-08-16 11:48:45 -05:00
Jimmy Brisson acc59a1a86 Format paths python module 2016-08-16 11:48:45 -05:00
Jimmy Brisson 5fbcc25b46 Format and document colorize 2016-08-16 11:48:45 -05:00
Jimmy Brisson cb5e61028d Format and add docstrings to memmap 2016-08-16 11:48:39 -05:00
Jimmy Brisson ea63a4d9a7 Expand docstrings in build_api 2016-08-16 11:04:33 -05:00
Jimmy Brisson bb43f8d37a Format targets.py 2016-08-16 11:04:33 -05:00
Jimmy Brisson 9d09f8e049 Reveal cumulative attributes from Targets 2016-08-16 11:04:32 -05:00
Jimmy Brisson 57af5cd053 Edit the English of the docstrings 2016-08-16 11:04:32 -05:00
Jimmy Brisson acf5c40af4 Glorify config.py (passes pylint) 2016-08-16 11:04:32 -05:00
Jimmy Brisson b2156ceef5 Format bulid_api 2016-08-16 11:04:32 -05:00
Jimmy Brisson 99f1284a81 Stylize utils.py 2016-08-16 11:04:27 -05:00
Mahadevan Mahesh 0ad9220fb1 Add support for FRDM K66
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-08-15 15:37:25 -05:00
Martin Kojtal dd8060b798 Merge pull request #2433 from theotherjimmy/better-config-errors
[tools] Improve error for missing name from mbed_lib.json
2016-08-15 15:15:06 +01:00
Jimmy Brisson 71113a8820 Improve error for missing name from mbed_lib.json 2016-08-12 09:54:03 -05:00
Martin Kojtal 3d61535652 Merge pull request #2149 from jeromecoutant/PR_MBED_A27
Add MBED_A27 test in the common list
2016-08-12 10:57:06 +02:00
Jimmy Brisson 215f4259ce Remove argument from tool/project.py -b
resolves #2309
2016-08-12 08:37:52 +02:00
Jimmy Brisson abc7669eb7 Move find_tests to where it's has arguments 2016-08-11 10:03:23 -05:00
Bogdan Marinescu d471a4f019 Add config data to build_lib in build_api.py
`build_lib` wasn't aware of configuration data, so some of the source
files that depends on configuration data fail to compile. This commit
fixes that by making `build_lib` aware of configuration data.
2016-08-11 13:54:41 +03:00
Sarah Marsh 51245ceb7a Exit non-zero for invalid toolchain path 2016-08-10 12:04:11 -05:00
Sarah Marsh 1445886844 Readable error when toolchain paths not set.
Fixes #2360.

New error:
[Error] Toolchain path does not exist for IAR.
Current value: /default/path/that/doesnt/exist
(System exit before any build system calls)
2016-08-10 11:52:45 -05:00
Bogdan Marinescu 4f6eaaa8ec build_mbed_libs is now aware of the configuration
Previously, build_mbed_libs didn't take into account the configuration.
This is a problem when doing a binary release, since mbed_lib.json
contains configuration data relevant to the binary release.
2016-08-10 19:03:13 +03:00
jeromecoutant 463c7d20f0 Create MBED_A28 test in the common list
MBED_A28 test is the same as MBED_A27 test.
This is a CAN loopback test without any peripheral or wire.
It can then be added in the common list.
2016-08-10 15:09:00 +02:00
Sam Grove 9d1fbda9fe Merge pull request #2377 from sarahmarshy/flag_revision
Pass only relevant defines at each stage of compilation
2016-08-04 22:10:58 -05:00
Sarah Marsh 70890620f7 Uvision and IAR working cc and asm specific defines 2016-08-04 17:05:12 -05:00
sarahmarshy 4cef2c917f Merge pull request #1 from screamerbg/split_symbols
Differentiate ASM and CXX symbols
2016-08-04 19:17:27 +01:00
Mihail Stoyanov 88564a9ac3 Differentiate ASM and CXX symbols as they are not treated the same in ARMCC and IAR compilers 2016-08-04 18:19:08 +01:00
Sam Grove 8891ed1cac Merge pull request #2341 from screamerbg/backported-fixes
[Tools] Build system improvements
2016-08-04 12:15:06 -05:00
Sam Grove a6ffdd4e94 Merge pull request #2366 from sg-/hexiwear-fixups
Hexiwear fixups
2016-08-04 11:38:41 -05:00
Sam Grove 5dbdf934fd Merge pull request #2359 from sarahmarshy/armasm_fix
Removed preinclude config from asm flags
2016-08-04 10:57:25 -05:00
Sam Grove a2500f877b add HEXIWEAR to RTOS tests 2016-08-03 17:40:36 -07:00
Sarah Marsh b910cfe08c Removed incorrect list removal 2016-08-03 17:26:08 -05:00
Sarah Marsh 02cdaebc95 Removed preinclude config from asm flags 2016-08-03 13:49:50 -05:00
Russ Butler 7b65eb2d9e Remove NRF51_MICROBIT from 2.0 rtos testing
The micro:bit is running rtos tests, even though this is a 16K device
that should not be using multiple threads. This patch removes it from
the 2.0 RTOS tests.
2016-08-03 13:29:20 -05:00
Sam Grove 32b134e277 Merge pull request #2345 from pan-/fix_nrf51_export
Fix nrf51 export
2016-08-02 23:18:12 -05:00
Sam Grove d83157a6fa Merge pull request #2333 from bridadan/build-library-clean
Adding clean support back to build_library
2016-08-02 18:58:40 -05:00
Sam Grove e4db590789 Merge pull request #2330 from theotherjimmy/ds-5-toolchain
Add toolchain flag to DS-5 exporter
2016-08-02 17:18:35 -05:00
Sam Grove 76ea1ccb4a Merge pull request #2317 from geky/fix-ca-config-scan
[tools] Fixed infinite loop in config scan due to list comparison error
2016-08-02 17:05:13 -05:00
Vincent Coubard 80f296202c Fix goals for NRF51_DK makefile:
Now "all" depend on the project merged with the soft device,
the goal merged has been renamed into the file it generate and now depend
on the realization of $(PROJECT).hex
2016-08-02 22:55:15 +01:00
Vincent Coubard 0320f3b89e Change merged file name to $(PROJECT)-combined.hex . 2016-08-02 22:21:00 +01:00
Vincent Coubard 4223a257f9 Add the merge goal to the list dependent goals of all.
Fix import of the softdevice hex file.
2016-08-02 21:35:10 +01:00
Vincent Coubard 142e014a7f Add hex files to the exporter context. 2016-08-02 21:33:26 +01:00
Bogdan Marinescu c6c8d42b0f Merge pull request #2303 from theotherjimmy/export-asm-symbols
Add missing --preinclude and -input on assembly files
2016-08-02 20:57:39 +03:00
Jimmy Brisson 3873ccc232 Add -D options to iar assembler on export 2016-08-02 11:39:46 -05:00
Mihail Stoyanov a4c3469b7b Empty the multiprocessing queue before terminating it 2016-08-02 16:53:58 +01:00
Jimmy Brisson 965ffc3e28 Add CC_SYMBOLS to assembler invocation 2016-08-02 10:46:57 -05:00
Mihail Stoyanov 31a59c930d Allow targets to be reloaded using set_targets_json_location() 2016-08-02 11:42:21 +01:00
Brian Daniels 6df903f8a6 Adding clean support back to build_library
At some point, the actual code that did the "clean" for build_library was
removed. This also affected building and cleaning tests. This adds this
capability back to the build API.
2016-08-01 18:16:53 -05:00
Jimmy Brisson 9d0e65f47a Add toolchain flag to DS-5 exporter 2016-08-01 14:07:12 -05:00
Sam Grove c84e5d32c9 Revert "Force installation of dependencies in entry points" 2016-07-29 17:35:23 -05:00
Christopher Haster b45ec0ed76 [tools] Added specific config test for uvisor
Unlike other libraries, uvisor is currently integrated into the build
system, with special cases based on its addition as a feature. This
suggests we should also have tests for these special cases.
2016-07-29 12:31:54 -05:00
Christopher Haster 6ea4006b5a [tools] Fixed infinite loop in config scan due to list comparison error
Previously a scanning for config terminated on comparison of the feature
set, however at some point the set was changed to a list. This resulted
in non-deterministic failures based on list order.
2016-07-29 12:20:52 -05:00
Jimmy Brisson 209cf9f167 Add config file inculde directory when present 2016-07-29 11:38:38 -05:00
Jimmy Brisson fed50f8f18 Add missing --preinclude and -input on assembly files
Except for IAR, it does not support the --preinclude option for assembly
files but all of the other exporters can. It was less code to remove it
in IAR than to explicitly add it in all of the other exporters.
2016-07-29 11:02:07 -05:00
Brian Daniels 7a07c386cb Enforcing 'standard' build for mbed OS 5.0 release
This PR enforces that the default_build in a target's definition in
hal/targets.json is set to standard to be included in the version 5
release.

This is being enforced because small builds do not support
multi-threading. This makes the capabilities more consistent across all
boards in the version 5 release.

NOTE: This removes the MOTE_L152RC and the LPC11U68
from the version 5 release list because the 'default_build' for these
targets is currently set to 'small'.
2016-07-28 18:47:49 -05:00
Bogdan Marinescu 36468c9acb Merge pull request #2281 from geky/tools-ca-set-arith-fix
[tools] Fix precedence issue in cumulative attribute set-arithmetic
2016-07-28 16:23:17 +03:00
Christopher Haster 63f9b03e35 [tools] Added test for removing features 2016-07-27 18:01:33 -05:00
Sam Grove 5df79393fc Merge pull request #2257 from theotherjimmy/install-deps
Force installation of dependencies in entry points
2016-07-27 16:49:12 -05:00
Christopher Haster f3c0ea3664 [tools] Fixed precedence issue in cumulative attribute set-arithmetic
Basically this:
a | b - c  !=  (a | b) - c
2016-07-27 16:47:23 -05:00
Brian Daniels 0e4b78f840 Changing 'release' key to 'release_versions'.
The key 'release' in hal/targets.json is ambiguous. This changes the key
to 'release_versions' to emphasize that the entries should be version
numbers/strings and that it should be an array, not a singular value.
2016-07-27 13:38:02 -05:00
Brian Daniels 45cb6c6bd0 MCU-Toolchain matrix: release versions and default to mbed OS 5
This modifies the behavior of 'mcu_toolchain_matrix' in build_api.py. It
now prints release version support in the matrix. It also defaults to only
showing targets in mbed OS 5. You can still show older release versions by
modifying the 'release_version' parameter of the function.
2016-07-27 13:36:53 -05:00
Brian Daniels edc580758e Adding concept of release versions for targets.
Previously, the condition for including a target in a release was decided
by a 'release' key being set to 'true' in hal/targets.json. This doesn't
have enough granularity when we release multiple versions of mbed. This PR
changes the 'release' key to an array of strings, where each member is a
version that the target supports. Currently the valid versions are '2' and
'5'.

This PR also adds more robust checking for invalid target configurations
in a release. This is enforced whenever the release list is built from the
data, preventing invalid targets from coming into the release.

Finally, it updates the build_release.py script to use the new api for
fetching release targets.
2016-07-27 13:36:52 -05:00
Sam Grove b171a9c4b8 Merge pull request #2202 from 0xc0170/dev_progen_improvements
Export - define ProGenDef outside of the loop
2016-07-27 02:46:56 -05:00
Simon Hughes c2d849133f Adding mbed-os/features/storage to mbed/features/storage/FEATURE_STORAGE (before deleting mbed-os/features/storage). 2016-07-26 23:07:24 -05:00
Sam Grove 64928b02df Merge pull request #2244 from bridadan/test-discovery-refactor
Test discovery refactor
2016-07-26 15:45:41 -05:00
Sam Grove 5d7317626c Merge pull request #2249 from c1728p9/client_nanostack_and_seperated
Client nanostack and seperated
2016-07-26 14:30:33 -05:00
Jimmy Brisson 0a2c35c62b Force installation of dependencies in entry points 2016-07-26 14:08:26 -05:00
Sam Grove f9d38bff37 Merge pull request #2062 from bridadan/shorten-test-binary-name
Changing name of test binaries to just test case folder name.
2016-07-26 00:24:08 -05:00
Sam Grove 381b352df5 Merge pull request #2168 from c1728p9/remove_float_printf
Remove floating point formatting in newlib nano
2016-07-26 00:20:45 -05:00
Russ Butler cef844f6bf Break apart client and nanostack dependencies
Move the library files used by both nanostack and client into a common
location.  This allows both client and nanostack to be built stand-alone.

The patch moves the following libraries into a common location:
-mbed-client-c
-mbed-client-randlib
-mbed-trace
-nanostack-hal-mbed-cmsis-rtos
-nanostack-libservice
-sal-stack-nanostack-eventloop

And moves the library 'coap-service' from client into nanostack.
2016-07-26 00:00:20 -05:00
Brian Daniels 7b20b0f8f7 Making mcu and toolchain required parameters for test.py
Also renaming 'target' variable to 'mcu' to match make.py
2016-07-25 14:44:09 -05:00
Brian Daniels 1618e608e7 Test discovery now uses build and toolchain logic
Previously, test discovery throught test.py used its own logic to find
tests. This was mostly a subset of the rules used during the build
process. It respected .mbedignore files, but it did not respect TARGET_,
TOOLCHAIN_, and FEATURES_ directories. This change now uses the same logic
used during building to respect these folders. Tests under these folders
that are not being pulled in for the given target will be ignored.
2016-07-25 14:43:52 -05:00
Sam Grove 03e99031e7 Merge pull request #2225 from theotherjimmy/fix-project-args-traceback
Fix #2223
2016-07-22 18:03:25 -05:00
Brian Daniels 51c575dcc6 Fixed traceback in build_api (typo of resources variable in build_library) 2016-07-22 17:49:54 -05:00
Sam Grove aec3695cc5 Merge pull request #2188 from screamerbg/build-common
[Tools] Unify common routines in build_api.py
2016-07-22 17:04:25 -05:00
Mihail Stoyanov ac86584c42 Unify common routines in build_api.py
Introduce prepare_toolchain() which handles:
 * deduplication of src_paths
 * config initialization
 * toolchain initialization
 * toolchain flags
 * returns toolchain
Introduce scan_resources() which handles:
 * scanning of sources
 * scanning of include dirs
 * inclusion of addition include dirs
 * returns resources
2016-07-22 22:21:39 +01:00
Sam Grove 1880daef0d Merge pull request #2215 from geky/tools-cumulative-overrides
[tools] Modified config to aggregate cumulative overrides against targets
2016-07-22 16:16:41 -05:00
Jimmy Brisson a603bb0e01 Fix "project.py --help - typerror type argument unexpected" (#2223) 2016-07-22 12:59:57 -05:00
Christopher Haster a5ea143c77 Updated config tests to match change in error message 2016-07-22 00:35:13 -05:00
Christopher Haster 9bd7a2fe72 Added proper support for the extra_labels target override
Due to dependencies between the config/target systems, the config
has been modified to preparse the mbed_app.json for overrides.
This means that attributes with dependencies in the targets are
only valid at the application level. A hard error has been
added for these attributes if they are supplied at the library
level.
2016-07-22 00:35:13 -05:00
Christopher Haster f2051b217a Modified config to explicitly update cumulative attributes in targets
Modified '_process_config_and_overrides' to update cumulative
attributes based on cumulative overrides found during walking config
files.

This should remove most of the disparity between the config target
cumulative overrides and cumulative attributes set in targets.json.
These cumulative overrides are updated after the global target
instantiation though, which may cause internal build tool state
dependent on cumulative attributes to not correctly reflect all
cumulative overrides.
2016-07-22 00:35:13 -05:00
Christopher Haster 0fcb20e8c1 Generalized handling of cumulative attributes in target overrides
In tools/config.py, Config now aggregates all cumulative attributes in
target overrides.

{
  "target_overrides": {
    "K64F": {
      "target.features_add": ["UVISOR"],
      "target.extra_labels_add": ["UVISOR_SUPPORTED"],
      "target.macros_add": ["UVISOR_MACRO"],
      "target.device_has_add": ["UVISOR_HAS"]
    }
  }
}

Note: no action is performed on overrides yet
2016-07-22 00:35:13 -05:00
Sam Grove f817ec136c Merge pull request #2142 from theotherjimmy/anti-remove-repo
[tools-build,make,test] Disallow parent of repo as --build args
2016-07-21 22:11:28 -05:00
Sam Grove b10276cbef Merge pull request #2173 from theotherjimmy/abstract-base-class
[toolchains]Abstractify the mbedToolchain base class.
2016-07-21 22:10:49 -05:00
Sam Grove 702707dee7 Merge pull request #2166 from theotherjimmy/prevent-traceback-during-export
Preventing a traceback when a library is not built during export
2016-07-21 22:09:52 -05:00
Martin Kojtal dd010097ba Merge pull request #2159 from jeromecoutant/PR_dev_NUCLEO_F207ZG
New STM32 board : NUCLEO_F207ZG
2016-07-21 11:13:33 +01:00
0xc0170 3f5c794b6c Export - define ProGenDef outside of the loop
This saves ~329 calls.
2016-07-21 09:41:38 +01:00
Bogdan Marinescu 51540d08d5 Merge pull request #2177 from mbedmicro/build_on_config_change
Rebuild sources if configuration is changed
2016-07-20 14:52:08 +03:00
Jimmy Brisson 9759382166 prevent test form removeing the root dir 2016-07-19 09:33:03 -05:00
Jimmy Brisson 52855b53cf [tools-build,make,project] Disallow parent of repo as --build args
Resolves #2081
2016-07-19 09:32:44 -05:00
Jimmy Brisson 684644b1b1 [project.py] Preventing a traceback when a library is not built during export 2016-07-19 08:58:24 -05:00
Bogdan Marinescu fd757d3b84 Merge pull request #2180 from mbedmicro/online-build-system
[Tools] mbed Online Build System support and improvements
2016-07-19 16:30:48 +03:00
Mihail Stoyanov ad87f9da34 Document code and mark which methods are used by the online build system 2016-07-19 11:16:05 +01:00
Mihail Stoyanov 74b7f9e923 mbed Online Build System support:
* added/improved global chroot support
* added RESPONSE_FILES flag to support optional response files (on linux the cmd param length is 2 megabytes). Default True
* added unified handling for archive and link response file (similar to includes)
* added COMPILE_C_AS_CPP flag to support compiling of c files as cpp. Default False
* added mbedToolchain.init() for post __init__ hooks
* added caching to mbedToolchain.need_update() to reduce IO hits
* added support to identify compiler warning/error column (supports ARMCC, GCC and IAR). Errors/warnings now report file@line,col
* added global TOOLCHAIN_PATHS which allows overriding/changing of the toolchain paths. Also simplified ARM-related paths
* added target.json to mbed library release (by @0xc0170)* migrated compile_worker() to utils.py for lightweight thread initialization
* improved run_cmd() performance by removing unnecessary check about the command being executed (should be checked once in the relevant toolchain instead)
* removed remnants of Goanna support (should be reimplemented as hooks to compile/link/archive instead)
* fixes for Python 2.7 compatibility (by @0xc0170)
* fixes for Exporters (by @0xc0170)
2016-07-19 11:14:42 +01:00
Martin Kojtal 5cd73170ba Merge pull request #2185 from yogpan01/master
Changing -O2 parameter to -Os
2016-07-19 10:42:34 +01:00
Bogdan Marinescu 8ab89c1131 Merge pull request #2175 from mbedmicro/release
Release v122
2016-07-19 11:34:15 +03:00
Bogdan Marinescu 474915c22c Merge pull request #2186 from 0xc0170/fix_issue2183
Fix issue2183
2016-07-19 11:31:35 +03:00
0xc0170 edf015ad92 Merge branch 'master' into release
Conflicts:
	tools/export/uvision4.py
	tools/export/uvision5.py
2016-07-19 08:44:34 +01:00
0xc0170 028f722868 uvision5 - remove init, not used 2016-07-19 08:30:35 +01:00
0xc0170 f80b62ed00 exporter - fix TARGETS property via descriptors
Fixes #2183 issue.
2016-07-19 08:30:21 +01:00
0xc0170 bf2ad16c69 project - zip and src check if empty fix
Regression from #2179. Fixes #2184.
2016-07-18 15:47:01 +01:00
Yogesh Pande e6043daa04 Changing -O2 parameter to -Os
This commit includes
- Changing build option parameter from -O2 to -Os to reduce flash size of the
  final binary pacakge.
  The original parameter of -O2 is kept to circumvent the error
  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46762 .
 But this error has been long fixed and released in latest 4.9.x GCC compiler.

 This change is necessary to reduce the generated binary size of mbed Client component to
avoid problem of getting images over 512 kB which is causing application to crash because of
Configuration Store problem https://github.com/ARMmbed/configuration-store/issues/21
2016-07-18 13:59:39 +03:00
Martin Kojtal 3ea625c8eb Merge pull request #2161 from PrzemekWirkus/devel_memap_summary_fields
[Tools] Replace in memap CSV report fields
2016-07-18 11:41:18 +01:00
Mihail Stoyanov 4e1ac4dba2 Merge pull request #2179 from sarahmarshy/progen_build_tests_v2
IDE build tests with progen
2016-07-16 17:54:46 +01:00
Martin Kojtal 7251a8ccae Merge pull request #2176 from 0xc0170/fix_#2171
Exporters - progen TARGETS lazy evaluated
2016-07-15 23:55:48 +01:00
Sarah Marsh b969fa5bb1 IDE build tests with progen 2016-07-15 13:25:35 -05:00
Jimmy Brisson bccbe48f3f Updated all docstrings to be compatible with PEP 257
It's nicer to be compatible with the standards.

I have added one more field to the description of each function:
Side effects. This feild contains the expected side effects of
running a particular method. If the side effects of a method are
None, it is expected that the function does not change anything in
any envoronment and that running it multiple times with the same
arguments will produce the same result every time. That is when
Side effects is non, the method is expected to be pure.
2016-07-15 10:51:47 -05:00
Jimmy Brisson 4fc8c56410 Replace pass with rais NotImplemented in each abstact method
The methods themselfes do nothing within the abstract base class
mbedToolchain. This change enforces that toolchains do not call
these methods that contain no implementation.
2016-07-15 10:17:35 -05:00
Jimmy Brisson f6b8cf05b0 Add a test that exercises the abstract base class checking
The test simply tries to instantiate each class exposed as part of the
TOOLCHAIN_CLASSES map. This is a test that each toolchain class
implements the required API, as the mbedToolchain will not allow the
instantiation of a subclass without a part of that API.
2016-07-15 10:10:40 -05:00
Jimmy Brisson 17833e8f58 Abstractify the mbedToolchain base class
The mbedToolchain class calls many members of it's subclasses, expecting
them to implement a particular API. This change adds a requirement to
each subclass that requires them to implement this expected API.

The API consists of these methods:
 - parse_dependencies
 - parse_ouptut
 - get_config_option
 - compile_c
 - compile_cpp
 - link
 - archive
 - binary
2016-07-15 10:07:56 -05:00
Bogdan Marinescu a558c49240 Rebuild sources if configuration is changed
This commit adds a check for configuration data changes. If a change in
configuration data is detected, all the sources in the tree are rebuilt.

This is a fix for #2073. #2162 was originally proposed as a fix, but it
was agreed that `--preinclude` is a more convenient way to include
configuration data, since it can be used to change the behaviour of
source files that don't include "mbed_config.h" directly, which is a big
advantage when importing 3rd party source trees. Compared to #2162, this
commit has the disadvantage of rebuilding all the source files if a
configuration change is detected, but it was agreed that the advantage
of using `--preinclude` outweighs the disadvantage of the increased
compilation time.
2016-07-15 16:37:46 +03:00
0xc0170 f95265f38d Exporters - progen TARGETS lazy evaluated
To speed up project.py, use @property for TARGETS.
When exporters are used, it would ask progen for all targets support
(number of tools x number of targets), this takes a lot of  time, thus
lazily evaluated, and TARGETS are for backaward compatibility, not currently
used by project.py but by other scripts to check if a target is supported.

Profiling:
```
python tools\project.py -m K64F -i uvision -n MBED_10 -b

Before the change:
       1    0.000    0.000    0.010    0.010 definitions.py:113(get_tool_definition)
      824    0.004    0.000    2.990    0.004 definitions.py:124(is_supported)
        1    0.000    0.000    0.000    0.000 definitions.py:145(get_debugger)
        1    0.002    0.002    0.044    0.044 definitions.py:15(<module>)
      384    0.002    0.000    2.986    0.008 definitions.py:26(_load_record)
        1    0.000    0.000    0.000    0.000 definitions.py:32(ProGenMcus)
      992    0.055    0.000    1.959    0.002 definitions.py:34(__init__)
     1376    0.002    0.000    0.003    0.000 definitions.py:40(get_mcus)
      384    0.001    0.000    1.070    0.003 definitions.py:43(get_mcu_record)
        1    0.000    0.000    0.000    0.000 definitions.py:50(ProGenTargets)
      992    0.000    0.000    0.000    0.000 definitions.py:52(__init__)
     1196    0.002    0.000    0.004    0.000 definitions.py:55(get_targets)
      204    0.001    0.000    1.922    0.009 definitions.py:58(get_mcu_record)
        1    0.000    0.000    0.000    0.000 definitions.py:67(get_debugger)
        1    0.000    0.000    0.000    0.000 definitions.py:74(ProGenDef)
      992    0.008    0.000    1.973    0.002 definitions.py:83(__init__)

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 4
Milliseconds      : 723
Ticks             : 47237302
TotalDays         : 5.46728032407407E-05
TotalHours        : 0.00131214727777778
TotalMinutes      : 0.0787288366666667
TotalSeconds      : 4.7237302
TotalMilliseconds : 4723.7302

After the change:

        1    0.000    0.000    0.010    0.010 definitions.py:113(get_tool_definition)
        2    0.000    0.000    0.025    0.012 definitions.py:124(is_supported)
        1    0.000    0.000    0.000    0.000 definitions.py:145(get_debugger)
        1    0.002    0.002    0.042    0.042 definitions.py:15(<module>)
        3    0.000    0.000    0.035    0.012 definitions.py:26(_load_record)
        1    0.000    0.000    0.000    0.000 definitions.py:32(ProGenMcus)
        2    0.000    0.000    0.005    0.002 definitions.py:34(__init__)
        5    0.000    0.000    0.000    0.000 definitions.py:40(get_mcus)
        3    0.000    0.000    0.000    0.000 definitions.py:43(get_mcu_record)
        1    0.000    0.000    0.000    0.000 definitions.py:50(ProGenTargets)
        2    0.000    0.000    0.000    0.000 definitions.py:52(__init__)
        5    0.000    0.000    0.000    0.000 definitions.py:55(get_targets)
        3    0.000    0.000    0.035    0.012 definitions.py:58(get_mcu_record)
        1    0.000    0.000    0.000    0.000 definitions.py:67(get_debugger)
        1    0.000    0.000    0.000    0.000 definitions.py:74(ProGenDef)
        2    0.000    0.000    0.005    0.003 definitions.py:83(__init__)

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 1
Milliseconds      : 178
Ticks             : 11780618
TotalDays         : 1.3634974537037E-05
TotalHours        : 0.000327239388888889
TotalMinutes      : 0.0196343633333333
TotalSeconds      : 1.1780618
TotalMilliseconds : 1178.0618
```
2016-07-15 14:02:57 +01:00
Martin Kojtal 3d20b10b4d Merge pull request #2172 from theotherjimmy/enfoce-supported-toolchains
[tools-build.py]Enforce supported toolchains
2016-07-15 09:02:14 +01:00
Martin Kojtal 3a2b752169 Merge pull request #2174 from theotherjimmy/return-from-build
[tools/build_api] Retrun truthy value on success from build_*
2016-07-15 09:01:31 +01:00
Sam Grove eca0c69e6c Merge pull request #2141 from theotherjimmy/project-argparse
[Project.py] Make -i and -m optional
2016-07-14 18:00:20 -05:00
Jimmy Brisson 6aa2bbb801 [tools/build_api] Retrun truthy value on success from build_*
before:
```
$  python tools/build.py  -m NRF51_DK --source . -t GCC_ARM,ARM --build build --silent
[SNIP]
Completed in: (3.39)s

Build skipped:
  * GCC_ARM::NRF51_DK
  * ARM::NRF51_DK

```
after:
```
$  python tools/build.py  -m NRF51_DK --source . -t GCC_ARM,ARM --build build --silent
[SNIP]
Completed in: (3.43)s

Build successes:
  * GCC_ARM::NRF51_DK
  * ARM::NRF51_DK

```
2016-07-14 13:55:51 -05:00
Jimmy Brisson 24fcb4700b [tools-build.py]Enforce supported toolchains
by skipping unsupported combinations
2016-07-14 13:29:55 -05:00
0xc0170 125754bf31 Exporter uvision - fix build_dir, only windows slashes allowed
uvision errors otherwise, not possible to create a path.
2016-07-14 14:21:05 +01:00
Russ Butler 546b5dec7c Remove floating point formatting in newlib nano
Remove special case targets which have floating point enabled in
Newlib Nano from gcc.py.  To enable floating point printf/scanf
for a target configure it to use the 'standard' default build in
targets.json rather than 'small'.
2016-07-13 18:48:43 -05:00
0xc0170 9c3801b7b5 Config - fix - use basetring to check if a target is string 2016-07-13 14:59:48 +01:00
Bogdan Marinescu d0d023ab58 Merge pull request #2122 from theotherjimmy/colorized-output
Colorized the short Warnings/Errors generated by the toolchains
2016-07-13 14:21:15 +03:00
Przemek Wirkus bba13ddad2 Replace in memap CSV report fields
Changes:
* This change impacts #2047
* In code summary columns were shortened and names changed a bit,
  see [here](https://github.com/mbedmicro/mbed/pull/2047/files?w=1#diff-f9cb941bde5647a5763e18fc220efc51R410)
* There is a need to allign memap CSV report fields (summary columns) with what
  is in code now. This discrapency may create problems when generating reports
  in the future. All columns should have the same name.
* memap CSV sumamry fields names changes:
  'total_static_ram' -> 'static_ram'
  'allocated_heap' -> 'heap'
  'allocated_stack' -> 'stack'

See example of discrepancy:

'total_static_ram' vs 'static_ram'
'allocated_heap' vs 'heap'
'allocated_stack' vs 'stack'

What is in code and presented with prettytable:

+----------------------------------------+--------+-----------+------------+-------+-------+-----------+-------------+
| name                                   | target | toolchain | static_ram | stack |  heap | total_ram | total_flash |
+----------------------------------------+--------+-----------+------------+-------+-------+-----------+-------------+
| tests-mbed_drivers-c_strings           | K64F   | GCC_ARM   |      11468 | 32768 | 65540 |    109776 |       74182 |
| tests-mbed_drivers-callback            | K64F   | GCC_ARM   |      11980 | 32768 | 65540 |    110288 |       88406 |
| tests-mbedmicro-rtos-mbed-threads      | K64F   | GCC_ARM   |      11468 | 32768 | 65540 |    109776 |       75918 |
| tests-mbedmicro-rtos-mbed-timer        | K64F   | GCC_ARM   |      10788 | 32768 | 65540 |    109096 |       68534 |
+----------------------------------------+--------+-----------+------------+-------+-------+-----------+-------------+

vs CSV:

```
total_static_ram,allocated_heap,allocated_stack,total_ram,total_flash
10788,65540,32768,109096,67486
```

vs memstats_map.JSON:

```json
[
    {
        "module": "Fill",
        "size": {
            ".data": 4,
            ".bss": 2257,
            ".text": 173
        }
    },

    {
        "summary": {
            "total_flash": 67486,
            "allocated_stack": 32768,
            "total_static_ram": 10788,
            "total_ram": 109096,
            "allocated_heap": 65540
        }
    }
]
```
2016-07-13 11:25:04 +01:00
Bogdan Marinescu e9d225bb96 Merge pull request #2151 from mbedmicro/verbose_json_errors
More verrbose errors for JSON parsing
2016-07-13 10:29:31 +03:00
Bogdan Marinescu 33dd3fe8ad More verrbose errors for JSON parsing
This commit adds information about the location of problematic JSON
files when reporting a JSON parsing error.

Before this commit:

```
[ERROR] Expecting property name: line 7 column 9 (char 188)
```

After this commit:

```
Error parsing 'core/mbed_lib.json':
[ERROR] Expecting property name: line 7 column 9 (char 188)
```
2016-07-12 18:52:34 +03:00
jeromecoutant 8d3cdfea59 tools update to add NUCLEO_F207ZG 2016-07-12 16:38:11 +02:00
Bogdan Marinescu 9704edfca7 Fix add_py_targets and tests
Previously, add_py_targets assumed that it is not an error to add an
existing target if that target was previously added using
add_py_targets. This was done to aid testing, but it was weird, error
prone and broke with the latest changes to the caching mechanism. With
this commit:

- it is always an error to add a target that was previously added, which
  is much more consistent.
- tests for the configuration mechanism use the newly added
  'set_targets_json_location' function to clear the internal caches in
  targets.py (and thus all previously added custom targets). As a side
  effect, this commit also tests the 'set_targets_json_location'
  function itself.
2016-07-12 14:42:21 +03:00
Bogdan Marinescu 117b21df8f It's now possible to specify the location of targets.json
With this change, it becomes possible to use targets.py with any
targets.json, not just the default one in ../hal/targets.json.
targets.py will still be initialized with the default targets.json, but
the code can then call "set_targets_json_location" to specify the new
location of targets.json. set_targets_json_location modifies all the
data "in place"; that is, it doesn't create a new TARGET_MAP,
TARGET_NAMES or alike, but rather modified the existing ones. This is
important, because code using this construct:

from tools.targets import TARGET_MAP

can work unmodified with this change.
2016-07-12 13:03:47 +03:00
Jimmy Brisson 50dbce9e74 Fixes to function caching in targets.py
Now funnctions are looked up in the cache using a (function name,
arguments) key, which makes it possible to cache different invocations
of the functions (with different arguments).
Also applied the @cached attribute to get_target.
2016-07-12 13:03:40 +03:00
Jimmy Brisson cebe292c5e [Project.py] Make -i and -m optional
Resolves #2135
2016-07-11 10:38:50 -05:00
Jimmy Brisson e2c88373ee Replace color definitions with colorama constants 2016-07-11 09:41:23 -05:00
Jimmy Brisson bac254c7a3 Add documentation of the notify parameter to mbedToolchain 2016-07-11 09:41:23 -05:00
Jimmy Brisson 12492c17b8 Call colorized notify when --color for build.py, make.py, test.py 2016-07-11 09:41:23 -05:00
Jimmy Brisson 6b8bde9471 Update event dict with toolchain, use toolchain for wrapping 2016-07-11 09:41:23 -05:00
Jimmy Brisson 21f025e601 Add a setting for colorization map so that it may be overwritten by the user 2016-07-11 09:41:23 -05:00
Jimmy Brisson 3aacdb4421 Implement colorization in it's own file 2016-07-11 09:41:23 -05:00
Jimmy Brisson f4254c4fee Add colorization option to default options parser
should be picked up by most cli's
2016-07-11 09:41:14 -05:00
0xc0170 359d33cc16 Revert part of the FPU change
We keep target.core names, it defines if CPU contains FPU, as it's common - Cortex M4F/M7F.
We add Cortex M7FD for double precision FPU.
2016-07-11 10:39:23 +01:00
Jimmy Brisson 61c63b3789 Argument error when memap's input file does not exist 2016-07-07 15:29:36 -05:00
Jimmy Brisson 122fa93a70 Allow make.py to accpet just --source 2016-07-07 15:29:36 -05:00
Jimmy Brisson 6d0716c69b Ignore extra MCUs and toolchains in get_config.py 2016-07-07 15:29:36 -05:00
Jimmy Brisson 254dccdad3 Remove checking for existance of build directory 2016-07-07 15:29:36 -05:00
Jimmy Brisson 7a4bee8c0e nargs="*" -> action="append" 2016-07-07 15:29:36 -05:00
Jimmy Brisson bca12206f1 Allow --source to be specified more than once 2016-07-07 15:29:36 -05:00
Jimmy Brisson 4c5bfaa3d8 Allow --source with -n and -p, or alone; name projects conditionally 2016-07-07 15:29:36 -05:00
Jimmy Brisson 5f18943641 Revert parsing of mutiple ides on command line 2016-07-07 15:29:36 -05:00
Jimmy Brisson 9040d27967 Rework the force types to match case
for example, argparse_force_uppercase_type will now correctly parse uARM to uARM
2016-07-07 15:29:36 -05:00