diff --git a/tools/build_api.py b/tools/build_api.py index fe0b4c0e8b..ba89cfa578 100644 --- a/tools/build_api.py +++ b/tools/build_api.py @@ -145,6 +145,8 @@ def get_config(src_paths, target, toolchain_name): prev_features = features toolchain.config.validate_config() + if toolchain.config.has_regions: + _ = list(toolchain.config.regions) cfg, macros = toolchain.config.get_config_data() features = toolchain.config.get_features() diff --git a/tools/config/__init__.py b/tools/config/__init__.py index fd4a2d3d86..aaa5344f4d 100644 --- a/tools/config/__init__.py +++ b/tools/config/__init__.py @@ -17,7 +17,7 @@ limitations under the License. from copy import deepcopy import os -from os.path import dirname, abspath +from os.path import dirname, abspath, exists import sys from collections import namedtuple from os.path import splitext @@ -506,6 +506,8 @@ class Config(object): "build a bootloader project") if 'target.bootloader_img' in target_overrides: filename = target_overrides['target.bootloader_img'] + if not exists(filename): + raise ConfigException("Bootloader %s not found" % filename) part = intelhex_offset(filename, offset=rom_start) if part.minaddr() != rom_start: raise ConfigException("bootloader executable does not "