Jump to content

    

Recommended Posts

Здравствуйте. 

Чем отличаются device tree для убута и для Линукса. Я добавил в Vitis репозиторий с  device tree, получил файлы dts dtsi. Это чей  device tree ? Могу я эти файлы добавить в /u-boot-xlnx/arch/arm/dts/ ?

Нужно их дополнительно редактировать ?

Не получается собрать u-boot. С тем, который шел в примере с платой система нормально стартует. Меняю только свой убут в Boot.bin и в консоли появляется только 4 строчки. Ни ошибок, ничего...

Share this post


Link to post
Share on other sites

вот лог при нормальной загрузке (убут взят готовый из примера)

Xilinx Zynq MP First Stage Boot Loader
Release 2019.2   Jul 14 2020  -  14:04:06
NOTICE:  ATF running on XCZU7EV/silicon v4/RTL5.1 at 0xfffea000
NOTICE:  BL31: Secure code at 0x0
NOTICE:  BL31: Non secure code at 0x8000000
NOTICE:  BL31: v2.0(release):xilinx-v2019.1-12-g713dace9
NOTICE:  BL31: Built : 06:44:31, May  7 2020
PMUFW:  v1.1


U-Boot 2019.01 (May 07 2020 - 06:57:54 +0000)

Board: Xilinx ZynqMP
DRAM:  4 GiB
EL Level:       EL2
Chip ID:        zu7ev
MMC:   mmc@ff160000: 0, mmc@ff170000: 1
In:    serial@ff000000
Out:   serial@ff000000
Err:   serial@ff000000
Board: Xilinx ZynqMP
Bootmode: SD_MODE1
Reset reason:   EXTERNAL
Net:   ZYNQ GEM: ff0e0000, phyaddr 1, interface rgmii-id

Warning: ethernet@ff0e0000 using MAC address from ROM
eth0: ethernet@ff0e0000
U-BOOT for petalinux

ethernet@ff0e0000 Waiting for PHY auto negotiation to complete...... done
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
..........

здесь грузится Линукс

 

а вот лог после замены на свежесобранный убут

Xilinx Zynq MP First Stage Boot Loader
Release 2019.2   Jul 14 2020  -  14:04:06
NOTICE:  ATF running on XCZU7EV/silicon v4/RTL5.1 at 0xfffea000
NOTICE:  BL31: Secure code at 0x0
NOTICE:  BL31: Non secure code at 0x8000000
NOTICE:  BL31: v2.0(release):xilinx-v2019.1-12-g713dace9
NOTICE:  BL31: Built : 06:44:31, May  7 2020
 

и все, на это месте застревает загрузка...

Хоть бы ругнулся на что-нибудь, понятно было бы куда копать 

 

 

При сборке убута выводится предупреждение 

WARNING: BL31 file bl31.bin NOT found, U-Boot will run in EL3

 

Может быть с этим связано ?

 

Edited by карамболь

Share this post


Link to post
Share on other sites
3 часа назад, карамболь сказал:

Неужели никто не собирал Убут для mpsoc без petalinux ? Или я вопросы некорректно сформулировал ? 

здесь слово петалинукс знает 2-3 человека, но ваши проблемы с убутом врядли кто порешает. погуглите "bl31.bin NOT found"

и ищите подобные темы на xilinx, типа https://forums.xilinx.com/t5/Embedded-Linux/Ultrascale-Uboot-xlnx-not-initialing-after-FSBL/td-p/889971

очень похоже, что нужен bl31.bin - какая-то бинарная секуритата "arm-trusted-firmware"

Share this post


Link to post
Share on other sites
18 minutes ago, Jury093 said:

здесь слово петалинукс знает 2-3 человека, но ваши проблемы с убутом врядли кто порешает. погуглите "bl31.bin NOT found"

и ищите подобные темы на xilinx, типа https://forums.xilinx.com/t5/Embedded-Linux/Ultrascale-Uboot-xlnx-not-initialing-after-FSBL/td-p/889971

очень похоже, что нужен bl31.bin - какая-то бинарная секуритата "arm-trusted-firmware"

так в том то и дело, что пытаюсь построить все компоненты без петалинукса. FSBL, PMUFW и ядро Линкуса собрал уже. ATF оставлю из примера, его менять смысла нет. Остался только Убут, но вот с ним и возникли проблемы.

 

Гуглил "bl31.bin NOT found", ничего вразумительного не нашел пока. Думал, может кто здесь уже сталкивался с этим, ведь из одного источника сорцы берем и собираем одинаково 

Edited by карамболь

Share this post


Link to post
Share on other sites

Перейдите в режим загрузки через JTAG и грузите все по частям: PMUFW, FSBL, ATF, U-Boot, параллельно открыв DCC командой jtagterminal.

7 hours ago, карамболь said:

Это чей  device tree ?

В наиболее общем случае - ядра. Ибо U-Boot не обязан знать обо всех ваших корках, которые вы напихали в PL

Share this post


Link to post
Share on other sites
2 minutes ago, gosha-z said:

Перейдите в режим загрузки через JTAG и грузите все по частям: PMUFW, FSBL, ATF, U-Boot, параллельно открыв DCC командой jtagterminal.

а можно поподробнее ? Переставлю перемычки для загрузки через житаг, а дальше ? Из SDK заливать ? По очереди ? А стартовать ? Видимо, я не совсем вас понял...

Share this post


Link to post
Share on other sites
On 7/16/2020 at 8:56 PM, gosha-z said:

Читать сюда

Спасибо. Удалось запустить Linux без петалинукса. 

Сейчас загрузка происходит из SD карты. Осталась проблема подсунуть убуту правильный скрипт для загрузки. На данный момент подредактировал файл xilinx_zynqmp.h в исходниках убута, подкинул ему нужные переменные.

Но хочется некоторой гибкости, а так придется пересобирать убут при любом изменении. У меня есть текстовый файл с переменными убута (uenv.txt)

делаю так -  mkimage -A arm -O linux -T script -C none -n "u-boot commands" -d uenv.txt u-boot.bin

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

Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
JTAG: Trying to boot script at 0x20000000
## Executing script at 20000000
Wrong image format for "source" command
JTAG: SCRIPT FAILED: continuing...
switch to partitions #0, OK
mmc0(part 0) is current device
** No partition table - mmc 0 **
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
 

Как объяснить убуту, где на Sd карте находится его скрипт с переменными ?

Share this post


Link to post
Share on other sites
On 7/16/2020 at 4:22 PM, карамболь said:

Неужели никто не собирал Убут для mpsoc без petalinux ? Или я вопросы некорректно сформулировал ? 

собирал u-boot без petalinux для Zynq и ZynqMP. DT файлы в идеале должны не отличаться. Если собираете U-boot используя OSL (open source linux), то нужно для сборки  u-boot положить dts файл в папку u-boot-xlnx/arch/arm/dts и редактировать конфигурационный файл.

Тут себе памятку делал и там же редактирование скрипта загрузки (в .h файле):

https://rostovalexey.blogspot.com/2020/07/zynq-fpga-u-boot-creation-by-using.html

Share this post


Link to post
Share on other sites
On 7/23/2020 at 5:28 PM, Aleksei_Rostov said:

собирал u-boot без petalinux для Zynq и ZynqMP. DT файлы в идеале должны не отличаться. Если собираете U-boot используя OSL (open source linux), то нужно для сборки  u-boot положить dts файл в папку u-boot-xlnx/arch/arm/dts и редактировать конфигурационный файл.

Тут себе памятку делал и там же редактирование скрипта загрузки (в .h файле):

https://rostovalexey.blogspot.com/2020/07/zynq-fpga-u-boot-creation-by-using.html

Спасибо !

А вот эта строка, что отключает ? 

CONFIG_SUPPORT_SPL=n

Share this post


Link to post
Share on other sites
16 hours ago, карамболь said:

Спасибо !

А вот эта строка, что отключает ? 


CONFIG_SUPPORT_SPL=n

Отключает Secondary Program Loader (https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842574/U-Boot+Secondary+Program+Loader), который может заменить fsbl для Zynq. Для zynq MP не работает, поэтому я использую для загрузки линукса файлы с fsbl (fsbl, bit, u-boot, image.itb)

Share this post


Link to post
Share on other sites
5 hours ago, Aleksei_Rostov said:

Отключает Secondary Program Loader (https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842574/U-Boot+Secondary+Program+Loader), который может заменить fsbl для Zynq. Для zynq MP не работает, поэтому я использую для загрузки линукса файлы с fsbl (fsbl, bit, u-boot, image.itb)

спасибо !

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this