- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
There is strange thing is here :
EIP register is set to 0xc10094d1.
When I modify the opcode at the address 0xc10094d1 to 0xc10094d2 to 0x9090 (NOP, NOP) , and then issue a "si" ( single step – step one instruction exactly, the EIP jump from 0xc10094d1 to 0xc10094ef.
I expect it to jump from 0xc10094d1 to 0xc10094d2 but the system jump from 0xc10094d1 to 0xc10094ef.
Can anyone advice what is the problem here ?
Commmand :
- - monitor mdw [addr] à read one byte opcode
- - monitor mww [add] [val] -> write one byte opcode
- - monitor reg ( dump all the registers in lakemont CPU )
- - "si" command is single step
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Hi,
Do you mind providing more information so we can try to replicate this issue?
OpenOCD version, gdb, OS running on your computer, JTAG probe, drivers, etc.
Sergio
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Hi ;
GDB version is 6.6
openOCD is 0.9.0 (2015-11-1)
OS running on the computer - Ubuntu 14.01 LTS
SD card is SanDisk Ultra PLUS 16GB
Debugger is Olimex ARM-USB-OCD-H
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Hi Sergio ;
Are you able to reproduce this issue ?? =P
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
We are still working to reproduce your issue. We'll post a reply soon.
Sergio
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Did you build your own custom image, if so, what changes did you apply, what features have you added?
Did you modify the boot/grub/grub.conf, if so, what did you change?
Additionally what steps you followed that led you to this issue, did you follow any guides?
Finally, remember the user that the Quark Debug Operations guide states:
"EIP Management
The core automatically resets EIP after each instruction while in Probe Mode. This is done to prevent segment violations and triggering breakpoints while in Probe Mode"
Sergio
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Additionally, have you made any rules in udev as mentioned in the Quark Source Debug using OpenOCD document?
Sergio
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Have you had a chance to continue working with OpenOCD? Please provide the information requested on the previous reply.
Sergio
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Hi Sergio ;
Thanks or the reply here.
The problem that the "si" command didnt work is because the previous instruction before the EIP 0xc10094ef is "HLT" ( which is at EIP 0xc10094ee) and causing the CPU to stuck at this LIP when "si" command is sent to the OpenOCD.
Modify the HLT instruction at EIP 0xc10094ee to NOP then only load my assembly program at EIP 0xc10094ef, I able to get my assembly source executed.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page