mirror of https://github.com/ARMmbed/mbed-os.git
tools: fix up build_api padding logic and clean up unused code
Patch from the end of the first segment. Remove unused code.pull/8097/head
parent
858a7a8321
commit
38ce7b13e7
|
@ -401,10 +401,6 @@ def _fill_header(region_list, current_region):
|
||||||
start += Config.header_member_size(member)
|
start += Config.header_member_size(member)
|
||||||
return header
|
return header
|
||||||
|
|
||||||
def _end_addr_inclusive(addr):
|
|
||||||
if addr is not None:
|
|
||||||
return addr + 1
|
|
||||||
return addr
|
|
||||||
|
|
||||||
def merge_region_list(region_list, destination, notify, padding=b'\xFF'):
|
def merge_region_list(region_list, destination, notify, padding=b'\xFF'):
|
||||||
"""Merge the region_list into a single image
|
"""Merge the region_list into a single image
|
||||||
|
@ -430,24 +426,14 @@ def merge_region_list(region_list, destination, notify, padding=b'\xFF'):
|
||||||
notify.info(" Filling region %s with %s" % (region.name, region.filename))
|
notify.info(" Filling region %s with %s" % (region.name, region.filename))
|
||||||
part = intelhex_offset(region.filename, offset=region.start)
|
part = intelhex_offset(region.filename, offset=region.start)
|
||||||
part.start_addr = None
|
part.start_addr = None
|
||||||
|
|
||||||
# make same assumption as in region builder; first segment must fit.
|
|
||||||
# this is only to get a neat ToolException anyway, since IntelHex.merge will
|
|
||||||
# throw IntelHex.AddressOverlapError if there's overlapping
|
|
||||||
part_size = 0
|
|
||||||
for start, stop in part.segments():
|
|
||||||
part_size += stop - start
|
|
||||||
merged.merge(part)
|
merged.merge(part)
|
||||||
|
|
||||||
if part_size > region.size:
|
|
||||||
raise ToolException("Contents of region %s does not fit"
|
|
||||||
% region.name)
|
|
||||||
|
|
||||||
# Hex file can have gaps, so no padding needed. While other formats may
|
# Hex file can have gaps, so no padding needed. While other formats may
|
||||||
# need padding. Iterate through segments and pad the gaps.
|
# need padding. Iterate through segments and pad the gaps.
|
||||||
if format != ".hex":
|
if format != ".hex":
|
||||||
begin = 0
|
# begin patching from the end of the first segment
|
||||||
for start, stop in merged.segments():
|
_, begin = merged.segments()[0]
|
||||||
|
for start, stop in merged.segments()[1:]:
|
||||||
pad_size = start - begin
|
pad_size = start - begin
|
||||||
merged.puts(begin, padding * pad_size)
|
merged.puts(begin, padding * pad_size)
|
||||||
begin = stop + 1
|
begin = stop + 1
|
||||||
|
|
Loading…
Reference in New Issue