Перейти к содержанию
    

Web server Artix (Nesys4 DDR)

Приветствую всех!

Есть задумка сделать устройство с Web мордой для отображения на ней динамических данных которые рассчитываются на FPGA.

Исходные данные для SDK взяты по ссылке (https://github.com/Xilinx/embeddedsw/tree/master/ThirdParty/sw_services/lwip211/examples).

Использую для тестового запуска Nesys4 DDR, vivado 2019.1 (использование vivado 2018.2 - vivado 2019.1 обязательно и обусловлено наличием нужных IP ядер для проекта) .

 

при запуске получаю ошибки : 

Failed to mount FAT FS. Formatting ...

Failed to format FAT FS

Can't run webserver as FS init failed

 

*.img с самой страничкой создаю под Linux и загружаю через SDK в DDR. по адресу 0х10000000 (этот адрес под большим вопросом!!)

Как запустить все это дело?

Нет понимания куда грузить *.img для самостоятельного старта FPGA как web сервера. (*.elf и *.bit прекрасно связываются и проливаются)

 

Может есть у кого-нибудь адекватный пример как это все завязать? (инфы мало, XAP1026 не приводить, пример для Arty от Avnet не катит, все это под старые Vivado, есть серьезные отличия в SDK)

 

sdk.thumb.png.6f4507403dfef1a4ec515772093b46f6.pngvivado.thumb.png.fd1f6993baf8eaf155d840f994cff8b6.png

Изменено пользователем Rotor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 минуты назад Гоша-з сказал:

Дурацкий вопрос: А на чем предполагалось разместить FatFS?

Не менее дурацкий ответ: не знаю, можно и на CD карте и на флеш qspi. которая на борту, но не понятно как.

Сейчас образ грузится в DDRку пока, как по гайду написано.

Для этого здесь и написал, как *.img завязать с *.elf. И почему он не определяется при старте.

Если надо могу архив проекта скинуть.

Изменено пользователем Rotor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, Rotor said:

Не менее дурацкий ответ: не знаю, можно и на CD карте и на флеш qspi. которая на борту, но не понятно как.

QSPI - мимо, она для этого не предназначена. Контроллера SD (видимо, имелась в виду SD, а не CD карта) на блок-дизайне не увидел, посему вопрос остается актуальным.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, gosha-z said:

QSPI - мимо, она для этого не предназначена. Контроллера SD (видимо, имелась в виду SD, а не CD карта) на блок-дизайне не увидел, посему вопрос остается актуальным.

да, SD карта (обычно  куда битстрим кидают)

MM5f5CI9wQM.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 minutes ago, gosha-z said:

QSPI - мимо, она для этого не предназначена. Контроллера SD (видимо, имелась в виду SD, а не CD карта) на блок-дизайне не увидел, посему вопрос остается актуальным.

Вот под Arty проект  пример (https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841844/ARTY+FreeRTOS+Web+Server)- там просто прошивают битстрим и .elf 

Tcl для запуска этого примера:

#!/usr/bin/tclsh
xsdb connect
puts "        *********** Connection done ************\n"
xsdb target
xsdb target 1
puts "        ********** Target board selected ***********\n"
puts "\n **** Connect the hyderterminal with 115200 8-N-1 baud rate!!!*******\n"
xsdb fpga -file ./ready_for_download/design_1_wrapper.bit
puts "        ********** Programmed FPGA ************\n"
puts "\n        *********** Running Application ************\n "
xsdb targets
xsdb ta 3
xsdb ta
xsdb dow ./ready_for_download/FreeRTOS_LWIP_Webserver_Demo.elf
xsdb con

puts "Please wait for a minute to see demo into action\n"
puts "                           ****************************************\n"
puts "***** Once you see prints on terminal. Open the client web browser to play demo with IP address 192.168.1.10****** \n"
puts "                           *******************X-0-X*******************\n"

 

5 minutes ago, gosha-z said:

Так микроблейз про нее ничего не знает...

Это источник откуда будет загружаться FPGA.

 

Я же говорю- у меня есть вопросы почему не грузится сейчас, *.img пишу в DDR, и куда дальше его привязать и как

MM5f5CI9wQM.jpg

Изменено пользователем Rotor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 minutes ago, gosha-z said:

Ну так запустите через xsct "ручками" и посмотрите, что происходит после con

Читайте мое первое сообщение!!!

Я не использую пример Arty.

я опираюсь на https://github.com/Xilinx/embeddedsw/tree/master/ThirdParty/sw_services/lwip211/examples

Вот что происходит- с этого я и начал!

Connected to COM17 at 9600


-----lwIP Socket Mode Demo Application ------
link speed: 100
DHCP request success
Board IP: 10.0.10.203
Netmask : 255.255.255.0
Gateway : 10.0.10.1


http server is running on port 80
Please point your web browser to http://10.0.10.203


Failed to mount FAT FS. Formatting...
Failed to format FAT FS
Can't run webserver as FS init failed

20 minutes ago, gosha-z said:

Ну так запустите через xsct "ручками" и посмотрите, что происходит после con

Если нет дельных и вразумительных советов, не засоряйте тему. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Rotor said:

Если нет дельных и вразумительных советов, не засоряйте тему. 

Идите в тему микроконтроллеров, там каждый второй вам расскажет как сделать FatFS на RAM вместо SD карты, инициализировать файлами и запустить WEB server. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 hours ago, Rotor said:

Я же говорю- у меня есть вопросы почему не грузится сейчас, *.img пишу в DDR, и куда дальше его привязать и как

по вашей же ссылке на гитхабе черным по белому

Quote

ramfs_size - 3145728
ramfs_start_addr - 0x10000000

не забудьте исключить эту область из доступной линкеру проца

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 hours ago, fguy said:

по вашей же ссылке на гитхабе черным по белому

не забудьте исключить эту область из доступной линкеру проца

по этому адресу клал *.img с самого начала, проблема запуска решилась изменением этого адреса.

Теперь вопрос в том, как это все связать вместе (*.img, *.elf, *.bit)  и реализовать самостоятельный старт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, Rotor said:

Теперь вопрос в том, как это все связать вместе (*.img, *.elf, *.bit)  и реализовать самостоятельный старт?

На артиксе с микроблэйзом никак - имг придется шить отдельно и копировать своим кодом из флэшки в ддр - при условии что код для микроблэйза помещается в выделенную брам.

Если брам-а для микроблэйза в достаточном объеме не выделить, то можно использовать штатный srec_bootloader для "автоматической" загрузки рабочего кода микроблэйза в ддр из флэшки, а имг разместить как константу в коде - но это практически то же самое - так же 2 прошивки во флэш и "ручное" копирование имг в заданную область. Как вариант можете дописать srec чтобы он грузил обе части прошивки в ддр сам.

Ну а эльф и бит связываются в один бит в сдк, который конвертируете в прошиваемый бин под конкретную вашу флэшку.

У вас в бд отсутствует контролер флэшки - без него вы ничего не дочитаете из неё!!!

Изменено пользователем fguy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...