Я только что купил новую плату Cyclone V от Terasic (Atlas-SoC) и планировал создать голое металлическое приложение.Сначала я использовал GSRD, предоставленный Terasic.Пример проекта от версии 14.0, и мой 17.1 Quartus попросил меня запустить обновление для этих 14.0 IP, но я увидел, что они уже все скомпилировали, и у меня была папка с файлом передачи обслуживания.Все, что мне нужно было сделать, это просто сделать preloader и uboot.Затем я выполнил следующие действия (из ракеты и во многих других местах):
- Создать файл .rbf.
- Я сделал предварительный загрузчик, используя инструмент bsp-editor из EDS-SoC.
- Успешно скомпилируйте preloader и получите preloader-mkpimage.bin.
- Создайте файл сценария uboot и uboot.
- Загрузите preloader на SD-карту с помощью alt-boot-disk-util.
- Скопируйте все файлы rbf, сценарии uboot и uboot на SD-карту.В этот момент я не делал никаких приложений, потому что хотел проверить, загружен ли предзагрузчик или нет.
- Подключите SD-карту к плате и включите питание 8. В Putty я увидел U-boot spl и Uboot работал нормально.
С первым успехом я попыталсясделать свой собственный дизайн HPS-FPGA.Я на основе конфигурации HPS сделал свой собственный HPS (инициализировал I2C, UART, не SDRAM и т. Д.).Для части FPGA я поместил несколько светодиодов PIO, JTAG UART, периферийный идентификатор системы и т. Д.
После завершения работы над конструктором платформы (Qsys) я создал верхний файл VHDL и подключил все узлы (точно так же, как GSRD).дизайн).На этом этапе я не добавил никаких IP-адресов, таких как сброс HPS, отладка и т. Д., Потому что я просто хотел посмотреть, работает ли предзагрузчик.
Затем я выполнил именно эти шаги.как и в случае с дизайном GSRD, на этот раз на Putty я ничего не получил.U-Boot SPL даже не появился.Чувствуя себя странно, я вернулся в ГСРД, чтобы проверить.Я скопировал всю папку с дизайном GSRD и сделал ее своим новым проектом.Затем я запустил обновление для этих IP и скомпилировал все заново.После этого preloader и uboot были сделаны одинаковыми шагами, и результат меня поразил: на терминале Putty у меня была только одна строка
U-Boot SPL 2013.01.01 (Mar 08 2019 - 10:28:04)
и больше ничего не происходило.Я думаю, что что-то не так с прелоадером, что-то не соответствует моему дизайну Quartus, или я допустил ошибки при сборке прелоадера.
Я искал во многих местах, выдвинул много гипотез и попробовалчтобы исправить это.Я даже связался с Terasic и посетил форум сообщества Intel, но у меня до сих пор нет ответа.