Commit Graph

584 Commits (3a714c117eea4c781fc83df9c794e0845d1497d0)

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