Fall back to target.json memories when CMSIS has empty memories

pull/10187/head
Jimmy Brisson 2019-03-21 09:42:47 -05:00
parent db8a018fec
commit c475a4a995
1 changed files with 42 additions and 37 deletions

View File

@ -745,25 +745,6 @@ class Config(object):
try: try:
cmsis_part = self._get_cmsis_part() cmsis_part = self._get_cmsis_part()
except ConfigException:
""" If the target doesn't exits in cmsis, but present in targets.json
with ram and rom start/size defined"""
start, size = self._get_primary_memory_override(
active_memory.lower()
)
if not start:
raise ConfigException(
"Bootloader not supported on this target. {} "
"start not found in targets.json.".format(active_memory)
)
if not size:
raise ConfigException(
"Bootloader not supported on this target. {} "
"size not found in targets.json.".format(active_memory)
)
available_memories[active_memory] = [start, size]
return available_memories
present_memories = set(cmsis_part['memories'].keys()) present_memories = set(cmsis_part['memories'].keys())
valid_memories = set(memory_list).intersection(present_memories) valid_memories = set(memory_list).intersection(present_memories)
@ -800,7 +781,31 @@ class Config(object):
mem_size = int(mem_size, 0) mem_size = int(mem_size, 0)
available_memories[memory] = [mem_start, mem_size] available_memories[memory] = [mem_start, mem_size]
if not available_memories:
raise ConfigException(
"Bootloader not supported on this target. "
"No memories found."
)
return available_memories return available_memories
except ConfigException:
""" If the target doesn't exits in cmsis, but present in targets.json
with ram and rom start/size defined"""
start, size = self._get_primary_memory_override(
active_memory.lower()
)
if not start:
raise ConfigException(
"Bootloader not supported on this target. {} "
"start not found in targets.json.".format(active_memory)
)
if not size:
raise ConfigException(
"Bootloader not supported on this target. {} "
"size not found in targets.json.".format(active_memory)
)
available_memories[active_memory] = [start, size]
return available_memories
@property @property
def ram_regions(self): def ram_regions(self):