Hello,
I want to debug a program in the RAM of an I.MX6.
I tried to debug the device "PCIMX6S6AVM08AA" with a "J-Link Probe Version 8".
Therefore I used the "J-Link GDB Server V4.80a" together with Eclipse CDT (Juno Service Release 2).
In the configuration dialog in Eclipse I selected "MCIMX6S6" as device.
The Cortex-A9 core of the I.MX6 was detected correctly an according to the Log of the "J-Link GDB Server" my ELF-File was downloaded successfully.
But the program doesn't start at the entry point and I have problems to read/write the registers and the memory of the device.
I hope you can help me to debug the program successfully.
If you need more information of my debug environment just tell me.
Thank you.
Below the Log-File of the "J-Link GDB Server":
Display All
I want to debug a program in the RAM of an I.MX6.
I tried to debug the device "PCIMX6S6AVM08AA" with a "J-Link Probe Version 8".
Therefore I used the "J-Link GDB Server V4.80a" together with Eclipse CDT (Juno Service Release 2).
In the configuration dialog in Eclipse I selected "MCIMX6S6" as device.
The Cortex-A9 core of the I.MX6 was detected correctly an according to the Log of the "J-Link GDB Server" my ELF-File was downloaded successfully.
But the program doesn't start at the entry point and I have problems to read/write the registers and the memory of the device.
I hope you can help me to debug the program successfully.
If you need more information of my debug environment just tell me.
Thank you.
Below the Log-File of the "J-Link GDB Server":
Source Code
- SEGGER J-Link GDB Server V4.80a GUI Version
- JLinkARM.dll V4.80a (DLL compiled Jan 10 2014 21:21:47)
- -----GDB Server start settings-----
- GDBInit file: none
- GDB Server Listening port: 2331
- SWO raw output listening port: 2332
- Terminal I/O port: 2333
- Accept remote connection: localhost only
- Generate logfile: off
- Verify download: off
- Init regs on start: on
- Silent mode: off
- Single run mode: off
- Connecting to J-Link...
- J-Link is connected.
- Firmware: J-Link ARM V8 compiled Nov 25 2013 19:20:08
- Hardware: V8.00
- S/N: 58006648
- Checking target voltage...
- Listening on TCP/IP port 2331
- Connecting to target...WARNING: At least one of the connected devices is not JTAG compliant (IEEE Std 1149.1, 7.1.1.d, IR-cells). (NumDevices = 3, NumBitsSet = 2)
- J-Link found 3 JTAG devices, Total IRLen = 13
- JTAG ID: 0x4BA00477 (Cortex-A9)
- Connected to target
- Waiting for GDB connection...Connected to 127.0.0.1
- Reading all registers
- WARNING: Failed to read memory @ address 0x00000000
- Read 4 bytes @ address 0x00000000 (Data = 0xAAAAAAAA)
- Select auto target interface speed (1000 kHz)
- Target endianess set to "little endian"
- Selecting device: MCIMX6S6
- Downloading 32 bytes @ address 0x00900000
- Downloading 172 bytes @ address 0x00900200
- Downloading 2008 bytes @ address 0x009002B0
- Downloading 19 bytes @ address 0x00900A88
- Writing register (PC = 0x00900200)
- WARNING: Failed to read memory @ address 0x00900200
- Read 4 bytes @ address 0x00900200 (Data = 0xAAAAAAAA)
- Setting breakpoint @ address 0x00900200, Size = 4, BPHandle = 0x0001
- Resetting target
- Writing register (PC = 0x000DBC68)
- Starting target CPU...
- Debugger requested to halt target...
- ...Target halted (PC = 0x00000C86)
- Reading all registers
- Read 4 bytes @ address 0x00000C86 (Data = 0xF0002400)
- Read 4 bytes @ address 0x000026B6 (Data = 0xD1FB2801)
- Read 4 bytes @ address 0x000026B6 (Data = 0xD1FB2801)
- Read 2 bytes @ address 0x00000C86 (Data = 0x2400)
- Read 2 bytes @ address 0x00000C88 (Data = 0xF000)
- Read 2 bytes @ address 0x00000C8A (Data = 0xF95D)
- Read 2 bytes @ address 0x00000C8C (Data = 0x2801)
- Read 2 bytes @ address 0x00000C8E (Data = 0xD100)
- Read 2 bytes @ address 0x00000C90 (Data = 0x2401)
- Read 2 bytes @ address 0x00000C92 (Data = 0x4620)
- Read 2 bytes @ address 0x00000C94 (Data = 0xBD10)
- Read 2 bytes @ address 0x00000C96 (Data = 0xB51F)
- Read 2 bytes @ address 0x00000C98 (Data = 0x483B)
- Read 2 bytes @ address 0x00000C9A (Data = 0x300E)
- Read 2 bytes @ address 0x00000C9C (Data = 0x7901)
- Read 2 bytes @ address 0x00000C9E (Data = 0x2900)
- Read 2 bytes @ address 0x00000CA0 (Data = 0xD11B)
- Read 2 bytes @ address 0x00000CA2 (Data = 0x7941)
- Read 2 bytes @ address 0x00000CA4 (Data = 0x2900)
- Read 2 bytes @ address 0x00000CA6 (Data = 0xD118)
- Read 2 bytes @ address 0x00000CA8 (Data = 0x7881)
- Read 2 bytes @ address 0x00000CAA (Data = 0x2900)
- Read 2 bytes @ address 0x00000CAC (Data = 0xD115)
- Read 2 bytes @ address 0x00000CAE (Data = 0x78C1)
- Read 2 bytes @ address 0x00000CB0 (Data = 0x2900)
- Read 2 bytes @ address 0x00000CB2 (Data = 0xD112)
- Read 2 bytes @ address 0x00000CB4 (Data = 0x7981)
- Read 2 bytes @ address 0x00000CB6 (Data = 0x2901)
- Read 2 bytes @ address 0x00000CB8 (Data = 0xD10F)
- Read 2 bytes @ address 0x00000CBA (Data = 0x79C0)
- Read 2 bytes @ address 0x00000CBC (Data = 0x2800)
- Read 2 bytes @ address 0x00000CBE (Data = 0xD10C)
- Read 2 bytes @ address 0x00000CC0 (Data = 0x4831)
- Read 2 bytes @ address 0x00000CC2 (Data = 0x7800)
- Read 2 bytes @ address 0x00000CC4 (Data = 0x2801)
- Read 2 bytes @ address 0x00000CC6 (Data = 0xD004)
- Read 2 bytes @ address 0x00000CC8 (Data = 0x2401)
- Read 2 bytes @ address 0x00000CCA (Data = 0x2802)
- Read 2 bytes @ address 0x00000CCC (Data = 0xD006)
- Read 2 bytes @ address 0x00000CCE (Data = 0x2803)
- Read 2 bytes @ address 0x00000CD0 (Data = 0xD008)
- Read 2 bytes @ address 0x00000CD2 (Data = 0x2101)
- Read 2 bytes @ address 0x00000CD4 (Data = 0x2000)
- Read 2 bytes @ address 0x00000CD6 (Data = 0xF000)
- Read 2 bytes @ address 0x00000CD8 (Data = 0xF9BF)
- Read 2 bytes @ address 0x00000CDA (Data = 0xBD1F)
- Read 2 bytes @ address 0x00000CDC (Data = 0xF000)
- Read 2 bytes @ address 0x00000CDE (Data = 0xFD12)
- Read 2 bytes @ address 0x00000CE0 (Data = 0x2100)
- ...
- Read 2 bytes @ address 0x00000D10 (Data = 0xEB01)
- Read 2 bytes @ address 0x00000D12 (Data = 0x2102)
- Writing register (PC = 0x00900200)
- Reading all registers
- ERROR: Can not read register 0 (R0) while CPU is running
- ERROR: Can not read register 1 (R1) while CPU is running
- ERROR: Can not read register 2 (R2) while CPU is running
- ERROR: Can not read register 3 (R3) while CPU is running
- ERROR: Can not read register 4 (R4) while CPU is running
- ERROR: Can not read register 5 (R5) while CPU is running
- ERROR: Can not read register 6 (R6) while CPU is running
- ERROR: Can not read register 7 (R7) while CPU is running
- ERROR: Can not read register 8 (CPSR) while CPU is running
- ERROR: Can not read register 8 (CPSR) while CPU is running
- ERROR: Can not read register 8 (CPSR) while CPU is running
- ERROR: Can not read register 9 (R15 (PC)) while CPU is running
- ERROR: Can not read register 8 (CPSR) while CPU is running
- ERROR: Can not read register 10 (R8_USR) while CPU is running
- ERROR: Can not read register 8 (CPSR) while CPU is running
- ERROR: Can not read register 11 (R9_USR) while CPU is running
- ERROR: Can not read register 8 (CPSR) while CPU is running
- ERROR: Can not read register 12 (R10_USR) while CPU is running
- ERROR: Can not read register 8 (CPSR) while CPU is running
- ERROR: Can not read register 13 (R11_USR) while CPU is running
- ERROR: Can not read register 8 (CPSR) while CPU is running
- ERROR: Can not read register 14 (R12_USR) while CPU is running
- ERROR: Can not read register 9 (R15 (PC)) while CPU is running
- ERROR: Can not read register 8 (CPSR) while CPU is running
- WARNING: CPU could not be halted
- WARNING: Failed to read memory @ address 0x00000000
- Read 4 bytes @ address 0x00000000 (Data = 0xAAAAAAAA)
- WARNING: Failed to read memory @ address 0x00000000
- Read 4 bytes @ address 0x00000000 (Data = 0xAAAAAAAA)
- WARNING: Failed to read memory @ address 0x00000D10
- Read 4 bytes @ address 0x00000D10 (Data = 0xAAAAAAAA)
- WARNING: Failed to read memory @ address 0x00000D10
- Read 4 bytes @ address 0x00000D10 (Data = 0xAAAAAAAA)
- WARNING: Failed to read memory @ address 0x00000D10
- Read 2 bytes @ address 0x00000D10 (Data = 0xAAAA)
- WARNING: Failed to read memory @ address 0x00000D12
- Read 4 bytes @ address 0x00000D12 (Data = 0xAAAAAAAA)
- WARNING: Failed to read memory @ address 0x00000D12
- Read 2 bytes @ address 0x00000D12 (Data = 0xAAAA)
- WARNING: Failed to read memory @ address 0x00000D14
- Read 4 bytes @ address 0x00000D14 (Data = 0xAAAAAAAA)
- WARNING: Failed to read memory @ address 0x00000D14
- Read 2 bytes @ address 0x00000D14 (Data = 0xAAAA)