**************** ********* OS Linux

advertisement
Андрианов Андрей Владимирович
andrew@ncrmnt.org
ЗАО НТЦ “Модуль”
 Функциональное
тестирование IP блоков
в составе системы.
 Доработка IP блока с учетом замечаний
программистов.
 Разработка прототипа драйвера.
 Управление
питанием и/или
тактированием различается/отсутствует
 Регистровая карта блока не является
финальной и может меняться в ходе
разработки
 Могут присутствовать аппаратные
ошибки
 Могут присутствовать отладочные
аппаратные надстройки
 Избыточное
количество проверок и
отладочных сообщений
 Низкая производительность
 Большое количество “мертвого” кода,
который никогда более не будет
использован (#ifdef FPGA_PROTOTYPE).
 Необходимость переписывания с нуля
после выпуска СБИС (худший случай)
 Скорость
разработки намного выше, чем
на С.
 Снижение количества необходимых
перезагрузок (Идеально - только в
случае аппаратных ошибок).
 Возможность быстро получить доступ к
регистрам IP блока в интерактивном
режиме
 Простой
и широкоиспользуемый язык
 Легко встраивается в приложения
 Возможность создать stand-alone
приложение не требующее
зависимостей.
 Есть JIT-компиляция (luajit).
 Простота кросс-компиляции (Всего 34 .c
файла), нет зависимостей.
 Один
общий драйвер, позволяющий
получить доступ к регистрам устройства
и обрабатывать прерывания из
пространства пользователя
 Расширение для lua для взаимодействия
с драйвером.
 Библиотека вспомогательных функций
на языке lua
 Дополнительные утилиты
 Средства
для отслеживания типичных
аппаратных ошибок в работе DMA
(запись за пределы буфера, и т.п.)
 Защита от “interrupt storm”
 Запись трейсов записи/чтения регистров
в журнал с расшифровкой в
произвольном формате
 Мониторинг состояния регистров
В
конечной продукции
 Когда требуется получить максимально
достоверные данные о
производительности блока
 Когда требуется протестировать
взаимодействие блока с другими
подсистемами ядра OS Linux
 http://github.com/nekromant/lprobe
Download