I had the idea to check how the latest snapshot version of uCsim behaves
with regard to timer cycle counts. I downloaded SDCC snapshot of r13772,
which contains uCsim version 0.7.6.
However, something has changed or broken in the latest uCsim with regard
to breakpoint scripts, as my aforementioned benchmarking setup no longer
works!
When the breakpoint triggered by the memory write occurs, it appears
that the breakpoint script is executed, but uCsim does something
different now, because even though the last step of my script is to
"run", uCsim immediately stops again and outputs status info for the
break event.
The breakpoint script is this:
0> info break
Num Type Disp Hit Cnt Address Cond
1 event keep 1 1 0x00500a write
cmd="timer stop benchmark; timer get benchmark; timer set
benchmark 0; timer start benchmark; run"
The output I'm seeing upon a break is as follows:
timer #0("benchmark") OFF 1.611885374669695 sec (12895083 clks)
Simulation started, PC=0x008dbc
Event `write' at rom[0x500a]
Stop at 0x008dbc: (112) Event break
V-IHINZC Flags= 0x29 41 ) A= 0x00 0 .
0-101001 X= 0x0021 33 ! Y= 0xae44 44612 D
SP= 0x17f6 [SP+1]= 80 128 . Limit= 0x14ff
0x08dbc ? ae 27 10 ldw X,#0x2710
F 0x008dbc
Simulated 0 ticks (0.000e+00 sec)
Host usage: 158.395701 sec, rate=0.000000
0>
Is this a bug? Maybe some kind of race condition between the status
output from the breakpoint stopping execution and the last command in
the breakpoint script being "run"? It seems to actually process the
"run", as evidenced by the "Simulation started..." line, but stops
regardless.
Regards,
Basil Hussain
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user