Теперь программирование нашей FPGA платы Марсоход2RPI, работающей в связке с платой Raspberry, по сети из Quartus стало возможным и из Ubuntu Linux!
Что для этого нужно?
Первое, скачать сервер для Raspberry:
Распаковать архив и файл nw_jtag_srv перенести на Raspberry. Здесь файл нужно сделать исполняемым. Для этого выполните команду
>sudo chmod a+x ./nw_jtag_srv
Плата Марсоход2RPI подключается через переходничек к GPIO портам платы Raspberry. Сервер nw_jtag_srv будет через GPIO пины программировать FPGA платы Марсоход2RPI. Для доступа к GPIO нужны повышенные права, поэтому запускать сервер нужно через sudo:
>sudo ./nw_jtag_srv
Теперь для Ubuntu нужен специальный драйвер для JTAG сервера. На самом деле это простая библиотека типа *.so. Ее можно скачать здесь:
Распакуйте архив:
>tar -xzf libjtag_hw_net-blaster_1_9b.tar.gz
и скопируйте файл библиотеки libjtag_hw_net-blaster.so в папку квартуса:
>cp libjtag_hw_net-blaster.so ~/intelFPGA_lite/19.1/quartus/linux64
В принципе - это все.
САПР Quartus Prime будет запускать JTAG сервер, который найдет нашу библиотеку и будет ее использовать. Библиотека пользуясь широковещательными запросами UDP сама найдет в сети работающий на Raspberry сервер nw_jtag_srv и свяжется с ним.
В консоли в Ubuntu можно проверить статус программатора командой квартуса jtagconfig:
Ну и, конечно, можно прямо из квартуса удаленно по сети программировать FPGA Cyclone IV платы Марсоход2RPI, вот скриншот об успешности программирования:
Пробуйте!
PS: Моя Ubuntu работает в виртуальной машине, на реальной думаю все будет так же.
Подробнее...