Commit Graph

213 Commits (79abaab02ec8657c06c2c564f47f67003e272b7d)

Author SHA1 Message Date
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 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
Jimmy Brisson fe1cd87724 Remove flags safely in uvisions 2016-10-03 16:19:30 -05:00
Sarah Marsh 6998524c00 Resolve issues from reorg 2016-10-03 16:02:32 -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
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 64d9665078 Merge pull request #2833 from sarahmarshy/eclipse-ref
[Exporters] Add support for Eclipse Export
2016-09-30 14:58:22 -05:00
Sarah Marsh 3cf4d02293 [Eclipse] pyocd settings renamed 2016-09-30 10:15:26 -05: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
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
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 acdab5e284 Merge pull request #2773 from sarahmarshy/quotes_error
[Exporters] [Makefile] Single quotes for escaping commands
2016-09-24 16:46:25 -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
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
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
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
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
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
OzzySan b5b6fdc6dc [MTM_MTCONNECT04S] Added gcc_arm template for export. 2016-09-10 15:54:44 +08: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
ohagendorf 95c5b78f34 [disco_f769ni] adding gcc_arm exporter definitions 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
Jimmy Brisson c550f9da75 Fix some tracebacks, add zip exporter to the CLI 2016-09-06 14:24:06 -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
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
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
Jeremy Brodt b9b6d30659 [MAX32620HSP] Initial release. 2016-08-24 16:33:47 -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
Yoshihiro TSUBOI f8a6af161a [TY51822r3] Added exporting support 2016-08-17 10:58:48 +09:00
Sarah Marsh 70890620f7 Uvision and IAR working cc and asm specific defines 2016-08-04 17:05:12 -05: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
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 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
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
Jimmy Brisson 3873ccc232 Add -D options to iar assembler on export 2016-08-02 11:39:46 -05:00
Jimmy Brisson 965ffc3e28 Add CC_SYMBOLS to assembler invocation 2016-08-02 10:46:57 -05:00
Jimmy Brisson 9d0e65f47a Add toolchain flag to DS-5 exporter 2016-08-01 14:07:12 -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
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
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
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
Bogdan Marinescu 8ab89c1131 Merge pull request #2175 from mbedmicro/release
Release v122
2016-07-19 11:34:15 +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
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
Sarah Marsh b969fa5bb1 IDE build tests with progen 2016-07-15 13:25:35 -05: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
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
jeromecoutant 8d3cdfea59 tools update to add NUCLEO_F207ZG 2016-07-12 16:38:11 +02: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
Olaf Hagendorf 7f2f0bc5c6 repairing a minor typo in exporters.py 2016-07-06 13:34:59 +02: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