This is the mail archive of the
mailing list for the GDB project.
RE: [EXTERNAL] Re: Debugging big-endian ARM target from little-endian host
Likewise here. I regressed the JLinkGDBServer implementation, by going to previous versions and found there are older releases that operate correctly -- translating and transmitting endianness correctly.
We're good here.. debugging the target is resolved. Thanks for the insights.
To review for sake of those hitting the same issue:
We're using the latest (8.2) GNU compiler and GDB tool chain.
Our target is a big-endian (preferred) MCU, TMS570LC4357.
The host is a little endian Linux box (Ubuntu 16.04).
The debugger was the J-Link dongol from Segger.
The JLink software package version was 6.42 (whatever was latest around Feb-2019)
The perceived issue was that the host, with the latest JLinkGDBServer package from Segger was not correctly transmitting/transforming the endianness, the result was the gdb session would fail to handle commands due to the addresses being wrong endianness.
The fix was to go back and use an older JLinkGDBServer. I opted for 6.22 (or there about)
From: Simon Marchi <email@example.com>
Sent: Saturday, March 2, 2019 5:48 PM
To: Jeff Wandling <JWandling@blueorigin.com>
Subject: Re: [EXTERNAL] Re: Debugging big-endian ARM target from little-endian host
On 2019-03-01 17:15, Jeff Wandling wrote:
> Yes, I am using -endian big with JLinkGDBServer
I tested remote-debugging a big-endian machine (gcc110.fsffrance.org) to see how registers are actually transmitted. I confirm that they are transmitted in big endian form. This would mean that JLinkGdbServer is indeed at fault. I would suggest contacting Segger's support at this point.