Skip to content

Commit d0d3d47

Browse files
committed
runners: jlink: Add support for big endian device
Adds the --endian option, setting endianness for both the JLink and the GDB server. Signed-off-by: sigmundklaa <[email protected]>
1 parent 23a03b7 commit d0d3d47

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

scripts/west_commands/runners/jlink.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)