@@ -49,6 +49,7 @@ def __init__(self, cfg, device, dev_id=None,
4949 gdbserver = 'JLinkGDBServer' ,
5050 gdb_host = '' ,
5151 gdb_port = DEFAULT_JLINK_GDB_PORT ,
52+ endian = 'little' ,
5253 tui = False , tool_opt = []):
5354 super ().__init__ (cfg )
5455 self .file = cfg .file
@@ -68,6 +69,7 @@ def __init__(self, cfg, device, dev_id=None,
6869 self .speed = speed
6970 self .gdb_host = gdb_host
7071 self .gdb_port = gdb_port
72+ self .endian = endian
7173 self .tui_arg = ['-tui' ] if tui else []
7274 self .loader = loader
7375
@@ -126,6 +128,7 @@ def do_add_parser(cls, parser):
126128 dest = 'reset' , nargs = 0 ,
127129 action = ToggleAction ,
128130 help = 'obsolete synonym for --reset/--no-reset' )
131+ parser .add_argument ('--endian' , default = 'little' , help = 'CPU Endianness' )
129132
130133 parser .set_defaults (reset = False )
131134
@@ -142,6 +145,7 @@ def do_create(cls, cfg, args):
142145 loader = args .loader ,
143146 gdb_host = args .gdb_host ,
144147 gdb_port = args .gdb_port ,
148+ endian = args .endian ,
145149 tui = args .tui , tool_opt = args .tool_opt )
146150
147151 def print_gdbserver_message (self ):
@@ -243,6 +247,7 @@ def do_run(self, command, **kwargs):
243247 '-speed' , self .speed ,
244248 '-device' , self .device ,
245249 '-silent' ,
250+ '-endian' , self .endian ,
246251 '-singlerun' ] +
247252 (['-nogui' ] if self .supports_nogui else []) +
248253 (['-rtos' , plugin_dir ] if rtos else []) +
@@ -290,6 +295,7 @@ def flash(self, **kwargs):
290295 lines = [
291296 'ExitOnError 1' , # Treat any command-error as fatal
292297 'r' , # Reset and halt the target
298+ 'BE' if self .endian == 'big' else 'LE' , # Specify endianness
293299 ]
294300
295301 if self .erase :
0 commit comments