chirik8807 0 18 октября, 2017 Опубликовано 18 октября, 2017 (изменено) · Жалоба Всем привет! 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 ? И еще вопрос, почему прошивка плис не проходит? Изменено 19 октября, 2017 пользователем chirik Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 18 октября, 2017 Опубликовано 18 октября, 2017 · Жалоба Что значит "в fpga прошивка по умолчанию"? Сгенерируйте свою прошивку и положите её на карту памяти под именем soc_system.rbf, затерев таким образом оригинальную. Скрипт uboot изменять не нужно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
chirik8807 0 19 октября, 2017 Опубликовано 19 октября, 2017 · Жалоба Что значит "в 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 ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 19 октября, 2017 Опубликовано 19 октября, 2017 · Жалоба Сорри, вы же про включение моста... Приведите полностью текущий скрипт 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 не должна считываться никоим образом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
chirik8807 0 19 октября, 2017 Опубликовано 19 октября, 2017 · Жалоба "если пины 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 # Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 19 октября, 2017 Опубликовано 19 октября, 2017 · Жалоба Проверьте, почему образ zimage побился. Вы используете уже готовые файлы прелоадера, юбута и линукса или собирали сами? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
chirik8807 0 19 октября, 2017 Опубликовано 19 октября, 2017 · Жалоба 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 19 октября, 2017 Опубликовано 19 октября, 2017 · Жалоба Тогда надо разбираться, почему отсутствует нужная сигнатура в памяти по адресу загрузки образа ядра. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
chirik8807 0 20 октября, 2017 Опубликовано 20 октября, 2017 · Жалоба Тогда надо разбираться, почему отсутствует нужная сигнатура в памяти по адресу загрузки образа ядра. Интересно, а почему когда MSEL стояли на загрузку из EPCS, то ядро линукса начинало грузиться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 20 октября, 2017 Опубликовано 20 октября, 2017 · Жалоба Интересно, а почему когда MSEL стояли на загрузку из EPCS, то ядро линукса начинало грузиться? Это когда совсем без SD карты? Значит, в EPCS лежат правильные образы ядра и т.п., а на SD карте у вас что-то не так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
chirik8807 0 20 октября, 2017 Опубликовано 20 октября, 2017 · Жалоба Не, с той же SD картой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 20 октября, 2017 Опубликовано 20 октября, 2017 · Жалоба Не, с той же SD картой. Тогда смотрите, что изменилось. Под юбутом проверьте область памяти, откуда запускается ядро линукса - точно там лежит файл zImage, или нет? Используйте образ, который исправно грузится прелоадером на epcs. Прогоните тест памяти, могут быть сбои если неправильно настроены параметры в проекте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
chirik8807 0 20 октября, 2017 Опубликовано 20 октября, 2017 (изменено) · Жалоба В epcs только прошивка для плис. Спасибо за наводящие вопросы! но я начинаю думать на socfpga.dtb... Изменено 20 октября, 2017 пользователем chirik Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 20 октября, 2017 Опубликовано 20 октября, 2017 · Жалоба но я начинаю думать на socfpga.dtb... Просто возьмите файл .dtb с исправно загружающегося образа SD, для проверки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 21 октября, 2017 Опубликовано 21 октября, 2017 · Жалоба Что касается включения мостов ПЛИС, у меня плата 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). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться