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

Reply via email to