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
0xc0170
7fd0a9b875
Merge branch 'svastm-fix_int_handler'
2016-07-19 14:10:37 +01:00
0xc0170
c8fc07928a
Merge branch 'fix_int_handler' of https://github.com/svastm/mbed into svastm-fix_int_handler
...
Conflicts:
hal/targets/hal/TARGET_STM/TARGET_STM32F0/pwmout_api.c
hal/targets/hal/TARGET_STM/TARGET_STM32F7/pwmout_api.c
2016-07-19 14:10:25 +01: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
Martin Kojtal
9626ef3491
Merge pull request #2187 from 0xc0170/fix_issue2184
...
project - zip and src check if empty fix
2016-07-19 07:43:55 +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
Martin Kojtal
0d3ac5a007
Merge pull request #2178 from c1728p9/supress_warning
...
Suppress warnings about deprecated __ldrex/strex
2016-07-18 08:56:06 +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
Russ Butler
59e2f9621c
Suppress warnings about deprecated __ldrex/strex
...
Suppress warnings about ARMCC warnings about the __ldrex and __strex
intrinsics to match CMSIS 5.
2016-07-15 11:10:38 -05:00
Martin Kojtal
38ae4f9289
Merge pull request #2128 from LMESTM/fix_F4_serial_it_issue2119
...
[STM32] Serial interrupt TC vs. TXE
2016-07-15 15:21:49 +01:00
Martin Kojtal
1201f4a09c
Merge pull request #2127 from svastm/fix_rtc_min_year
...
[STM32XX] Fix RTC minimum date
2016-07-15 15:03:14 +01: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
ee2f9174ad
Merge pull request #2097 from jamike/STM32F3
...
Target STM32F3
2016-07-15 11:05:02 +01:00
Martin Kojtal
829289bdd9
Merge pull request #2129 from jamike/Fix_for_#2124
...
Fix issue #2124 : IAR no rtos
2016-07-15 10:48:53 +01:00
Martin Kojtal
46057c5d70
Merge pull request #2103 from LMESTM/fix_pwmout_period
...
Fix pwmout period
2016-07-15 10:26:08 +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
Martin Kojtal
8d1d836387
Merge pull request #2164 from SeppoTakalo/master
...
Document the .mbedignore file
2016-07-14 11:14:34 +01:00
Seppo Takalo
a68eadd7cc
Document the .mbedignore file
2016-07-14 13:06:10 +03:00
Martin Kojtal
edd539b499
Merge pull request #2123 from jamike/remove_uARM_sys_cpp
...
[TARGET_STM] : remove sys.cpp not used in TOOLCHAIN_ARM_MICRO
2016-07-14 10:08:41 +01: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
99dbc8be4c
Merge pull request #2148 from mbedmicro/fix_targets_py
...
Fix targets py
2016-07-12 19:37:50 +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
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
6f86064ece
Merge pull request #2140 from mbedmicro/k64f_flow_control
...
Added flow control for K64F
2016-07-12 13:07:11 +03:00
Bogdan Marinescu
089b67cc79
Merge pull request #2144 from geky/stdio-baud-config
...
Add config option for stdio baud rate
2016-07-12 13:06:29 +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
Martin Kojtal
4b441c9e9e
Merge pull request #2121 from rgrover/develop
...
introduce a context structure to encompass global state in the K64F Storage driver
2016-07-12 10:22:36 +01:00
Martin Kojtal
c6b9ace54d
Merge pull request #2146 from c1728p9/fix_ksdk2_adc
...
KSDK2 - set ADC mux before taking measurement
2016-07-12 09:35:17 +01:00
Hasnain Virk
a4475a0cf8
Use correct mask for CTS flow control
2016-07-12 11:31:58 +03:00
Russ Butler
0343ad2674
KSDK2 - set ADC mux before taking measurement
...
Set the channel mux before taking a reading rather than on
initialization. This allows ADC pins on both mux A and B to be used in
the same application.
2016-07-11 20:34:58 -05:00