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

Прошивка Arria 10 через uboot

Всем привет,

Пытаюсь прошить ПЛИС Arria 10 через uboot. Пока в "ручном" режиме:

1. Загружаю прошивку командой "fatload mmc 0:2 0x2000000 top.rbf". Выхлоп:

31619884 bytes read in 971 ms (31.1 MiB/s)

Размер файла совпадает.

2. Пытаюсь зашить прошивку в ПЛИС командой fpga load 0 ${fpgadata} ${filesize}. Выхлоп:

Unknown fpga operation "load"
fpga - loadable FPGA image support

Переменные окружения, используемые в командах:

fpgadata=0x2000000
filesize=1e27b2c

Руководствовался сайтом rocketboards.org и документацией на uboot.

Собственно, вопрос: ЧЯДНТ? Может быть, есть какой-то нюанс, мною упущенный?

 

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


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

3 часа назад, nice_vladi сказал:

Собственно, вопрос: ЧЯДНТ? Может быть, есть какой-то нюанс, мною упущенный?

для начала, в консоли u-boot дайте команду

help

и смотрите, есть ли в списке команда fpga

если нет, то ваш убут ее не поддерживает

если есть, то дайте команду

fpga help

и смотрите синтаксис команды

если вы опирались на это https://rocketboards.org/foswiki/Documentation/LoadingFPGAFromUBoot

то там статья от 2013 года и могли давно все переиграть..

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


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

5 minutes ago, Jury093 said:

и смотрите, есть ли в списке команда fpga

Да, такая есть. Но при попытке fpga help выдает все то же:

SOCFPGA_ARRIA10 # fpga help
Unknown fpga operation "help"
fpga - loadable FPGA image support

При этом, к примеру, fpga info 0 работает вполне нормально:

SOCFPGA_ARRIA10 # fpga info 0
Altera Device
Descriptor @ 0xffe26364
Family:        	SoC FPGA
Interface type:	Fast Passive Parallel (FPP)
Device Size:   	4294967295 bytes
Cookie:        	0x0 (0)
No Device Function Table.

 

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


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

32 минуты назад, nice_vladi сказал:

Да, такая есть. Но при попытке fpga help выдает все то же:

При этом, к примеру, fpga info 0 работает вполне нормально:


SOCFPGA_ARRIA10 # fpga info 0
Altera Device
Descriptor @ 0xffe26364
Family:        	SoC FPGA
Interface type:	Fast Passive Parallel (FPP)
Device Size:   	4294967295 bytes
Cookie:        	0x0 (0)
No Device Function Table.

 

попробуйте наоборот - help fpga

смысл - вызвать встроенную помощь по команде

если load присутствует (как и info), то у вас мог затесаться символ не в той кодировке в слове load

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

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


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

8 minutes ago, Jury093 said:

попробуйте наоборот - help fpga

смысл - вызвать встроенную помощь по команде

если load присутствует (как и info), то у вас мог затесаться символ не в той кодировке в слове load

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

Я пробовал по-разному уже. В т.ч., посмотреть исходники этого приложения (fpga) - но ничего пока не получается понять. Все делаю по правилам - ничего не работает. Поэтому, собвственно, и написал сюда)

По поводу кодировок - уже думал про это, пробовал разными терминалами (microcom, putty) работать, пробовал копипастом из текстового редактора вставлять. Наверное, дело не в этом.

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


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

1 минуту назад, nice_vladi сказал:

Я пробовал по-разному уже. В т.ч., посмотреть исходники этого приложения (fpga) - но ничего пока не получается понять. Все делаю по правилам - ничего не работает. Поэтому, собвственно, и написал сюда)

По поводу кодировок - уже думал про это, пробовал разными терминалами (microcom, putty) работать, пробовал копипастом из текстового редактора вставлять. Наверное, дело не в этом.

линк на исходники убута выложите или страницу откуда брали инфу..

в современном убуте д.б. функция "добивки" команды, типа набираете fp потом tab-tab и должно появится fpga

и что выводит просто команда fpga - должна выводить краткую помощь по аргументам

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


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

1 minute ago, Jury093 said:

линк на исходники убута выложите или страницу откуда брали инфу..

в современном убуте д.б. функция "добивки" команды, типа набираете fp потом tab-tab и должно появится fpga

и что выводит просто команда fpga - должна выводить краткую помощь по аргументам

Версия юбута:

SOCFPGA_ARRIA10 # version

U-Boot 2014.10-00303-g9742ef3 (Dec 13 2016 - 11:30:37)
arm-altera-eabi-gcc (Sourcery CodeBench Lite 2015.11-45) 5.2.0
GNU ld (Sourcery CodeBench Lite 2015.11-45) 2.25.51

Соответственно, исходник смотрю здесь:

https://github.com/altera-opensource/u-boot-socfpga/blob/socfpga_v2014.10_arria10_bringup/common/cmd_fpga.c

Команда fpga выводит всего одну строку, как в моем первом сообщении:

SOCFPGA_ARRIA10 # fpga   
fpga - loadable FPGA image support

SOCFPGA_ARRIA10 # 

 

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


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

18 минут назад, nice_vladi сказал:

Версия юбута:


SOCFPGA_ARRIA10 # version

U-Boot 2014.10-00303-g9742ef3 (Dec 13 2016 - 11:30:37)
arm-altera-eabi-gcc (Sourcery CodeBench Lite 2015.11-45) 5.2.0
GNU ld (Sourcery CodeBench Lite 2015.11-45) 2.25.51

Соответственно, исходник смотрю здесь:

https://github.com/altera-opensource/u-boot-socfpga/blob/socfpga_v2014.10_arria10_bringup/common/cmd_fpga.c

Команда fpga выводит всего одну строку, как в моем первом сообщении:


SOCFPGA_ARRIA10 # fpga   
fpga - loadable FPGA image support

SOCFPGA_ARRIA10 # 

 

посмотрите в файле конфига (в корне исходников кажись файл .config) есть ли CONFIG_CMD_FPGA_LOAD

она фигурирует

#if defined(CONFIG_CMD_FPGA_LOAD)

else if (!strcmp("load", opstr))

op = FPGA_LOAD;

#endif

и

#if defined(CONFIG_CMD_FPGA_LOAD)

" load\t[dev] [address] [size]\tLoad device from memory buffer\n"

#endif

и заодно CONFIG_CMD_FPGA_LOADFS

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


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

6 minutes ago, Jury093 said:

посмотрите в файле конфига (в корне исходников кажись файл .config) есть ли CONFIG_CMD_FPGA_LOAD

и

и заодно CONFIG_CMD_FPGA_LOADFS

Нет, таких переменных нет. Я собирал через BSP-editor. Буду разибраться, спасибо.

Все равно непонятно, почему адекватно не отображается хелп по команде. Он должен быть другой, вне зависимости от конфигурации юбута.

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


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

1 минуту назад, nice_vladi сказал:

Нет, таких переменных нет. Я собирал через BSP-editor. Буду разибраться, спасибо.

Все равно непонятно, почему адекватно не отображается хелп по команде. Он должен быть другой, вне зависимости от конфигурации юбута.

говорливость помощи регулируется через тот же конфиг и на минималках (для уменьшения размера бинарника) может быть сильно обкусана

успехов в сборке и запуске..

я бы в бренчах покопался, все же 2014 не самый свежий и запросто может быть с неживым функционалом для arria10

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


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

Попробуйте fpga loadfs - есть ли такая команда?

Подозрительно подробный у нее хелп:

#elif defined(CONFIG_FPGA_SOCFPGA_ARRIA10)
	   "  loadfs [dev] [interface] [<dev[:part]>] <filename/offset> "
	   "[rbftype(periph,core,combined)]\n"
	   "  Description:\n"
	   "    [dev] - FPGA device number\n"
	   "    [interface] - source device interface ([mmc], [qspi], or "
	   "[nand])\n"
	   "    <dev[:[part]> - <source device num[:partition of dev]> "
	   "such as 0:1 for mmc FAT partition\n"
	   "    [filename/offset] - rbf filename or offset entry of the rbf in "
	   "source device\n"
	   "    [rbftype](optional) - [periph], [core], or [combined],"
	   " default:[combined]\n"
	   "  This command requires no "
	   "[device number] [image address] [image size]\n"
#else

 

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


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

16 minutes ago, Flood said:

Попробуйте fpga loadfs - есть ли такая команда?

Подозрительно подробный у нее хелп:


#elif defined(CONFIG_FPGA_SOCFPGA_ARRIA10)
	   "  loadfs [dev] [interface] [<dev[:part]>] <filename/offset> "
	   "[rbftype(periph,core,combined)]\n"
	   "  Description:\n"
	   "    [dev] - FPGA device number\n"
	   "    [interface] - source device interface ([mmc], [qspi], or "
	   "[nand])\n"
	   "    <dev[:[part]> - <source device num[:partition of dev]> "
	   "such as 0:1 for mmc FAT partition\n"
	   "    [filename/offset] - rbf filename or offset entry of the rbf in "
	   "source device\n"
	   "    [rbftype](optional) - [periph], [core], or [combined],"
	   " default:[combined]\n"
	   "  This command requires no "
	   "[device number] [image address] [image size]\n"
#else

 

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

Но он, хотя бы, начал откликаться. Буду дальше курить.

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


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

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

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

Но он, хотя бы, начал откликаться. Буду дальше курить.

тоже вариант - видимо разница в том, что load грузит бинарник из мозгов, а loadfs (по смыслу) с накопителя

и чисто для инфы, вывод старого убута для Cyclone5:

uboot # version

U-Boot 2013.01.01 (Oct 23 2019 - 13:04:34)
arm-linux-gnueabihf-gcc ( 4.9.2-10) 4.9.2
GNU ld (GNU Binutils for Debian) 2.25
uboot # fpga
FPGA device not specified
fpga - loadable FPGA image support

Usage:
fpga [operation type] [device number] [image address] [image size]
fpga operations:
  dump  [dev]                   Load device to memory buffer
  info  [dev]                   list known device information
  load  [dev] [address] [size]  Load device from memory buffer
  loadb [dev] [address] [size]  Load device from bitstream buffer (Xilinx only)
  loadmk [dev] [address]        Load device generated with mkimage

 

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


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

1 minute ago, Jury093 said:

тоже вариант - видимо разница в том, что load грузит бинарник из мозгов, а loadfs (по смыслу) с накопителя

и чисто для инфы, вывод старого убута для Cyclone5:

...

Да, так и должно быть. Мой юбут, почему-то отказывается показывать такой отклик. Я немного опасаюсь его пересобирать, т.к. флешка распаяна на плате и, если свежесобранный юбут будет кривым, есть риск получить геморрой)

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


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

18 minutes ago, nice_vladi said:

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

А что, альтеровские SOCи нельзя перешивать через JTAG?????

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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