Jump to content

    
Sign in to follow this  
alexis031182

Aria 10 SOC загрузка FPGA через HPS

Recommended Posts

Здравствуйте.

Есть такая плата: REFLEX CES Achilles Arria 10 SoC SOM. Задача заключается в том, чтобы с помощью HPS поменять прошивку в плисине, не используя jtag. Нужно с той целью, чтобы иметь возможность заменить прошивку плисины или установить новый образ linux на ММС, используя только ethernet и консоль. По мануалу я попробовал заменить прошивку в плисине при помощи u-boot. К сожалению так, как там написано не заработало и именно на этапе загрузки rbf-файла в fpga:

fpga load 0 ${fpgadata} ${fpgadatasize}

Сам rbf-файл успешно загружается, что говорит о том, что tftp настроен верно, однако далее терминал на короткое время уходит в ступор, после чего просто активируется загрузка имеющегося на ММС образа linux. Прошивка в плисине по факту не обновляется.

В примере из мануала при загрузке rbf-файла по tftp и залитии его в fpga используется конкретный адрес 0x2000000, а также адрес размера 0x700000, которые, возможно, по каким-либо причинам не являются корректными и нужно подставить собственные значения. Может ли проблема заключаться в том, что адреса указываемые мною являются неверными и если так, то где можно подсмотреть корректные? Иной толковой информации в сети найти не удалось.

Спасибо.

Share this post


Link to post
Share on other sites
3 hours ago, alexis031182 said:

Есть такая плата: REFLEX CES Achilles Arria 10 SoC SOM....

device tree файлы, разрешено ли там перешивать плис через юбут?

нужно мосты отключать перед прошивкой, потом включать

попробуйте в ручном режиме перешить через юбут

проверьте скрипты загрузки юбут - мб там наворочено чего

ЗЫ. Вангую, что там кастомные сборки юбута и линукса.

ЗЗЫ. На этом SoM флешка распаяна на плате, если не ошибаюсь. Рекомендую быть аккуратнее с юбутом и прелоадером. Есть вариант окирпичить плату и потом мучаться, восстанавливать) Посмотрите в сторону прошивки из-под линукс.

Share this post


Link to post
Share on other sites
16 часов назад, nice_vladi сказал:

попробуйте в ручном режиме перешить через юбут

Кажется, именно это и попытался сделать по мануалу, но не пошло. На гитхабе в поиске видел проекты, где люди делают практически тоже самое, правда на другом железе. Единственное, используют som-флешку, для заливки rbf в fpga. Но на моём железе она запаяна, как Вы правильно отметили, и приходится использовать tftp.

16 часов назад, nice_vladi сказал:

ЗЫ. Вангую, что там кастомные сборки юбута и линукса.

Да, имеется куча патчей на всё и вся. Всё пытаюсь выполнять строго по мануалу. Запись в fpga sof'ника через Quartus работает без проблем.

 

16 часов назад, nice_vladi сказал:

Посмотрите в сторону прошивки из-под линукс.

Не могли бы Вы описать, как это можно сделать? Может быть мануал какой существует? В доках из поставки к железу ничего такого, вроде, не упоминается.

Share this post


Link to post
Share on other sites
1 hour ago, alexis031182 said:

Кажется, именно это и попытался сделать по мануалу, но не пошло. На гитхабе в поиске видел проекты, где люди делают практически тоже самое, правда на другом железе. Единственное, используют som-флешку, для заливки rbf в fpga. Но на моём железе она запаяна, как Вы правильно отметили, и приходится использовать tftp.

Ещё раз напомню, что если флешка запаяна и вы грохнули загрузчик - получите массу проблем.

1 hour ago, alexis031182 said:

Да, имеется куча патчей на всё и вся. Всё пытаюсь выполнять строго по мануалу. Запись в fpga sof'ника через Quartus работает без проблем.

Надо смотреть скрипты uboot и device tree. Включены ли там мосты? Включен ли в device tree fpga_manager? И т.д. и т.п. Смотрите оф. мануалы на HPS и Arria10. Я понимаю, что там под 1000 страниц. Но иначе вряд ли что-то получится - там огромная куча нюансов.

Ещё как вариант записать prebuild образы всего и вся на флешку. Тогда получите чистую систему, на которой примеры из мануалов будут работать. Наверное. Но - на свой страх и риск))

1 hour ago, alexis031182 said:

Не могли бы Вы описать, как это можно сделать? Может быть мануал какой существует? В доках из поставки к железу ничего такого, вроде, не упоминается.

Гуглите про device tree overlays. Отправной точкой можете взять (вкладка Start Here):

https://rocketboards.org/foswiki/Documentation/REFLEXCESAchillesArria10SoCSOM

Поиск по странице: Application of devicetree overlay

20 minutes ago, torik said:

 Вот эти? 

А как отключать их в прцессе работы?

Где вообще про это написано?

Не в процессе работы. А при прошивке ПЛИС из uboot или linux. Я примерно про это:
https://support.criticallink.com/redmine/projects/mityarm-5cs/wiki/Important_Note_about_FPGAHPS_SDRAM_Bridge

Но это относится не только к sdram2fpga мосту. Если хотите подробнее - курите мануалы на эту тему. Однозначно рассказать, как это делается я затрудняюсь. Давно дело было =)

Share this post


Link to post
Share on other sites

Возможно я порю чушь, но если напрямую в скрипе uboot отключить мосты через

# run bridge_disable

потом уже указать, где хранится прошивка, загрузить её, а затем обратно включать мосты через

# run bridge_enable_handoff

А если уж сложности с device tree, то при желании можно воспользоваться утилитой sopc2dts и даже включить GUI.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this