Консольная утилита simulavr - эмулятор микроконтроллеров Atmel AVR поддерживает программную эмуляцию микроконтроллеров серий at90s, atmega8, atmega16, atmega103, atmega128, at43usb.

Установка simulavr

sudo apt-get install simulavr

В состав пакета simulavr входит утилита simulavr-disp. Simulavr-disp, будучи запущенной как дочерний процесс утилиты simulavr, отображает содержимое регистров модулируемого микроконтроллера. Следующая команда

simulavr -g -p 1234 -d atmega8 -c 8000000 -P simulavr-disp

запускает утилиту simulavr в качестве gdb-сервера на порту 1234, в режиме микроконтроллера ATMega8, работающего на частоте 8 МГц. На следующем рисунке показано окно программы simulavr-disp:

simulavr-disp

Чтобы simulavr-disp отображала содержимое регистров работающего микроконтроллера в динамике, как на предыдущем рисунке, необходимо в эмулятор simulavr загрузить прошивку. Это можно сделать, например, отладчиком avr-gdb или gdb.

Установить отладчик avr-dbg можно, как ни странно, следующей командой

sudo apt-get install gdb-avr

В командной строке отладчика avr-gdb необходимо подключиться к ранее запущенному simulavr в качестве gdb сервера и загрузить в эмулятор микроконтроллера прошивку. Далее можно запустить выполнение программы в микроконтроллере (эмуляторе).

avr-gdb
............
(gdb) target remote :1234
Remote debugging using :1234
0x00000000 in ?? ()
(gdb) load test.s.hex
Loading section .sec1, size 0x2a lma 0x0
Start address 0x0, load size 42
Transfer rate: 336 bits in <1 sec, 21 bytes/write.
(gdb) continue