@@ -83,7 +83,7 @@ def find_symbol(toolchain, mapfile, symbol):
83
83
HEX = '0x0{,8}(?P<addr>[0-9A-Fa-f]{8})'
84
84
if toolchain == "GCC_ARM" :
85
85
SYM = re .compile (r'^\s+' + HEX + r'\s+' + symbol + '\r ?$' )
86
- elif toolchain in [ "ARM_STD" , "ARM" , "ARM_MICRO" ] :
86
+ elif toolchain in ( "ARM_STD" , "ARM" , "ARM_MICRO" , "ARMC6" ) :
87
87
SYM = re .compile (r'^\s+' + HEX + r'\s+0x[0-9A-Fa-f]{8}\s+Code.*\s+i\.' + symbol + r'\s+.*$' )
88
88
elif toolchain == "IAR" :
89
89
SYM = re .compile (r'^' + symbol + r'\s+' + HEX + '\s+.*$' )
@@ -138,7 +138,9 @@ def parse_load_segment_armcc(image_elf):
138
138
(offset , addr , size ) = (0 , 0 , 0 )
139
139
segment_list = []
140
140
in_segment = False
141
- cmd = os .path .join (TOOLCHAIN_PATHS ['ARM' ], 'bin' , 'fromelf' )
141
+ cmd = os .path .join (TOOLCHAIN_PATHS ['ARMC6' ], 'fromelf' )
142
+ if not os .path .exists (cmd ):
143
+ cmd = os .path .join (TOOLCHAIN_PATHS ['ARM' ], 'bin' , 'fromelf' )
142
144
cmd = '"' + cmd + '"' + ' --text -v --only=none ' + image_elf
143
145
for line in subprocess .check_output (cmd , shell = True , universal_newlines = True ).split ("\n " ):
144
146
if line == "" :
@@ -208,7 +210,7 @@ def parse_load_segment_iar(image_elf):
208
210
def parse_load_segment (toolchain , image_elf ):
209
211
if toolchain == "GCC_ARM" :
210
212
return parse_load_segment_gcc (image_elf )
211
- elif toolchain in [ "ARM_STD" , "ARM" , "ARM_MICRO" ] :
213
+ elif toolchain in ( "ARM_STD" , "ARM" , "ARM_MICRO" , "ARMC6" ) :
212
214
return parse_load_segment_armcc (image_elf )
213
215
elif toolchain == "IAR" :
214
216
return parse_load_segment_iar (image_elf )
0 commit comments