Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: build_api.py
- Revision:
- 40:7d3fa6b99b2b
- Parent:
- 36:96847d42f010
- Child:
- 41:2a77626a4c21
--- a/build_api.py Wed Jul 19 16:44:30 2017 -0500
+++ b/build_api.py Tue Oct 10 16:56:30 2017 -0500
@@ -401,7 +401,7 @@
merged.tofile(output, format='bin')
def scan_resources(src_paths, toolchain, dependencies_paths=None,
- inc_dirs=None, base_path=None):
+ inc_dirs=None, base_path=None, collect_ignores=False):
""" Scan resources using initialized toolcain
Positional arguments
@@ -413,9 +413,11 @@
"""
# Scan src_path
- resources = toolchain.scan_resources(src_paths[0], base_path=base_path)
+ resources = toolchain.scan_resources(src_paths[0], base_path=base_path,
+ collect_ignores=collect_ignores)
for path in src_paths[1:]:
- resources.add(toolchain.scan_resources(path, base_path=base_path))
+ resources.add(toolchain.scan_resources(path, base_path=base_path,
+ collect_ignores=collect_ignores))
# Scan dependency paths for include dirs
if dependencies_paths is not None:
@@ -445,7 +447,7 @@
macros=None, inc_dirs=None, jobs=1, silent=False,
report=None, properties=None, project_id=None,
project_description=None, extra_verbose=False, config=None,
- app_config=None, build_profile=None):
+ app_config=None, build_profile=None, stats_depth=None):
""" Build a project. A project may be a test or a user program.
Positional arguments:
@@ -474,6 +476,7 @@
config - a Config object to use instead of creating one
app_config - location of a chosen mbed_app.json file
build_profile - a dict of flags that will be passed to the compiler
+ stats_depth - depth level for memap to display file/dirs
"""
# Convert src_path to a list if needed
@@ -591,18 +594,18 @@
memap_table = ''
if memap_instance:
# Write output to stdout in text (pretty table) format
- memap_table = memap_instance.generate_output('table')
+ memap_table = memap_instance.generate_output('table', stats_depth)
if not silent:
print memap_table
# Write output to file in JSON format
map_out = join(build_path, name + "_map.json")
- memap_instance.generate_output('json', map_out)
+ memap_instance.generate_output('json', stats_depth, map_out)
# Write output to file in CSV format for the CI
map_csv = join(build_path, name + "_map.csv")
- memap_instance.generate_output('csv-ci', map_csv)
+ memap_instance.generate_output('csv-ci', stats_depth, map_csv)
resources.detect_duplicates(toolchain)
@@ -611,7 +614,7 @@
cur_result["elapsed_time"] = end - start
cur_result["output"] = toolchain.get_output() + memap_table
cur_result["result"] = "OK"
- cur_result["memory_usage"] = toolchain.map_outputs
+ cur_result["memory_usage"] = memap_instance.mem_report
cur_result["bin"] = res
cur_result["elf"] = splitext(res)[0] + ".elf"
cur_result.update(toolchain.report)
@@ -1032,7 +1035,7 @@
mkdir(tmp_path)
toolchain = prepare_toolchain(
- [""], tmp_path, target, toolchain_name, macros=macros,
+ [""], tmp_path, target, toolchain_name, macros=macros,verbose=verbose,
notify=notify, silent=silent, extra_verbose=extra_verbose,
build_profile=build_profile, jobs=jobs, clean=clean)
@@ -1165,6 +1168,9 @@
if toolchain not in unique_supported_toolchains:
unique_supported_toolchains.append(toolchain)
+ if "ARM" in unique_supported_toolchains:
+ unique_supported_toolchains.append("ARMC6")
+
return unique_supported_toolchains
def mcu_toolchain_list(release_version='5'):
@@ -1201,7 +1207,7 @@
def mcu_target_list(release_version='5'):
- """ Shows target list
+ """ Shows target list
"""
@@ -1310,7 +1316,9 @@
row.append(text)
for unique_toolchain in unique_supported_toolchains:
- if unique_toolchain in TARGET_MAP[target].supported_toolchains:
+ if (unique_toolchain in TARGET_MAP[target].supported_toolchains or
+ (unique_toolchain == "ARMC6" and
+ "ARM" in TARGET_MAP[target].supported_toolchains)):
text = "Supported"
perm_counter += 1
else:
@@ -1361,7 +1369,7 @@
"""
from prettytable import PrettyTable
columns_text = ['name', 'target', 'toolchain']
- columns_int = ['static_ram', 'stack', 'heap', 'total_ram', 'total_flash']
+ columns_int = ['static_ram', 'total_flash']
table = PrettyTable(columns_text + columns_int)
for col in columns_text:
@@ -1388,10 +1396,6 @@
record['toolchain_name'],
record['memory_usage'][-1]['summary'][
'static_ram'],
- record['memory_usage'][-1]['summary']['stack'],
- record['memory_usage'][-1]['summary']['heap'],
- record['memory_usage'][-1]['summary'][
- 'total_ram'],
record['memory_usage'][-1]['summary'][
'total_flash'],
]
