取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
1,782 次查看
注册日期: ‎02-21-2020

制作bin文件的疑问

跳至解决方案

为什么我的vitis和官方的1209手册上不一样呢,左边的是官方手册,目标cpu是A53 x64,右边是我软件的,A53 0

这个文档已经是讲vitis的东西了

1.png

0 项奖励
回复
1 解答

已接受的解答
Xilinx Employee
Xilinx Employee
1,694 次查看
注册日期: ‎06-19-2019

你可以用bootgen_utility指令解析一下boot.bin文件,如果destination_cpu为空的话,说明用来生成BOOT.bin的bif文件还是存在问题。

我之前是在bif文件中手动添加了destination_cpu属性,然后使用bootgen指令来生成BOOT.bin,能正常启动。

这应该是一个已知BUG。

------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------

在原帖中查看解决方案

19 回复数
Xilinx Employee
Xilinx Employee
1,769 次查看
注册日期: ‎06-19-2019

这应该只是界面上略有区别,可能写文档的时候所用的版本和你用的released版本不同。

本质上没有影响。

------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------
0 项奖励
回复
1,765 次查看
注册日期: ‎02-21-2020

1.png

我是按照这样写的bif文件,烧写到emmc中,启动不了uboot,打印了PM,啥意思

0 项奖励
回复
Xilinx Employee
Xilinx Employee
1,747 次查看
注册日期: ‎06-19-2019

跑死了,没显示出来。

你这个bif不太正确。

应该是类似这样的。

Capture77.PNG

------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------
0 项奖励
回复
1,721 次查看
注册日期: ‎02-21-2020

我是用vitis生成的bif文件,手动改成你那样子,生成的bin文件一模一样,现在的错误又不一样

Xilinx Zynq MP First Stage Boot Loader
Release 2019.2 Mar 5 2020 - 07:14:40
NOTICE: ATF running on XCZU5EG/EV/silicon v4/RTL5.1 at 0xfffea000
NOTICE: BL31: Secure code at 0x0
NOTICE: BL31: Non secure code at 0x0
NOTICE: BL31: v2.0(release):xilinx-v2019.1-12-g713dace9
NOTICE: BL31: Built : 07:16:10, Mar 5 2020

 

进不了uboot,这难道是uboot的跳转地址不对吗?

标记 (1)
0 项奖励
回复
Xilinx Employee
Xilinx Employee
1,710 次查看
注册日期: ‎06-19-2019

请确认一下你vitis的版本,因为曾经有一个版本存在vitis生成的bif文件不正确的问题,是一个已知的bug。

另外你使用的pmu以及atf文件是从哪里获取的,vitis在创建平台的时候,可以自动生成需要的pmu和atf文件,而且也可以自动合成BOOT.bin文件。

------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------
0 项奖励
回复
1,701 次查看
注册日期: ‎02-21-2020

1.png

不会这么巧吧,我是官网下载的,近几天才下载的。

我用的petalinux编译的 ,运行petalinux-build并没有合成boot.bin。我是用vitis合成的。

另外,我用xsct把fsbl.elf、bl31.elf、pmu.elf、uboot.elf下载进目标板后,是可以运行uboot的

0 项奖励
回复
1,696 次查看
注册日期: ‎02-21-2020

petalinux-package --boot --format BIN --fsbl images/linux/zynqmp_fsbl.elf --u-boot images/linux/u-boot.elf --pmufw images/linux/pmufw.elf --atf images/linux/bl31.elf --force

我用这条指令生成的boot.bin文件和用vitis生成的bin文件一模一样,应该可以排除软件BUG。

标记 (1)
0 项奖励
回复
Xilinx Employee
Xilinx Employee
1,695 次查看
注册日期: ‎06-19-2019

你可以用bootgen_utility指令解析一下boot.bin文件,如果destination_cpu为空的话,说明用来生成BOOT.bin的bif文件还是存在问题。

我之前是在bif文件中手动添加了destination_cpu属性,然后使用bootgen指令来生成BOOT.bin,能正常启动。

这应该是一个已知BUG。

------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------

在原帖中查看解决方案

1,675 次查看
注册日期: ‎02-21-2020

非常感谢

分析了一下,结果看不懂,能不能帮我看一下呢,在附近

0 项奖励
回复
1,666 次查看
注册日期: ‎02-21-2020

还有几个文件

0 项奖励
回复
1,658 次查看
注册日期: ‎02-21-2020

info_partition_1.txt

Offset - [0x00002800] Length - 0x35e60

 

info_partition_2.txt

Offset - [0x00038680] Length - 0xc778

 

info_partition_3.txt

Offset - [0x00044e00] Length - 0x67980

另外3个文件比较大,发不出来

0 项奖励
回复
Xilinx Employee
Xilinx Employee
1,657 次查看
注册日期: ‎06-19-2019

看了一下。Destination CPU是NONE,所以BOOT.bin是不正确的。

Capture78.PNG

正确的应该如下这样。

Capture79.PNG

------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------
0 项奖励
回复
1,655 次查看
注册日期: ‎02-21-2020

没错,确实是这样的,真是很奇怪,我明明已经加上去了

//arch = zynqmp; split = false; format = BIN
the_ROM_image:
{
[bootloader, destination_cpu=a53-0]F:\RH\new\1\2\zynqmp_fsbl.elf
[pmufw_image]F:\RH\new\1\2\pmufw.elf
[destination_cpu=a53-0, exception_level = el-3, trustzone]F:\RH\new\1\2\bl31.elf
[destination_cpu=a53-0, exception_level = el-2]F:\RH\new\1\2\u-boot.elf
}

0 项奖励
回复
1,645 次查看
注册日期: ‎02-21-2020

//arch = zynqmp; split = false; format = BIN
the_ROM_image:
{
[bootloader, destination_cpu = a53-0]F:\RH\new\1\2\zynqmp_fsbl.elf
[pmufw_image]F:\RH\new\1\2\pmufw.elf
[destination_cpu = a53-1, exception_level = el-3, trustzone]F:\RH\new\1\2\bl31.elf
[destination_cpu = a53-0, exception_level = el-2]F:\RH\new\1\2\u-boot.elf
}

奇怪,这样子,看到CPU那一栏就有值,但是不知道这样可以不

0 项奖励
回复
1,604 次查看
注册日期: ‎02-21-2020

证实这样子是不可以的,uboot起来的时候,ATF还正在另一个CPU上跑。

0 项奖励
回复
Xilinx Employee
Xilinx Employee
1,598 次查看
注册日期: ‎06-19-2019

pmu atf u-boot都要在A53 0上的。

------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------
0 项奖励
回复
1,594 次查看
注册日期: ‎02-21-2020

谢谢,确实如你所说,bif手动加上那条指定CPU的语句就可以了

对比二进制文件的时候,软件提示文本一样,但二进制不一样,没有留意到。

标记 (1)
0 项奖励
回复
1,562 次查看
注册日期: ‎02-21-2020

不好意思,再问你一个问题

现在uboot跑起来了,但是提示这个,意思是说分区不够?我的emmc是8G,难道还要我先去分区才能下载吗,就不能自动分区吗?

ZynqMP> Partition size of 35651584 bytes is not large enough to contain the selected configuration file(s) size of 56536348 bytes.
Please set "large" value for the PROGRAM.EMMC_PARTITION_SIZE property.

0 项奖励
回复
Xilinx Employee
Xilinx Employee
1,531 次查看
注册日期: ‎06-19-2019

建议你再开一个帖子,然后把你想实现的功能和过程描述一下。

这个帖子如果没有相关问题的话,可以先关闭。

------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------
0 项奖励
回复