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

Настройка fpga2sdram в u-boot

Всем привет!

1) Сделал пример в qsys: генератор картинки- > фрейм буфер на памяти DDR3 ARMa -> VGA генератор

(за основу взял пример от terasic, и с их образом SD-карты мой пример работает - вижу цветные полосы на мониторе)

2) Делаю свою SD-карту по описанию https://rocketboards.org/foswiki/Documentation/AVCVGSRD161

3) Прошиваю образ на флешку и при запуске вижу следующее:

- В fpga прошивка по умолчанию (судя по терминалу плис прошивается, но потом такое ощущение, что ресет проскакивает и плис снова с прошивкой по умолчанию)

Hit any key to stop autoboot: 0

reading u-boot.scr

200 bytes read in 4 ms (48.8 KiB/s)

## Executing script at 02000000

reading soc_system.rbf

7007204 bytes read in 331 ms (20.2 MiB/s)

## Starting application at 0x3FF79584 ...

****

- После загрузка останавливается

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x0

****

[ 1.041385] of_cfs_init: OK

[ 1.047017] ttyS0 - failed to request DMA

[ 1.051082] Waiting for root device /dev/mmcblk0p2...

terminal.txt

Я так понимаю, что запуск fpga2sdram не прошел.

У меня есть подозрение, что я не могу использовать настройку u-boot.scr по умолчанию https://rocketboards.org/foswiki/Documentat...ProgrammingFPGA

fatload mmc 0:1 $fpgadata soc_system.rbf;

fpga load 0 $fpgadata $filesize;

run bridge_enable_handoff;

run mmcload;

run mmcboot;

 

Хочу узнать ваше мнение, это в u-boot.scr нужно дополнительно конфигурировать fpga2sdram ?

И еще вопрос, почему прошивка плис не проходит?

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

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


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

Что значит "в fpga прошивка по умолчанию"?

Сгенерируйте свою прошивку и положите её на карту памяти под именем soc_system.rbf, затерев таким образом оригинальную.

 

Скрипт uboot изменять не нужно.

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


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

Что значит "в fpga прошивка по умолчанию"?

Сгенерируйте свою прошивку и положите её на карту памяти под именем soc_system.rbf, затерев таким образом оригинальную.

 

Скрипт uboot изменять не нужно.

 

"её на карту памяти под именем soc_system.rbf" - я так и делаю. по умолчанию это которая pof из EPCS.

 

Скрипт uboot изменять не нужно.

 

В этой статье говорят, что включение fpga2sdram необходимо выполнять в U-boot и добавляют следующие строки

https://habrahabr.ru/company/metrotek/blog/263571/

...

fpgadata=0x10000000

fpgafile=/lib/firmware/fpga/fpga.rbf

fpgaboot=setenv fpga2sdram_handoff 0x3fff; ext2load mmc 0:2 ${fpgadata} ${fpgafile}; fpga load 0 ${fpgadata} ${filesize}

bridge_enable_handoff=mw $fpgaintf ${fpgaintf_handoff}; go $fpga2sdram_apply; mw $fpga2sdram ${fpga2sdram_handoff}; mw $axibridge ${axibridge_handoff}; mw $l3remap ${l3remap_handoff}

bootcmd=run fpgaboot; run bridge_enable_handoff; run mmcboot

...

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


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

Сорри, вы же про включение моста...

 

Приведите полностью текущий скрипт u-boot.scr

 

Судя по логу, прошивка ПЛИС загружается нормально, вот в этом месте:

reading soc_system.rbf
7007204 bytes read in 331 ms (20.2 MiB/s)
## Starting application at 0x3FF79584 ...
## Application terminated, rc = 0x0

 

Если пины bootsel выставлены правильно на загрузку с SD карты, то флеш epcs не должна считываться никоим образом.

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


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

"если пины Bootsel выставлены на загрузку с SD карты, то считывание флешки epcs не должно происходить" И в правду я забыл о MSEL!

Теперь прошивка FPGA грузиться, вижу свои полоски на VGA мониторе, но теперь Linux не начинает грузиться..

 

Hit any key to stop autoboot: 0

reading u-boot.scr

200 bytes read in 3 ms (64.5 KiB/s)

## Executing script at 02000000

reading soc_system.rbf

7007204 bytes read in 331 ms (20.2 MiB/s)

## Starting application at 0x3FF79584 ...

## Application terminated, rc = 0x0

reading zImage

4051904 bytes read in 192 ms (20.1 MiB/s)

reading socfpga.dtb

18955 bytes read in 6 ms (3 MiB/s)

Bad Linux ARM zImage magic!

reading zImage

4051904 bytes read in 192 ms (20.1 MiB/s)

reading socfpga.dtb

18955 bytes read in 6 ms (3 MiB/s)

Bad Linux ARM zImage magic!

SOCFPGA_CYCLONE5 #

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


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

Проверьте, почему образ zimage побился.

 

Вы используете уже готовые файлы прелоадера, юбута и линукса или собирали сами?

 

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


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

1) preloader-mkpimage.bin (Preloader image) свой генерил на основе своего проекта https://rocketboards.org/foswiki/Documentation/GSRDPreloader

2) socfpga.dtb (Device Tree Blob) свой генерил на основе своего проекта https://rocketboards.org/foswiki/Documentat...ceTreeGenerator

3) u-boot.scr (U-boot script for configuring the FPGA) стандартный по этой инструкции https://rocketboards.org/foswiki/Documentat...ProgrammingFPGA

 

4) u-boot-cyclone5.img (U-boot image) готовый брал от сюда linux-socfpga-gsrd-16.1-cv-bin.tar.gz https://releases.rocketboards.org/release/2016.10/gsrd/bin/

5) zImage (Compressed Linux kernel image) готовый из linux-socfpga-gsrd-16.1-cv-bin.tar.gz

6) altera-gsrd-image-cyclone5.tar.gz (Root filesystem as compressed tarball) готовый из linux-socfpga-gsrd-16.1-cv-bin.tar.gz

 

Собирал все это дело, как в описании скриптом make_sdimage.py https://rocketboards.org/foswiki/Documentation/GSRDSdCard

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


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

Тогда надо разбираться, почему отсутствует нужная сигнатура в памяти по адресу загрузки образа ядра.

 

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


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

Тогда надо разбираться, почему отсутствует нужная сигнатура в памяти по адресу загрузки образа ядра.

Интересно, а почему когда MSEL стояли на загрузку из EPCS, то ядро линукса начинало грузиться?

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


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

Интересно, а почему когда MSEL стояли на загрузку из EPCS, то ядро линукса начинало грузиться?

Это когда совсем без SD карты?

Значит, в EPCS лежат правильные образы ядра и т.п., а на SD карте у вас что-то не так.

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


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

Не, с той же SD картой.

Тогда смотрите, что изменилось.

Под юбутом проверьте область памяти, откуда запускается ядро линукса - точно там лежит файл zImage, или нет?

Используйте образ, который исправно грузится прелоадером на epcs.

 

Прогоните тест памяти, могут быть сбои если неправильно настроены параметры в проекте.

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


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

В epcs только прошивка для плис. Спасибо за наводящие вопросы! но я начинаю думать на socfpga.dtb...

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

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


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

но я начинаю думать на socfpga.dtb...

Просто возьмите файл .dtb с исправно загружающегося образа SD, для проверки.

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


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

Что касается включения мостов ПЛИС, у меня плата DE10-Nano, использую такой u-boot.script:

echo Programming FPGA...
fatload mmc 0:1 $fpgadata soc_system.rbf;
fpga load 0 $fpgadata $filesize;
run bridge_enable_handoff;

echo Setting Env Variables...
setenv fdtimage soc_system.dtb;
setenv mmcroot /dev/mmcblk0p2;
setenv mmcload 'mmc rescan;${mmcloadcmd} mmc 0:${mmcloadpart} ${loadaddr} ${bootimage};${mmcloadcmd} mmc 0:${mmcloadpart} ${fdtaddr} ${fdtimage};';
setenv mmcboot 'setenv bootargs console=ttyS0,115200 root=${mmcroot} rw rootfstype=ext4 rootwait; bootz ${loadaddr} - ${fdtaddr}';

echo Loading Kernel...
#run mmcload;
#run mmcboot;

 

U-boot собирал по инструкции Embedded Linux Beginners Guide, раздел Configure and Compile U-Boot.

По этому гайду собрал полностью подсистему линукс и работает она без проблем, по крайней мере для моих нужд на данный момент.

 

Мосты активны, sys/class/fpga_bridge/br->state->enabled (ядро 4.1).

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


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

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

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

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

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

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

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

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

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

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