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 stub? Можете да използвате -s -S и да се свържете чрез gdb от target remote :1234. Това ще ви даде контрол върху програмата, изпълнявана във vm и достъп до регистри и памет.

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