Commit Graph

343 Commits (dd36dc4228b52ae538ecaa2f1a1dbba9260b9bd9)

Author SHA1 Message Date
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
Jimmy Brisson b4b514ea2f Correct test_name_known, now use argparse_many for lists
also updated all consumers of test_name_known
2016-07-07 15:29:36 -05:00
Jimmy Brisson 5052e97b17 Force conversion of all -i, -m, -t to the correct case 2016-07-07 15:29:36 -05:00
Jimmy Brisson 6fda53b8b8 Add documentation for the argparser utilities 2016-07-07 15:29:36 -05:00
Jimmy Brisson 59ae690f9b Correct style in tests.py 2016-07-07 15:29:36 -05:00
Jimmy Brisson d6bee561ab Squash weird import bug 2016-07-07 15:29:36 -05:00
Jimmy Brisson 0ec8199c55 Revert "Revert "Generalize flag handling""
This reverts commit 33cec194c6.
2016-07-07 15:29:36 -05:00
0xc0170 935f537573 Build release - add copy targets.json file 2016-07-07 12:04:49 +01:00
Przemek Wirkus 12a01f61ca Add summary for test building
When users are building tests with `mbed compile --tests` whey will by default
get memory map breakdown report.
This can be suppresed in the future with command line switch. For now it is
visible each time users build test cases.
List is sorted by project name created with `build_project` API.

Changes:
* `build_project` now returns tuple (this breaks build_api.build_project API!)
* Memmap script got a aggregation function to print summary from small 'JSON'
  partial reports.
* Report is generated by `test_api.build_tests` function only!

Example:
```
+----------------------------------------------------------------------+--------+-----------+-------------+------------+-------+-------+-----------+
| name                                                                 | target | toolchain | total_flash | static_ram | stack |  heap | total_ram |
+----------------------------------------------------------------------+--------+-----------+-------------+------------+-------+-------+-----------+
| features-feature_ipv4-tests-mbedmicro-net-nist_internet_time_service | K64F   | GCC_ARM   |      132136 |      62288 | 32768 | 65536 |    160592 |
| features-feature_ipv4-tests-mbedmicro-net-tcp_client_echo            | K64F   | GCC_ARM   |      125613 |      62448 | 32768 | 65540 |    160756 |
| features-feature_ipv4-tests-mbedmicro-net-tcp_client_hello_world     | K64F   | GCC_ARM   |      125949 |      62448 | 32768 | 65540 |    160756 |
| features-feature_ipv4-tests-mbedmicro-net-udp_echo_client            | K64F   | GCC_ARM   |      123613 |      62276 | 32768 | 65536 |    160580 |
| features-storage-tests-cfstore-add_del                               | K64F   | GCC_ARM   |       96080 |      13052 | 32768 | 65540 |    111360 |
| features-storage-tests-cfstore-close                                 | K64F   | GCC_ARM   |       95520 |      12004 | 32768 | 65540 |    110312 |
| features-storage-tests-cfstore-create                                | K64F   | GCC_ARM   |       99144 |      13036 | 32768 | 65540 |    111344 |
| features-storage-tests-cfstore-example1                              | K64F   | GCC_ARM   |       98592 |      12368 | 32768 | 65536 |    110672 |
| features-storage-tests-cfstore-example2                              | K64F   | GCC_ARM   |       95232 |      12012 | 32768 | 65540 |    110320 |
| features-storage-tests-cfstore-example3                              | K64F   | GCC_ARM   |       95264 |      11856 | 32768 | 65536 |    110160 |
| features-storage-tests-cfstore-example4                              | K64F   | GCC_ARM   |       92632 |      12012 | 32768 | 65540 |    110320 |
| features-storage-tests-cfstore-example5                              | K64F   | GCC_ARM   |       92344 |      11856 | 32768 | 65536 |    110160 |
| features-storage-tests-cfstore-find                                  | K64F   | GCC_ARM   |       96344 |      13028 | 32768 | 65540 |    111336 |
| features-storage-tests-cfstore-find2                                 | K64F   | GCC_ARM   |       93192 |      12004 | 32768 | 65540 |    110312 |
| features-storage-tests-cfstore-flash                                 | K64F   | GCC_ARM   |       97784 |      12532 | 32768 | 65540 |    110840 |
| features-storage-tests-cfstore-flush                                 | K64F   | GCC_ARM   |       96464 |      12012 | 32768 | 65540 |    110320 |
| features-storage-tests-cfstore-flush2                                | K64F   | GCC_ARM   |       95056 |      12004 | 32768 | 65540 |    110312 |
| features-storage-tests-cfstore-init                                  | K64F   | GCC_ARM   |       93120 |      12012 | 32768 | 65540 |    110320 |
| features-storage-tests-cfstore-misc                                  | K64F   | GCC_ARM   |       96808 |      12516 | 32768 | 65540 |    110824 |
| features-storage-tests-cfstore-open                                  | K64F   | GCC_ARM   |       98632 |      12540 | 32768 | 65540 |    110848 |
| features-storage-tests-cfstore-read                                  | K64F   | GCC_ARM   |       94112 |      12540 | 32768 | 65540 |    110848 |
| features-storage-tests-cfstore-write                                 | K64F   | GCC_ARM   |       94488 |      12004 | 32768 | 65540 |    110312 |
| features-storage-tests-flash_journal-basicapi                        | K64F   | GCC_ARM   |      104712 |      21236 | 32768 | 65540 |    119544 |
| frameworks-utest-tests-unit_tests-basic_test                         | K64F   | GCC_ARM   |       71534 |      11468 | 32768 | 65540 |    109776 |
| frameworks-utest-tests-unit_tests-case_async_validate                | K64F   | GCC_ARM   |       74598 |      11468 | 32768 | 65540 |    109776 |
| frameworks-utest-tests-unit_tests-case_control_async                 | K64F   | GCC_ARM   |       74630 |      11476 | 32768 | 65540 |    109784 |
| frameworks-utest-tests-unit_tests-case_control_repeat                | K64F   | GCC_ARM   |       72790 |      11452 | 32768 | 65540 |    109760 |
| frameworks-utest-tests-unit_tests-case_selection                     | K64F   | GCC_ARM   |       72302 |      11468 | 32768 | 65540 |    109776 |
| frameworks-utest-tests-unit_tests-case_setup_failure                 | K64F   | GCC_ARM   |       72630 |      11468 | 32768 | 65540 |    109776 |
| frameworks-utest-tests-unit_tests-case_teardown_failure              | K64F   | GCC_ARM   |       72790 |      11468 | 32768 | 65540 |    109776 |
| frameworks-utest-tests-unit_tests-control_type                       | K64F   | GCC_ARM   |       82462 |      11468 | 32768 | 65540 |    109776 |
| frameworks-utest-tests-unit_tests-minimal_async_scheduler            | K64F   | GCC_ARM   |       72182 |      11468 | 32768 | 65540 |    109776 |
| frameworks-utest-tests-unit_tests-minimal_scheduler                  | K64F   | GCC_ARM   |       71998 |      11468 | 32768 | 65540 |    109776 |
| frameworks-utest-tests-unit_tests-test_assertion_failure_test_setup  | K64F   | GCC_ARM   |       71710 |      11460 | 32768 | 65540 |    109768 |
| frameworks-utest-tests-unit_tests-test_setup_case_selection_failure  | K64F   | GCC_ARM   |       71702 |      11468 | 32768 | 65540 |    109776 |
| frameworks-utest-tests-unit_tests-test_setup_failure                 | K64F   | GCC_ARM   |       71710 |      11468 | 32768 | 65540 |    109776 |
| tests-integration-basic                                              | K64F   | GCC_ARM   |       67566 |      10780 | 32768 | 65540 |    109088 |
| tests-integration-threaded_blinky                                    | K64F   | GCC_ARM   |       68326 |      10780 | 32768 | 65540 |    109088 |
| tests-mbed_drivers-c_strings                                         | K64F   | GCC_ARM   |       74438 |      11468 | 32768 | 65540 |    109776 |
| tests-mbed_drivers-callback                                          | K64F   | GCC_ARM   |       88310 |      11972 | 32768 | 65540 |    110280 |
| tests-mbed_drivers-dev_null                                          | K64F   | GCC_ARM   |       90213 |      10784 | 32768 | 65540 |    109092 |
| tests-mbed_drivers-echo                                              | K64F   | GCC_ARM   |       71918 |      11468 | 32768 | 65540 |    109776 |
| tests-mbed_drivers-generic_tests                                     | K64F   | GCC_ARM   |       77624 |      11468 | 32768 | 65540 |    109776 |
| tests-mbed_drivers-rtc                                               | K64F   | GCC_ARM   |       85854 |      11308 | 32768 | 65540 |    109616 |
| tests-mbed_drivers-stl_features                                      | K64F   | GCC_ARM   |       80726 |      11476 | 32768 | 65540 |    109784 |
| tests-mbed_drivers-ticker                                            | K64F   | GCC_ARM   |       70974 |      11308 | 32768 | 65540 |    109616 |
| tests-mbed_drivers-ticker_2                                          | K64F   | GCC_ARM   |       70790 |      11308 | 32768 | 65540 |    109616 |
| tests-mbed_drivers-ticker_3                                          | K64F   | GCC_ARM   |       71038 |      11308 | 32768 | 65540 |    109616 |
| tests-mbed_drivers-timeout                                           | K64F   | GCC_ARM   |       70886 |      11308 | 32768 | 65540 |    109616 |
| tests-mbed_drivers-wait_us                                           | K64F   | GCC_ARM   |       70414 |      11308 | 32768 | 65540 |    109616 |
| tests-mbedmicro-mbed-attributes                                      | K64F   | GCC_ARM   |       71534 |      11460 | 32768 | 65540 |    109768 |
| tests-mbedmicro-mbed-call_before_main                                | K64F   | GCC_ARM   |       73112 |      10780 | 32768 | 65540 |    109088 |
| tests-mbedmicro-mbed-cpp                                             | K64F   | GCC_ARM   |       73400 |      10780 | 32768 | 65540 |    109088 |
| tests-mbedmicro-mbed-div                                             | K64F   | GCC_ARM   |       73176 |      10780 | 32768 | 65540 |    109088 |
| tests-mbedmicro-rtos-mbed-basic                                      | K64F   | GCC_ARM   |       68390 |      10780 | 32768 | 65540 |    109088 |
| tests-mbedmicro-rtos-mbed-isr                                        | K64F   | GCC_ARM   |       74480 |      10780 | 32768 | 65540 |    109088 |
| tests-mbedmicro-rtos-mbed-mail                                       | K64F   | GCC_ARM   |       74992 |      11300 | 32768 | 65540 |    109608 |
| tests-mbedmicro-rtos-mbed-mutex                                      | K64F   | GCC_ARM   |       74048 |      10780 | 32768 | 65540 |    109088 |
| tests-mbedmicro-rtos-mbed-queue                                      | K64F   | GCC_ARM   |       74912 |      11300 | 32768 | 65540 |    109608 |
| tests-mbedmicro-rtos-mbed-semaphore                                  | K64F   | GCC_ARM   |       74296 |      10780 | 32768 | 65540 |    109088 |
| tests-mbedmicro-rtos-mbed-signals                                    | K64F   | GCC_ARM   |       74328 |      10780 | 32768 | 65540 |    109088 |
| tests-mbedmicro-rtos-mbed-threads                                    | K64F   | GCC_ARM   |       75214 |      11460 | 32768 | 65540 |    109768 |
| tests-mbedmicro-rtos-mbed-timer                                      | K64F   | GCC_ARM   |       68430 |      10780 | 32768 | 65540 |    109088 |
| tests-storage_abstraction-basicapi                                   | K64F   | GCC_ARM   |      107808 |      28908 | 32768 | 65540 |    127216 |
+----------------------------------------------------------------------+--------+-----------+-------------+------------+-------+-------+-----------+
```

Refactored after code review

Refactored parse() function

Polishing

Moved memory usage reporting function call to test.py to group all reporters in one place

Bug-fix: on ARM toolchain we were not fetching statistics from last element of memap result list
2016-07-07 08:35:20 +01:00
Sam Grove 458b46c803 Merge pull request #1873 from theotherjimmy/file-reporter
Adds a simple text file report format
2016-07-06 16:45:43 -05:00
Sam Grove 36ff1f73ce Merge pull request #2106 from theotherjimmy/fix-makefile
[Exporter-gcc_arm] do builds from project directory when --source is specified
2016-07-06 15:33:28 -05:00
Jimmy Brisson 3697dedb78 Reverse order of relativizing paths and unixifing paths
'cause windows silly path separator is the same as the escape character
2016-07-06 13:54:33 -05:00
Jimmy Brisson 3cf8bfbfb7 Allow spaces in paths passed to mkdir and rm on bash 2016-07-06 12:51:14 -05:00
Jimmy Brisson fbccf8dfc9 Force shell use when in bash/sh mode 2016-07-06 12:49:38 -05:00
Jimmy Brisson c2d66865be Correct batch detection algorimthm
There are two shell-like things that we care about
 bash: does environment varible expansion with $
 batch: does environment varible expansion by surrounding something with %

so to detect batch, try to expand a variable on the shell with $.
If you get a $ back, you are in batch!
2016-07-06 11:32:01 -05:00
Martin Kojtal e237d157dd Merge pull request #2113 from ohagendorf/gcc_export
[bugfix gcc_arm] build+make <-> export project+make: different results
2016-07-06 13:49:10 +01:00
Olaf Hagendorf bd614a2a11 [bugfix gcc_arm] build+make <-> export project+make: different results
when in target.json "default_build": "small" is configured
- build.py+make.py
  - uses linker option --specs=nano.specs
  - macro MBED_RTOS_SINGLE_THREAD is defined
- exporting with project.py + make Makefile
  - doesn't use the linker option --specs=nano.specs
  - doesn't contain macro MBED_RTOS_SINGLE_THREAD
2016-07-06 13:35:09 +02:00
Olaf Hagendorf 7f2f0bc5c6 repairing a minor typo in exporters.py 2016-07-06 13:34:59 +02:00
Bogdan Marinescu b8c64cd275 Merge pull request #2102 from mbedmicro/fix_tests_with_config
Fix tests with config
2016-07-06 11:09:20 +03:00
Jimmy Brisson 61ee30efb2 Fix normal export (no --source) 2016-07-05 12:04:36 -05:00
Jimmy Brisson fa527cf45e Rework vpaths and include file locating 2016-07-05 11:51:27 -05:00
Jimmy Brisson 4b7f591d33 Fix the makefile template
- Corrects a python barf when something in features is None
 - Corrects makefile to prevent barf when using make -f
2016-07-05 10:16:50 -05:00
Bogdan Marinescu fbb26a405c Fix tests.py so it can work with application defined targets
With this patch in place, tests.py uses targets names instead of target
instances, which makes it possible to use application defined targets
with tests.
2016-07-05 15:52:53 +03:00
Bogdan Marinescu 36a577e1ef Make build_tests work with target names, not just Target instances
With this change, custom targets defined by the application being
tested in its mbed_app.json file can be used with tests. Note that
`build_project` already accepts both target names and instances, so the
call to `build_project` inside `build_tests` will still work.
2016-07-05 15:47:26 +03:00
Bogdan Marinescu e3d29fe5d2 Improve configuration handling in build_project
The configuration object is now created early in the build_project
function. This way, if there's a mbed_app.json that contains a custom
target, that target is taken into account. This is useful (for example)
when compiling tests for an application that defines a custom target.
2016-07-05 15:40:12 +03:00
0xc0170 3b84b42a53 Build release - use target.release to produce release tuple 2016-07-05 10:50:29 +01:00
Olaf Hagendorf 4fe41d4edd fpu with single/double precision - removing redundancy
- removing redundancy as discussed in PR #2087:
 - in target.json the core option can have only this values : "Cortex-M0", "Cortex-M0+", "Cortex-M1", "Cortex-M3", "Cortex-M4", "Cortex-M7", "Cortex-A9" - Cortex-M4F and Cortex-M7F removed
 - in target.json an additional fpu option with values: "single" and "double" can be used
- build and export scripts are changed to handle this

- tested (compiling, running on hardware) with nucleo_f767 (cortex-m7 with double precision fpu), nucleo_f746 (cortex-m7 with single precision fpu), nucleo_f446 and nucleo_l467 (cortex-m4 with single precision fpu), teensy31 (cortex-m4 without fpu - only build test), nucleo_l073 (cortex-m0)
- singletest results are added to PR #2087 comments
2016-07-04 22:08:31 +02:00
Olaf Hagendorf ea196e2adb fpu with single/double precision - bugfix and extension
- creating new core name Cortex_M7F_DP for a target with a double precision fpu
- adding new core name to arm.py to set compiler/linker flags to a double precision fpu when configured in target.json
- up to now: gcc wrote flag for a double precision fpu -> target with STM32F746 didn't run when using double variables - mcu has only single precision fpu
- changing gcc.py to use single precision for Cortex-M7 und double precision for Cortex_M7F_DP

tested with NUCLEO_F746, NUCLEO_F767 and build.py+make.py and exporting with project.py + compiling/flashing

- iar.py need a similar extention - I didn't change that yet because
  - did not run at the moment - python exception
  - currently worked on in PR #1948
2016-07-04 22:08:30 +02:00
Erwan GOURIOU eaf77ed37f [STM32F4xx][NUCLEO_F429ZI] Add on for NUCLEO_F429ZI export and tests 2016-07-04 15:20:12 +02:00
Erwan Gouriou 9bb08291ce [STM32F4xx] Add support for NUCLEO_F429ZI 2016-07-04 14:00:41 +02:00
Laurent Meunier 4e1a3351b2 [NUCLEO_F446ZE] Add to build and export scripts 2016-07-04 11:44:28 +02:00
Olaf Hagendorf 4211f7581e [NUCLEO_F7xx] adding F767 to build_release and adding default_build to target.json 2016-07-01 16:27:20 +02:00
ohagendorf fdda915a8a [NUCLEO_F767ZI] adding target to rtos lib 2016-07-01 15:19:30 +02:00
ohagendorf 9ddbb1f831 [NUCLEO_F767] move gcc template to new path 2016-07-01 15:17:25 +02:00
Olaf Hagendorf 3ac68aae06 typo in target names for travis build 2016-07-01 15:17:21 +02:00
ohagendorf cc537f7449 adding gccarm and uvision5 exporter 2016-07-01 15:17:21 +02:00
Martin Kojtal 62604b45b2 Merge pull request #1880 from zgoda/generic_bluepill
Support for Blue Pill
2016-07-01 14:52:04 +02:00
Martin Kojtal 6350b2d904 Merge pull request #2046 from sarahmarshy/patch-2
Changed reference to old rtos location
2016-07-01 13:33:40 +02:00
Sam Grove 185676300d Merge pull request #2060 from theotherjimmy/cleanup-make-export
[Exporters-gcc_arm] Clean up the source directory
2016-06-30 13:01:54 -05:00
Jimmy Brisson 3850c2628b Force all to be the default target 2016-06-30 11:43:01 -05:00
Jimmy Brisson 6c1c7a5955 Check for OSTYPE instead of OS
It better detects sh vs. batch
2016-06-30 11:28:32 -05:00
Sam Grove 197c4b516b Merge pull request #2076 from bridadan/relative-paths-test-spec
Relative paths in test spec file
2016-06-30 11:01:07 -05:00
Jimmy Brisson d6d0202236 Move binaries from bin to .build 2016-06-30 10:55:34 -05:00
Jimmy Brisson 5d014661c2 Redo window mkdir; add cross-platform rmdir 2016-06-30 10:55:10 -05:00
Jimmy Brisson 6867499da3 Test for existance of dir before creating it 2016-06-30 10:55:04 -05:00
Jimmy Brisson 6971b1e1b4 update mkdir to be cross-platform 2016-06-30 10:51:19 -05:00
Jimmy Brisson 7b5831247d Make the efm32 targets use the common makefile template 2016-06-30 10:51:19 -05:00
Jimmy Brisson 63f4e6a279 sam*::gcc_arm targets extend the common makefile 2016-06-30 10:51:19 -05:00
Jimmy Brisson 86585197da rework the common template to place objects into bin 2016-06-30 10:51:18 -05:00
Brian Daniels b7186bb604 Test spec paths are now relative to tool execution directory
This commit also normalizes the paths produced by the the test spec to
Unix style paths to increase portability of the file.
2016-06-30 09:32:13 -05:00
svastm 505814147d [NUCLEO_L432KC] Add RTOS support 2016-06-30 15:05:09 +02:00
svastm 2198dccd6e [NUCLEO_L432KC] Add to build and export scripts 2016-06-30 14:50:35 +02:00
Jarek Zgoda 2731bc7da3 Template moved to new tools directory 2016-06-30 12:36:19 +02:00
Jarek Zgoda 59623d62f9 One more occurence to be renamed 2016-06-30 12:36:19 +02:00
Jarek Zgoda 3006f70552 Support for Blue Pill 2016-06-30 12:36:18 +02:00
Sam Grove 472ac772f9 Merge pull request #2056 from theotherjimmy/pass-files-to-source
Enable passing individual files to --source options
2016-06-29 17:08:30 -05:00
Jimmy Brisson cd9261d168 Add documentation 2016-06-29 11:20:34 -05:00
Jimmy Brisson ce1cddcd8b Prefix non-public api with an underscore 2016-06-29 11:11:54 -05:00
Jimmy Brisson c7acb7c293 Enable passing individual files to scan_resources 2016-06-29 11:10:12 -05:00
Brian Daniels 27aea960bc Changing name of test binaries to just test case folder name.
This mitigates the Windows paths issue by shortening the test binary name to just the
test case folder name instead of the full unique test name used by the
tools. This doesn't solve the Windows path limit of 260 characters, but it
does reduce the characters used.
2016-06-28 18:48:13 -05:00
Jimmy Brisson feea8d59e1 Fix a bug that caused the gcc_arm exporter to fail
Resolves #2048
2016-06-28 11:11:03 -05:00
Sam Grove ec1ec7c3e2 Merge pull request #2015 from mlnx/memap_improvements
[memap] Improve wording on stack/heap and minor improvements
2016-06-28 11:00:10 -05:00
Sam Grove 5ea1953755 Merge pull request #2045 from 0xc0170/fix_iar_vla
iar - remove --vla flag for exporters
2016-06-28 10:52:00 -05:00
Martin Kojtal 5534f34d0e Merge pull request #2033 from screamerbg/env-var-paths
[Tools] Add MBED_ prefix to compilers environment variables
2016-06-28 17:32:42 +02:00
sarahmarshy 06706da749 Changed reference to old rtos location 2016-06-28 10:25:48 -05:00
0xc0170 d2a216f3a0 iar - remove --vla flag for exporters
The template file already enables VLA as it's for C only. This --vla flag
causes conflicts with --cpp flag that is enabled implicitly if C++ is enabled.
2016-06-28 17:15:48 +02:00
Mihail Stoyanov b8cc5988bb Merge pull request #2036 from screamerbg/fix-tests1
[Testing] Disable test MBED_39 being commonly failed test
2016-06-28 15:18:28 +01:00
Bogdan Marinescu 986ed4f22c Merge pull request #2043 from 0xc0170/fix_uvision_libpath
armcc - remove libpath from ld flags
2016-06-28 16:36:33 +03:00
Martin Kojtal a84b7e71e2 Merge pull request #2042 from DanKupiniak/export_elmo_f411re_to_gcc_arm
Export ELMO_F411RE projects to offline GCC ARM Make project.
2016-06-28 15:34:11 +02:00
0xc0170 29f806bb64 armcc - remove libpath from ld flags
libpath is not required for exporters, as they provide default paths.
This caused problems when paths are not correct for mbed tools, a project
fails to build as path is not found.
2016-06-28 14:58:26 +02:00
0xc0170 f44ff94fc3 uvision4/5 - remove no-vla for exporters
IDE has C/C++ tab, thus this only cxx flag would be applied for
C files.
2016-06-28 14:15:34 +02:00
Daniel Kupiniak bb29ed8991 Export ELMO_F411RE projects to offline GCC ARM Make project. 2016-06-28 14:14:48 +02:00
0xc0170 35c90753c0 Project - fix zip rename argument 2016-06-28 10:22:47 +02:00
Bogdan Marinescu af71d87adc Merge pull request #1975 from theotherjimmy/export-mbed-conf
[Exporters] Update exporters to include and use mbed_conf.h (Was #1964)
2016-06-28 11:15:22 +03:00
Martin Kojtal 96e533c361 Merge pull request #2034 from sarahmarshy/patch-1
[Exporters] Conflicting zip name
2016-06-28 07:28:41 +02:00
Mihail Stoyanov 51157ba073 Disable test MBED_39 being commonly failed test 2016-06-27 23:55:45 +01:00
Mihail Stoyanov b67d425f09 Add MBED_ prefix to compilers environment variables 2016-06-27 23:27:43 +01:00
sarahmarshy beb0be99d8 Conflicting zip name
The boolean zip passed as a parameter conflicts with the zip exporter class imported.
2016-06-27 17:20:13 -05:00
Jimmy Brisson 855cc91550 Force program_cycle_s to be used as an attribue everywhere 2016-06-27 16:01:52 -05:00
Jimmy Brisson 8e11fa2071 Undelete defines from IAR 2016-06-27 14:36:35 -05:00
Jimmy Brisson 7b83c30ba1 for file in `ls tofor file in `ls tools/export`; do sed -i tools/export/$file -e "s/MBED_CONF_ACTIVE/MBED_CONFIG_HEADER_SUPPORTED/"; done 2016-06-27 14:06:42 -05:00
Jimmy Brisson 4746beb256 Switch to = style for preincludes
relpaces the --preinclude mbed_config.h with --preinclude=mbed_config.h
2016-06-27 14:06:42 -05:00
Jimmy Brisson f92d3ec9be Move name of config file to one location 2016-06-27 14:06:42 -05:00
Jimmy Brisson 3a273f78f2 Create and enable exporter flag mbed_conf_active for exporters
The mbed_conf_active feature disables configuration macros on the
command line and replaces them with a preinclude header file
2016-06-27 14:06:42 -05:00
Jimmy Brisson c06dad55d9 Change uVisoun[45] to get preincludes 2016-06-27 14:06:42 -05:00
Jimmy Brisson a1b73c9b7e Fix typo after rebase 2016-06-27 14:06:41 -05:00
Mihail Stoyanov 879ae8c6bd Fixed gcc.py typo
get_conifg_option -> get_config_option
2016-06-27 14:06:41 -05:00
Jimmy Brisson d9b4109143 Update progen-style flags with the toolchains include mbed_conf.h 2016-06-27 14:06:41 -05:00
Jimmy Brisson 5532fb8697 Export command line for including mbed_conf.h from toolchains 2016-06-27 14:06:34 -05:00
Jimmy Brisson 4f29483255 Update exporters to include the generated mbed_conf.h 2016-06-27 13:59:56 -05:00
Sam Grove f7ad7d2e27 Merge pull request #2005 from screamerbg/env-var-paths
[Tools] Add environmental variables support for toolchain paths
2016-06-27 11:41:58 -05:00
Sam Grove f3e15ebfa3 Merge pull request #2020 from mbedmicro/fix_iar_asm_options
Fixed config-related options for the IAR assembler
2016-06-27 11:37:59 -05:00
Bogdan Marinescu 676cfbb695 Merge pull request #2028 from mbedmicro/add_project_folders
Change directory generation for project files.
2016-06-27 18:52:18 +03:00
Martin Kojtal 2acd3bbf2f Merge pull request #2023 from screamerbg/misc-scripts
Move non-essential scripts to tools/misc/
2016-06-27 17:51:56 +02:00
Bogdan Marinescu 2852932367 Change directory generation for project files.
Before this PR:

```
Successful exports:
  * K64F::uvision       .\projectfiles\uvision\Unnamed_Project_K64F
```

After this PR:

```
Successful exports:
  * K64F::uvision       .\projectfiles\uvision_K64F\Unnamed_Project
```

The directory name now contains <ide>_<target>, and there's a single
project per directory as a result.
2016-06-27 18:16:46 +03:00
Marcelo Salazar d50139c8e3 Minor tweaks 2016-06-27 15:02:05 +01:00
Martin Kojtal fdb401ce4e Exporter - source_relative name fix
relative did not contain enough details what's the intention with
this flag.
2016-06-27 15:29:21 +02:00
Martin Kojtal 5800af11b3 Exporters - add source_relative flag
if we work with relative sources, the flag should be set to True, otherwise
False.

This fixes wrong paths when exporting with --source argument. The exporter would
assume sources were copied, and thus reference them all within the root of the generated
project.
2016-06-27 15:25:44 +02:00
Mihail Stoyanov 925781c6a7 Move non-essential scripts to tools/misc/ 2016-06-27 14:11:38 +01:00
Bogdan Marinescu b4e8cf655d Fixed config-related options for the IAR assembler
The IAR assembler doesn't accept '--preinclude', but it accepts -D.
This commit changes the way the config-related macros are propagated
to the IAR assembler to use '-D' instead of '--preinclude'. This is
the only change related to functionality, the others are small,
backward compatible changes to the config code to make passing arguments
to the toolchain instances easier.

Tested by compiled blinky with IAR, GCC_ARM and ARM for K64F.
2016-06-27 15:54:38 +03:00
Marcelo Salazar fbd8a41fed Reverted changes and improved wording 2016-06-27 13:31:56 +01:00
Marcelo Salazar c0f53ccb21 [memap] Removing stack/heap and minor improvements
- Removing stack & heap (dynamic) RAM information
  This information was misleading and shouldn't be shown in memap.
  E.g. each task may have its own stack region configured at run time.

- Adding 'bytes' unit in the total memory info

- Right aligment of numbers, so it is easier to compare numbers
2016-06-27 11:44:01 +01:00
Mihail Stoyanov faa427db77 Add environmental variables support for toolchain paths
Also updated license of settings.py and default_settings.py and added
comments
2016-06-24 23:03:08 +01:00
Sam Grove 33cec194c6 Revert "Generalize flag handling" 2016-06-24 16:39:01 -05:00
Sam Grove 667d49ed8f Merge pull request #1985 from kjbracey-arm/iar_vlas
Turn on C99 VLAs in IAR
2016-06-24 16:13:22 -05:00
Sam Grove 6dd11c76e4 Merge pull request #1976 from theotherjimmy/memap-args
Generalize flag handling
2016-06-24 15:03:50 -05:00
Jimmy Brisson 7b3ef2179f Make mcu and tool arguments many and update all consumers of them 2016-06-24 14:23:19 -05:00
Jimmy Brisson d757f35d15 Update style 2016-06-24 14:23:19 -05:00
Jimmy Brisson 7e5deaa7d0 standardize on nargs="*" 2016-06-24 14:23:19 -05:00
Jimmy Brisson 3276854f49 fix parse error in test.py and make -n + -p comma separated 2016-06-24 14:23:19 -05:00
Jimmy Brisson 439d2e8539 Add -S, -L, and --source to the project.py mutually exclusive group 2016-06-24 14:23:19 -05:00
Jimmy Brisson 053efc6864 Add -S, -L, and --source to the mutually exclusive group 2016-06-24 14:23:19 -05:00
Jimmy Brisson c969a4c784 Better test completion and everything that can be is columnated 2016-06-24 14:23:17 -05:00
Jimmy Brisson 91c45a7b6f Improve test -n and -p failure messages 2016-06-24 14:22:48 -05:00
Jimmy Brisson 2fc4d64b07 Brought test_api.py and users into the new order of argument parsing 2016-06-24 14:22:48 -05:00
Jimmy Brisson 18868ff3fb Convert project.py to the new style of argument parsing 2016-06-24 14:22:47 -05:00
Jimmy Brisson c5ac2cfdec Create type combinator many 2016-06-24 14:22:47 -05:00
Jimmy Brisson e4c6bcd724 Move test parsers to tests.py 2016-06-24 14:22:47 -05:00
Jimmy Brisson b98c8c1c33 Generalize all appropriate arguments and check for file existance 2016-06-24 14:22:47 -05:00
Jimmy Brisson 43e036d6e1 Move to argparse from optparse 2016-06-24 14:22:47 -05:00
Jimmy Brisson 52a7f64d67 Generalize parsing types 2016-06-24 14:22:41 -05:00
Sam Grove 0bbac4138d Merge pull request #1999 from screamerbg/fix-ignore-root
Fixed .mbedignore logic to ignore the walk() root
2016-06-23 22:40:35 -05:00
Sam Grove d3a6ac3f5f Merge pull request #1995 from geky/fix-debug-info
[tools] Reorder option handling in toolchains
2016-06-23 22:34:18 -05:00
Mihail Stoyanov 5f92574163 Merge pull request #1986 from svastm/fix_report
Fix html report exporter row tag
2016-06-24 02:26:30 +01:00
Mihail Stoyanov 6c53baf7d2 Fixed match walk() root against the ignore list.
For example .mbedignore in tools/ contains '*' and naturally should match all files, folders including tools/ itself. Without this fix, tools/ is added to the include path
2016-06-24 01:24:09 +01:00
Jimmy Brisson ee8a02c6ab Generalize export format flag input 2016-06-23 15:45:31 -05:00
Jimmy Brisson f442fd9394 Broaden acceptable toolchain spec; improved incorrect toolchain error 2016-06-23 15:45:31 -05:00
Kevin Bracey b74546c731 Warn about or prevent VLA use in C++
ARM and GNU compilers currently are in a mode where they will accept VLAs
in C++ as an extension. IAR does not accept them in C++.

Avoid potential portability surprises by making GCC warn, and
deactivating the extension in ArmCC.
2016-06-23 09:57:05 +03:00
Kevin Bracey 80a03e1787 Turn on C99 VLAs in IAR
IAR defaults to C99 mode, but doesn't enable VLAs by default. Enable them
to make it more conformant.

We don't have much if any code using actual variable-length arrays, but
variably-modified types are occasionally used. The same switch controls
both.

(VLAs were actually already enabled in most of the project export
templates, but not the build script).
2016-06-23 09:34:12 +03:00
Christopher Haster 5a4c5df4dc [tools] Reordered option handling in toolchains
Options were parsed and logged before per-toolchain
logging was setup.

Fixes #1990
2016-06-22 09:23:33 -05:00
Bogdan Marinescu f864b8439f Merge pull request #1983 from mbedmicro/fix_config_tests
Fix K64F-based config tests
2016-06-22 16:47:32 +03:00
svastm e4f38b031f Fix html report exporter row tag 2016-06-22 11:36:22 +02:00
Mihail Stoyanov 541c478dbf Remove tracking of existing mbed_config.h in the source tree 2016-06-21 23:43:09 +01:00
Mihail Stoyanov 4d68152ef1 Rename mbed_conf.h to mbed_config.h
Following the pattern device_has to DEVICE_, features to FEATURE_,
the mbed config system should map to mbed_config.h
2016-06-21 23:41:04 +01:00
Sam Grove 3a01862a4f Merge pull request #1967 from screamerbg/fix-double-ignores
Fixed double-ignored files that cause python exception
2016-06-21 17:36:01 -05:00
Jimmy Brisson 65517d6513 Removes units to make the table fit without scrolling on github 2016-06-21 16:30:29 -05:00
Jimmy Brisson 6906b97ba0 Adds a simple text file report format
Should resolve #1583
2016-06-21 16:20:19 -05:00
Bogdan Marinescu 20583ba172 Fix K64F-based config tests
PR #1974 added a new configuration parameter to K64F, which in turn made
some tests break, because they found an unexpected configuration
parameter. Fixed by defining a special target for the tests
(test_target) that can be used independently of the actual mbed targets.
2016-06-21 19:58:03 +03:00
Mihail Stoyanov e835c48cc8 Rename ignore_ptrs to ignore_patterns
Add comments to code
2016-06-17 23:27:50 +01:00
Bogdan Marinescu 6858117ff2 Conversion of boolean configuration parameters to integers
Boolean configuration parameters will now be generated as integers (1
for True, 0 for False).
2016-06-17 12:56:10 +03:00
Bogdan Marinescu 8f8733480a Remove redundant whitespaces 2016-06-17 12:19:11 +03:00