Раздобыл себе плату Raspberry PI3 для опытов.
Подключил плату Марсоход3bis к Raspberry USB кабелем.
Первая мысль, которая пришла в голову: "Можно ли из Linux на raspberry pi3 загрузить проект в ПЛИС платы Марсоход2 или Марсоход3?"
В принципе такое возможно и должно быть не очень трудно, если использовать SVF player. Такой проект у меня уже был когда-то и он работал и под windows и в Linux Ubuntu. Немного повторюсь, в чем там идея. САПР Altera Quartus II или Quartus Prime в процессе компиляции проекта может создавать файлы SVF. Это задается в меню Assignments => Device... и далее нужно нажать кнопку "Device and Pin Options".
SVF файл - просто текстовый файл с описанием последовательности JTAG команд. Если правильно выполнить все команды JTAG, то и ПЛИС загрузится. Программа SVF плеера как раз это делает: берет из командной строки имя файла SVF, находит на шине USB подключенный программатор MBFTDI и, исполняя SVF файл, выполняет загрузку ПЛИС.
Чтобы это заработало в Raspberry PI3 нужно пересобрать мой проект SVF плеера с библиотеками FTDI для процессора ARM и Linux. Нужные мне библиотеки взял на сайте http://www.ftdichip.com/Drivers/D2XX.htm.
Тут есть прямо пометка "suits Raspberry Pi" - подходит лоя распберри. Вот эти библиотеки и взял.
Проект SVF плеера на гит хабе: https://github.com/marsohod4you/MBFTDI-SVF-Player
Немного исправил Makefile, чтоб пути к нужным библиотекам указывали. Командой make. Взял для теста простой проект для платы Марсоход3bis - моргание светодиодами. Скомпилировал его квартусом и получил SVF файл. Теперь на raspberry в консоли запускаю:
>sudo rmmod ftdi_sio
>sudo ./mbftdi max10_8.svf
Через несколько секунд вижу плата весело начинает мигать светодиодами - проект успешно загружен в ПЛИС.
Ну вот, первый шаг сделан. Можно дальше играться с Raspberry PI3 и попробовать передавать данные между процессором и ПЛИС платы Марсоход3. Только бы придумать задачку поинтересней...
Подробнее...