bialix (19.04.2012 11:40, просмотров: 107) ответил fk0 на Лучше самому написать. Вряд ли стоит симулировать именно железо до последнего регистра. Достаточно более грубой абстракции -- именно она и будет "Hardware abstraction layer". Вот логику работы как раз это и позволит отладить. Железо -- нет. И не
напишите, как у вас. мне интересно. у меня есть подобная система, заточенная именно на симулирование GUI и работу с тач-панелью. эмулятор сделан на связке си+питон. В моей системе выделено железо-независимое в набор модулей, которые компилируются на ПК в DLL (шареная либа). Из этой DLL наружу торчат необходимые функции, вызывая которые можно запустить штатные обработчики приема байта от UART или обработку нажатий на тач-панель, или отрисовку.
Вывод изображения в железе сделан путем записи в видеопамять (простой интерфейс), поэтому на ПК просто имитируется массивом необходимой величины. Отображение видеопамяти на экране ПК сделано через связку си+python и в итоге используется Tkinter (Tk) -- питоновая библиотека. Скорости работы питона вполне хватает.
Нажатия на тач-панель и имитация передачи команд от UART делаются простыми вызовами нужных функций из DLL.
И вот еще существенный момент: боевая функция main с основным циклом опроса/обработки данных на ПК не компилируется, а имитируется собственно эмулятором (из питона).