Simutron is positioning itself as a firmware debugger, but it could be not obvious, how to actually use it for that purpose?
Well, first of all, you should have:
- source code of firmware you want to debug
- avr compiler, tools and libraries suite (to build your sources into elf file)
- special version of gdb executable built for avr target, known as avr-gdb, version 7.8.2 or up (more info on avr-gdb:)
- an IDE (source code editor) where you maintain your source code, and which is able to establish remote gdb session using avr-gdb
- and last but not least, simutron - to run the debugee
But if you looking for debugger, I think you already have all of this.
Ok, now you should build special version of you firmware with debug simbols enabled.
With gcc or g++ compiler it in general means you should add -g -O0 flags to its command line.
Look for *.elf file in the output folder of compilation, then go to simutron, add a processor of appropriate model to simulation workspace and specify your elf file when asked for firmware. Simulation starts immediately. On the processor face you will find a small button titled "Gdb". Press it (GDB server inside simulation starts listening on the localhost and port 1212) and return to the source IDE.
In the source project IDE tune its settings for remote gdb session with port 1212 and start debugging.
Debugger will break immediately on some arbitrary source line.
Now you can put breakpoints at any places in your source files and continue debugging as you do with any usual project.
Have a fun!