Инструкция по компиляции/использованию.
В директории bin уже лежат скомпилированные файлы прошивки и программы. Можно их загружать и запускать.
Если же есть желание внести изменения в прошивку или программу - ниже приведена подробная инструкция - как это сделать.
Проект компилируется в Quartus II v14.0 и ARM DS-5. В других IDE не проверялось.
Компиляция прошивки для FPGA:
- Открываем файл проекта dst40.qpf в Quartus-е.
- Запускаем Qsys: меню Tools -> Qsys.
- Открываем проект Qsys: меню File -> Open -> входим в папку "source" и выбираем в ней файл "soc_system.qsys".
- Закрываем окно "Open System Completed".
- Запускаем генерацию HDL-файлов: нажимаем кнопку "Generate HDL..." в нижнем правом углу окна, а затем кнопку "Generate" в следующем открывшемся окне. Через некоторое время процесс завершится с парой предупреждений - игнорируем их. Закрываем окно "Generate Completed" и Qsys.
- Запускаем компиляцию прошивки FPGA: меню Processing -> Start Compilation. Минут через 15 компиляция завершится с гигантским количеством предупреждений (446 в моём случае) - игнорируем их.
- Закрываем Quartus.
- Заходим в папку source и запускаем файл conv.bat - в результате в папке output_files создастся файл dst40.rbf. В bat-файле используется прямой путь до утилиты quartus_cpf.exe - если у Вас не такой - исправьте его на нужный.
Компиляция программы dst40:
- Запускаем Eclipse из состава IDE ARM DS-5.
- Открываем проект: меню File -> Import -> General -> Existing Projects into Workspace. Нажимаем Next.
- В открывшемся окне Import справа от поля "Select root directory" нажимаем кнопку "Browse..." и выбираем папку software/dst40. Нажимаем кнопку "Finish".
- Выбираем активную конфигурацию: кликаем правой кнопкой мышки по названию проекта dst40 в окне "Project Explorer", выбираем в открывшемся меню пункты "Build Configurations" -> "Set Active" -> Release.
- В конфигурации проекта используются полные пути до папок с инклудами. Проверьте, что они ведут правильно: меню Project -> Properties. В окне свойств слева переходим по пунктам "C/C++ Build" -> Settings. В закладке "Tool Settings" переходим по пунктам "GCC C Compiler 4 [arm-linux-gnueabihv]" -> Includes и проверяем правильность путей к папкам "embedded/ip/altera/hps/altera_hps/hwlib/include" и "embedded/ip/altera/hps/altera_hps/hwlib/include/soc_cv_av" из состава ARM DS-5.
- Компилируем программу: меню Project -> "Build All". Программа должна скомпилироваться без предупреждений/ошибок. В результате в папке software/dst40/Release должен появиться файл dst40 без расширения, размером около 500 килобайт. Это и есть программа.
Использование:
- Копируем файлы dst40.rbf и dst40 на MicroSD-карточку DE0-Nano-SoC в домашнюю директорию. Сделать это можно, например, с помощью SFTP-плагина для Total Commander.
- Подключаемся к DE0-Nano-SoC терминалкой по SSH-каналу.
- Заходим в домашнюю директорию.
- Загружаем прошивку в FPGA: cat dst40.rbf > /dev/fpga0
- Меняем права программе: chmod 744 dst40
- Запускаем программу: ./dst40
- Вводим исходные данные, проверяем их, если всё корректно - отвечаем "Y".
- Ждём завершения поиска.
ДИСКЛЕЙМЕР:
Все исходники раздаются "как есть". Используйте их на собственный страх и риск. Если Вы с их помощью как-нибудь себе навредили (испортили настроение, сожгли отладочную плату, взорвали автомобиль и т.д. и т.п.), то я за это никакой ответственности не несу.