My command sequence:
simulavr -G -d atmega328 -f boot.elf
ddd --debugger avr-gdb
file boot.elf
simulavr-devel@nongnu.org
stepi
simulavr terminates:
----------
Sent:
$98e1908380830895eddf803219f088e0f5dfffcf84e1dfcfcf93c82fe3dfc150e9f7cf91f1cf282e80e0e8dfe0e0ff270994ffffffffffffffffffffffff0206#fb
gdb -> Ack
Recv: "$m8000,40#c5"
Ack -> gdb
WARNING: file cmd/gdbserver.cpp: line 883: Invalid memory address:
0x8000.
Sent: $E05#aa
gdb -> Ack
Recv: "$vCont?#49"
Ack -> gdb
gdb command 'vCont?' not supported
Sent: $#00
gdb -> Ack
Recv: "$Hc0#db"
Ack -> gdb
Sent: $#00
gdb -> Ack
Recv: "$s#73"
Ack -> gdb
FATAL: file decoder.cpp: line 1777: Illegal opcode 'ff ff' executed
at PC=0x0 (0)! Simulation terminated!
----------
Reason is, that pc contains 0.
On step avr-gdb responds with 'Cannot find bounds of current function'
The strange thing: sometimes pc gets loaded with the correct pc
0x7e00 and it is possible to step through the code using the same
.elf-file.
Regarding Illegal opcode 'ff ff': wouldn't it be better to simply
stop simulavr instead of terminating? That would give a chance to
investigate.
Regards Albrecht
_______________________________________________
Simulavr-devel mailing list
Simulavr-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/simulavr-devel