Fix: Code size tool parse RAM address incorrectly
With the change of GNUARM RAM section, it is required to parse RAM
address in GNUARM map file more accurately.
Signed-off-by: Jianliang Shen <jianliang.shen@arm.com>
Change-Id: I7d7cedf892ec1b6fffd7cb0d885634a2278eac33
diff --git a/code-size-analyze-tool/src/sq.py b/code-size-analyze-tool/src/sq.py
index 039563a..5634b30 100644
--- a/code-size-analyze-tool/src/sq.py
+++ b/code-size-analyze-tool/src/sq.py
@@ -386,10 +386,10 @@
if line.find('Linker script and memory map') == 0:
break
if start:
- if line.find('FLASH') >= 0:
+ if line.find('FLASH') == 0:
flash_start_addr = int(line.split()[1].strip(), 16)
flash_end_addr = int(line.split()[1].strip(), 16) + int(line.split()[2].strip(), 16)
- if line.find('RAM') >= 0:
+ if line.find('RAM') == 0:
ram_start_addr = int(line.split()[1].strip(), 16)
ram_end_addr = int(line.split()[1].strip(), 16) + int(line.split()[2].strip(), 16)
return flash_start_addr, flash_end_addr, ram_start_addr, ram_end_addr
@@ -525,7 +525,7 @@
else:
continue
- if cur_sym_name.find("*fill*") >= 0:
+ if cur_sym_name.find("*fill*") >= 0 and cur_sec_name in self.__sec_dict.keys():
self.__sec_dict[cur_sec_name]['fill'] += cur_sym_size
continue