Все, отсталось только breakpointы сделать. И dll выложить. Добавил
-запись в память
-запись в регистры
-отладку из ОЗУ
Тормоза рождаются из-за того, что Кейл интенсивно читает память МК.
Механизм кэширования частично уменьшает потери во времени.
Сейчас процесс отладки пригоден для практических применений.
///////////////
//Задание
///////////////
Собственно, тут полная свобода. Лучше поделить эмулятор на "Верх" и "Низ". Верх работает на ПК и передает команды Низу по USB. Низ общается с МК через JTAG. Верх не должен рулить JTAGом, иначе медленно будет.
Минимальный объем Функций драйвера JTAG-эмулятора:
- Инициализация
- Завершение и зачистка
- Чтение и запись регистров МК
- Чтение и запись памяти МК
- Запуск программы МК
- Остановка программы МК
- Выполнение одного шага программы МК
- Определение состояния МК - run или stop.
- Установка и снятие мягких breakпойнтов
- Установка и снятие железных breakpointoв
Для отладки под Линксом нужно сделать GDB сервер, что довольно просто.