QEMU как встроенный симулятор для тестирования прошивки

Я некоторое время смотрел на QEMU и пытался выяснить, могу ли я использовать его для моделирования устройства, которое мы разрабатываем.

Устройство будет работать на базе ARM Cortex M3, а QEMU хорошо подходит для эмуляции его программного обеспечения.

Я хочу знать, использовал ли кто-нибудь QEMU в прошлом в качестве симулятора?

Цель состоит в том, чтобы использовать QEMU для тестирования программного обеспечения методом «черного ящика» перед развертыванием его на устройствах в полевых условиях.

Это включает в себя возможность отслеживать и изменять область памяти, в которой сконфигурированы и установлены контакты параллельного ввода/вывода (PIO), а также ячейки памяти всех других внешних периферийных устройств.

Теперь, учитывая, что некоторые из периферийных устройств будут PWM и UART, ясно, что возникнет необходимость решить проблемы с синхронизацией. Тем не менее, я хотел бы пока избежать этой темы и придерживаться только простого PIO.

Монитор QEMU приближается, но еще не совсем готов.

Итак, подведем итог:

Мне нужно знать, есть ли способ прерывать QEMU после каждого тактового цикла ЦП и читать/записывать в небольшое количество ячеек памяти в памяти кода.


person nonsensickle    schedule 29.04.2013    source источник
comment
С тех пор я нашел проект ARMulator sourceforge.net/projects/armulator и решение RTSM Simulator arm.com/products/tools/software-tools/ds -5/rtsm-simulator.php, который может сделать то же самое.   -  person nonsensickle    schedule 30.09.2013


Ответы (1)


Вы пытались использовать заглушку GDB? Вы можете использовать -s -S и подключиться через gdb с помощью target remote :1234. Это даст вам контроль над программой, выполняемой внутри виртуальной машины, и доступ к регистрам и памяти.

person Piotr Król    schedule 10.05.2013
comment
Спасибо, кажется, это лучший вариант. Не могу поверить, что не подумал об этом раньше. Спасибо! - person nonsensickle; 14.05.2013