sorry for response after a long time,
as per above steps you mentioned
Yes, when you do single step, you should write DHSCR = 0xA05F0001UL | 0x4 ; // C_STEP Then wait until S_RETIRE_ST is 1. And then set DHSCR = 0xA05F0001UL; // unhalt Hope this helps. Joseph
Yes, when you do single step, you should write
DHSCR = 0xA05F0001UL | 0x4 ; // C_STEP
Then wait until S_RETIRE_ST is 1.
And then set
DHSCR = 0xA05F0001UL; // unhalt
Hope this helps.
Joseph
i performed
when core halt after break point hit
i tried single step the target as below
Target_write(DHCSR, 0xA05F0101);
while(!(target_read(DHCSR) & S_RETIRE_ST));
but the target is always present inside while loop!!!
i tested the above logic before i put the break point and i successfully executed the Single Step
but after breakpoint hitting if i trying to step, it will not come out from while loop.
Should i have to perform any thing before i single step??? i.e., Should i have to wrtie any thing in DFSR????
Thanks and Regards,
Harshan
Hi Harshan,
Try changing the Link Register value to next instruction.
I do this when I faced the same scenario. But not sure how this will affect actual execution.
Regards,
Techguyz