2013-04-29 22 views
6

Od pewnego czasu patrzę na QEMU i próbuję sprawdzić, czy mogę go użyć do symulacji urządzenia, które rozwijamy.QEMU jako symulator wbudowany do testowania oprogramowania sprzętowego

Urządzenie będzie zasilane przez ARM Cortex M3, a QEMU doskonale nadaje się do emulacji swojego oprogramowania.

Co chcę wiedzieć, czy ktoś kiedyś używał QEMU jako symulatora?

Zamiarem jest użycie QEMU do testowania oprogramowania przed przystąpieniem do instalacji w terenie.

Wymagałoby to możliwości monitorowania i modyfikowania położenia pamięci, w którym skonfigurowane i ustawione są równoległe styki wejścia/wyjścia (PIO) oraz położenia pamięci wszystkich zewnętrznych urządzeń peryferyjnych.

Teraz, biorąc pod uwagę, że niektóre z urządzeń peryferyjnych to PWM i UART, oczywiste jest, że będzie trzeba rozwiązać problemy z synchronizacją. Chciałbym jednak na razie uniknąć tego tematu i trzymać się tylko prostego PIO.

Zbliża się QEMU Monitor, ale jeszcze jej nie ma.

Więc Podsumowując:

muszę wiedzieć, czy istnieje sposób, aby przerwać QEMU po każdym cyklu zegara procesora i odczytu/zapisu do niewielkiej liczby miejsc pamięci w pamięci kodu.

+0

Mam odnalazłem projekt ARMulator http://sourceforge.net/projects/armulator/ i rozwiązanie RTSM Simulator http://www.arm.com/products/tools/software-tools/ds-5/rtsm- simulator.php, który mógłby zrobić to samo. – nonsensickle

Odpowiedz

3

Czy próbowałeś użyć GDB stub? Możesz użyć -s -S i połączyć się przez gdb przez target remote :1234. To da ci kontrolę nad programem wykonanym wewnątrz vm i dostępem do rejestrów i pamięci.

+0

Dzięki, to wydaje się najlepszą dostępną opcją. Nie mogę uwierzyć, że wcześniej o tym nie pomyślałem. Dzięki! – nonsensickle