Aleksei_Rostov 0 24 мая, 2020 Опубликовано 24 мая, 2020 · Жалоба Есть вопрос к специалистам: собираю u boot для Arty Z7-20 платы на Zynq'е средствами кросс - компиляции по вики Xilinx: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841973/Build+U-Boot Потом собираю BOOT.BIN добавив fsbl.elf, .bit файл прошивки и u-boot.elf скомпилированный с исходников из гита Xilinx. Запускаюсь, предварительно разрешив дебаг в FSBL, вот лог: Xilinx First Stage Boot Loader Release 2019.1 May 24 2020-00:58:05 Devcfg driver initialized Silicon Version 3.1 Boot mode is SD SD: rc= 0 SD Init Done Flash Base Address: 0xE0100000 Reboot status register: 0x60600000 Multiboot Register: 0x0000C000 Image Start Address: 0x00000000 Partition Header Offset:0x00000C80 Partition Count: 3 Partition Number: 1 Header Dump Image Word Len: 0x000F6EC0 Data Word Len: 0x000F6EC0 Partition Word Len:0x000F6EC0 Load Addr: 0x00000000 Exec Addr: 0x00000000 Partition Start: 0x000075D0 Partition Attr: 0x00000020 Partition Checksum Offset: 0x00000000 Section Count: 0x00000001 Checksum: 0xFFD13B7E Bitstream In FsblHookBeforeBitstreamDload function PCAP:StatusReg = 0x40000A30 PCAP:device ready PCAP:Clear done Level Shifter Value = 0xA Devcfg Status register = 0x40000A30 PCAP:Fabric is Initialized done PCAP register dump: PCAP CTRL 0xF8007000: 0x4C00E07F PCAP LOCK 0xF8007004: 0x0000001A PCAP CONFIG 0xF8007008: 0x00000508 PCAP ISR 0xF800700C: 0x0802000B PCAP IMR 0xF8007010: 0xFFFFFFFF PCAP STATUS 0xF8007014: 0x00008A30 PCAP DMA SRC ADDR 0xF8007018: 0x00100001 PCAP DMA DEST ADDR 0xF800701C: 0xFFFFFFFF PCAP DMA SRC LEN 0xF8007020: 0x000F6EC0 PCAP DMA DEST LEN 0xF8007024: 0x000F6EC0 PCAP ROM SHADOW CTRL 0xF8007028: 0xFFFFFFFF PCAP MBOOT 0xF800702C: 0x0000C000 PCAP SW ID 0xF8007030: 0x00000000 PCAP UNLOCK 0xF8007034: 0x757BDF0D PCAP MCTRL 0xF8007080: 0x30800100 DMA Done ! FPGA Done ! In FsblHookAfterBitstreamDload function Partition Number: 2 Header Dump Image Word Len: 0x00021F48 Data Word Len: 0x00021F48 Partition Word Len:0x00021F48 Load Addr: 0x04000000 Exec Addr: 0x04000000 Partition Start: 0x000FE490 Partition Attr: 0x00000011 Partition Checksum Offset: 0x00000000 Section Count: 0x00000001 Checksum: 0xF7E9BB25 Application Handoff Address: 0x04000000 In FsblHookBeforeHandoff function SUCCESSFUL_HANDOFF FSBL Status = 0x1 U-boot не грузится. Беру u-boot из проекта petalinux, созданного для этой же платы, собираю boot.bin, загрузка u-boot проходит нормально. Не могу понять, почему не работает u-boot, полученный из исходников Xilinx. Команды для компиляции использую следующие: export CROSS_COMPILE=arm-linux-gnueabihf- export ARCH=arm make distclean make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zynq_zc702_defconfig make ARCH=arm Пробовал компилировать и с arm-none-eabi- компилятором. При загрузке с U-boot из петалинукса в логе упоминается zynq_zc702_defconfig конфиг. Может необходимо какие либо настройки в zynq_zc702_defconfig поменять до компиляции? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 1 24 мая, 2020 Опубликовано 24 мая, 2020 · Жалоба 1. Откуда брался fsbl? 2. А если "вручную" запустить U-Boot с инициализацией скриптами - он запускается? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksei_Rostov 0 24 мая, 2020 Опубликовано 24 мая, 2020 · Жалоба 24 minutes ago, gosha-z said: 1. Откуда брался fsbl? 2. А если "вручную" запустить U-Boot с инициализацией скриптами - он запускается? 1. FSBL сгенерерованный в Xilinx SDK. 2. Не вижу смысла в ином способе запуска: BOOT.BIN читается из микроСД карты, с uboot из петалинукса грузится, c uboot из исходников -- нет. пытаюсь понять в чем разница. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 1 24 мая, 2020 Опубликовано 24 мая, 2020 · Жалоба 1 minute ago, Alexey_Rostov said: FSBL сгенерерованный в Xilinx SDK. После того. как вы точно воспроизвели конфигурацию PCW Arty7? 1 minute ago, Alexey_Rostov said: пытаюсь понять в чем разница. Device Tree разный, например. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksei_Rostov 0 24 мая, 2020 Опубликовано 24 мая, 2020 · Жалоба 3 minutes ago, gosha-z said: После того. как вы точно воспроизвели конфигурацию PCW Arty7? Device Tree разный, например. Спасибо. тогда может найти на какой device tree указывает конфиг zynq_zc702_defconfig, подредактировать под мой DT с платы и запуститься. То есть проблема в разных DT, которые описывают периферию без PL части? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 1 24 мая, 2020 Опубликовано 24 мая, 2020 · Жалоба Это всего лишь предположение. Поэтому я и предложил запустить сначала U-Boot на инициализации скриптами. Тогда у вас есть возможность вывести дебаг в DCC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksei_Rostov 0 24 мая, 2020 Опубликовано 24 мая, 2020 · Жалоба 1 hour ago, Alexey_Rostov said: Спасибо. тогда может найти на какой device tree указывает конфиг zynq_zc702_defconfig, подредактировать под мой DT с платы и запуститься. То есть проблема в разных DT, которые описывают периферию без PL части? Действительно, получилось. Создал свой arty_defconfig файл, добавил папку с названием arty в u-boot-xlnx/board/xilinx/zynq с файлами ps7_init_gpl.c, ps7_init_gpl.h, ps7_init.c, ps7_init.h, в папку dts arty.dts и добавил в Makefile в папке dts arty.dtb. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться