[#] Linux в устройстве на базе чипа Altera SoC FPGA: восстанавливаем утраченный функционал
habrabot(difrex,1) — All
2015-09-21 23:30:02


![image][1] Некоторое время назад ко мне в руки попал набор разработчика DE0-Nano-SoC, построенный на базе чипа Altera Cyclone V. Данный набор используется мной не с какой-то одной целью — с его помощью решаются разные задачи. Для каждой из этих задач создаётся схема для FPGA и пишется программа для HPS. Схема для FPGA создаётся в среде Quartus II и в процессе разработки загружается в FPGA через JTAG-интерфейс посредством USB-бластера. Когда же схема окончательно отлажена, она записывается на SD-карточку в виде файла прошивки. Затем, когда нужно использовать плату с той или иной целью, берётся нужная прошивка, загружается в FPGA командой вида

cat hardware.rbf > /dev/fpga0


и затем запускается нужная программа. Всё шло своим чередом, но однажды я обновил в плате ядро Linux — о чём рассказывал в [этой статье][2]. И вот спустя некоторое время обнаружилось, что из списка драйверов исчез FPGA-менеджер, позволявший загружать прошивку в FPGA подобным способом. Первой мыслью было то, что я забыл включить драйвер в конфигурацию при сборке ядра. Однако, к моему удивлению, скоро обнаружилось, что среди исходников ядра этого драйвера нет в принципе! Конечно, можно было бы грузить прошивку в FPGA другими способами, коих есть ещё как минимум три. Но этот способ был для меня наиболее оперативным и удобным, вот почему было принято решение восстановить утраченный функционал. Если Вам интересно, как это было сделано — добро пожаловать под кат. [Читать дальше →][3]

[1]: https://habrastorage.org/files/878/c5b/06c/878c5b06c4b14fe88135f09a53de8a35.jpg
[2]: http://habrahabr.ru/post/264515/
[3]: http://habrahabr.ru/post/267273/#habracut