Удастся ли только сделать так шину, чтобы работали платы типа MY? Для этого придется реализовывать выдачу всего обмена внутри фпгашки на внешнюю шину.
В первом приближении скрипт по конвертированию листинга в mif-файл сделан, по крайне мере на тех листингах, которые я ему подсовываю - даёт правильный результат.
Будет время - сделаю ещё одну проверку - сравню его результат и те mif-файлов, которые я сделан с помощью его бета-версии, рук и какой то матери
- - - Добавлено - - -
Первую "ошибку" уже нашёл - это всё таки не линкер, так что если в листинге встретятся не определённые (возможно, глобальные) символы - на выходе - немного хрень. Получится исправить - поправлю.
- - - Добавлено - - -
Научился обновлять sof файл обновлённым mif файлом без повторного синтеза. Тестирование резко ускорится
Последний раз редактировалось Hunta; 24.12.2018 в 06:32.
Первая более менее серьёзная проверка скрипта - на "биос"-е видеотерминала. Есть некоторые (не фатальные в данном случае) неточности. Поправлю сегодня вечером
Теперь могу пилить биос
- - - Добавлено - - -
Забыл написать - сравнение выявило небольшую ошибку (конвертирование скан кода в символы Y y - вместо них получились бы символы X x) полуручного преобразования
Последний раз редактировалось Hunta; 24.12.2018 в 06:32.
Ошибку в скрипте исправил.
Есть некоторое подозрение, что есть косяк при работа с прерываниями. Попробую потестировать с таймером.
- - - Добавлено - - -
Подозрения растут
Последний раз редактировалось Hunta; 24.12.2018 в 19:59.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Некоторое время назад сломал отработку Reset по загрузке прошивки в девайс (при нажатии кнопки Сброс всё тип-топ). Вчера сильно забодало. Докопался. Нашёл, где сломал. Пока не понял, чито не нравится синтезатору, но нашёл обходной манёвр - Reset снова работает.
Работоспособность протокола обработки прерывания - под очень сильным вопрос, хотя на 100 процентов неработоспособность пока не подтверждена.
Но поскольку работу Reset восстановил - теперь снова могу ловить отработку прерываний SignalTap-ом.
Вроде как нашёл, что сломал. Возврат из прерываний. То есть инструкция RTI (ну и RTT - у них микрокод один и тот же). Пытаюсь понять - чего поломато.
Классно всё таки иметь возможность перепрошивать "BIOS" процессоров в прошивке для FPGA без пересинтеза Кучу времени экономит. Вот только что - синтезировал прошивку, залил - проверил работоспособность стандартного BIOS-а (он, конечно, не всё проверяет, но как быстрый вариант прошивки - пойдёт). Убедился, что нового ничего не сломал, прошил BIOS с моим тестом прерываний в прошивку FPGA, перезалил - всё, можно смотреть СигналТапом отработку возврата из прерываний.
Нужно что то добавить в тесты - добавил, получил листинг от MACRO-11, обработал скриптом, получил MIF файл, перепрошил в прошивку - можно заливать-проверять
YES!!
Я таки добил эту сломаность Проблема действительно в возврате из прерываний, а точнее - немного другой логики работы с памятью
Плюс - новое знание-понимание оператора "присваивания" в process-ах
Пошёл дальше в процессе проверок-восстановления работоспособности-рефакторинга описания
Всёх с наступающим!!
Хунта.
- - - Добавлено - - -
Бонусом - заработал модуль VT - он работает по прерываниям и поэтому тоже не работал - значит, значительная часть кода автора работоспособна с моим вариантом работы с памятью.
Слово недели - DMA
Из успехов - первое слово (240(8)) из загрузчика успешно читается с карты и передаётся в память. Дальше - стопор, как будто до контроллера диска не доходит готовность памяти после записи. Копаю...
Последний раз редактировалось Hunta; 02.01.2019 в 17:07.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)