UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Visitor liup1990
Visitor

Zynq 7020 multiboot 升级与备份

大家好:

      我想使用zynq 7020的multiboot及fallback机制来做升级备份.

      我做了以下验证,我首先使用bootgen制作了一个golden image(BOOT-v2.bin),其仅仅包含fsbl,其bif文件如下:

       //arch = zynq; split = false; format = BIN
the_ROM_image:
{
[bootloader]E:\vivado-workstation\my_flatform\my_flatform.sdk\fsbl\Release\fsbl-v2.elf
}

    然后我又使用bootgen制作了一个update image,其包含fsbl,bit,uboot,golden image,其bif文件如下:

    //arch = zynq; split = false; format = BIN
the_ROM_image:
{
[bootloader]E:\vivado-workstation\my_flatform\my_flatform.sdk\fsbl\Release\fsbl-v1.elf
E:\vivado-workstation\my_flatform\my_flatform.sdk\test_wrapper_hw_platform_0\test_wrapper.bit
E:\vivado-workstation\my_flatform\my_flatform.sdk\u-boot.elf
[offset = 0x1000000]E:\vivado-workstation\my_flatform\my_flatform.sdk\fsbl\bootimage\BOOT-v2.bin
}

在update image的fsbl中,我显示调用了FsblFallback(),并在Update_MultiBootRegister()中修改了MultiBootReg等于512(golden image偏移为0x1000000).

我期望的是:板子上电后BootRom首先加载update image的fsbl,然后在此fsbl中触发fallback重新运行BootRom,然后BootRom通过读取MultiBoot寄存器的值,加载运行golden image中的fsbl.实际结果是update image的fsbl的反复加载运行.

Xilinx First Stage Boot Loader v1.1
Release 2017.1 Nov 6 2018-19:48:07
Devcfg driver initialized
Silicon Version 3.1
Boot mode is QSPI
Single Flash Information
FlashID=0x1 0x2 0x19
SPANSION 256M Bits
QSPI is in single flash connection
QSPI Init Done
Flash Base Address: 0xFC000000
Reboot status register: 0x60400000
Multiboot Register: 0x0000C000
Image Start Address: 0x00000000
start fallback !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

This Boot M
Xilinx First Stage Boot Loader v1.1
Release 2017.1 Nov 6 2018-19:48:07
Devcfg driver initialized
Silicon Version 3.1
Boot mode is QSPI
Single Flash Information
FlashID=0x1 0x2 0x19
SPANSION 256M Bits
QSPI is in single flash connection
QSPI Init Done
Flash Base Address: 0xFC000000
Reboot status register: 0xF0480000
Multiboot Register: 0x0000C200
Image Start Address: 0x01000000
start fallback !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

This Boot M
Xilinx First Stage Boot Loader v1.1
Release 2017.1 Nov 6 2018-19:48:07
Devcfg driver initialized
Silicon Version 3.1
Boot mode is QSPI
Single Flash Information
FlashID=0x1 0x2 0x19
SPANSION 256M Bits
QSPI is in single flash connection
QSPI Init Done
Flash Base Address: 0xFC000000
Reboot status register: 0xF0480000
Multiboot Register: 0x0000C200
Image Start Address: 0x01000000
start fallback !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

由上述打印可知,Multiboot Register的值由0x0000C000被成功修改了成了0x0000C200,但是为什么golden image中的fsbl没有被加载运行?我的操作过程哪里错了吗?

0 项奖励
3 条回复
Visitor liup1990
Visitor

回复: Zynq 7020 multiboot 升级与备份

发现一个错误:Quad-SPI, signal/dual SS with 4-bit I/O: first 16 MB

0 项奖励
Visitor liup1990
Visitor

回复: Zynq 7020 multiboot 升级与备份

//arch = zynq; split = false; format = BIN
the_ROM_image:
{
[bootloader]E:\vivado-workstation\my_flatform\my_flatform.sdk\fsbl\Release\fsbl-v1.elf
E:\vivado-workstation\my_flatform\my_flatform.sdk\test_wrapper_hw_platform_0\test_wrapper.bit
E:\vivado-workstation\my_flatform\my_flatform.sdk\u-boot.elf
[offset = 0x800000]E:\vivado-workstation\my_flatform\my_flatform.sdk\fsbl\bootimage\BOOT-v2.bin
}

BootROM Header Search只搜寻前16M,之前错误是因为刚好将golden image放在了16M之后.修改后,结果与预期符合.

 

0 项奖励
Xilinx Employee
Xilinx Employee

回复: Zynq 7020 multiboot 升级与备份

感谢分享!

0 项奖励