Commit Graph

1019 Commits (213626d83a2e2b51fb639d4a40a8726e2f362d74)

Author SHA1 Message Date
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
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
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
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