闲话Zynq UltraScale+ MPSoC (连载3)——启动加载

                                                                                                                    作者:Hello,Panda

Part 2 : Zynq UltraScale+ MPSoC启动

        熊猫君在这里讨论启动(Boot),主要是想聊它的启动设备和启动方式。看看启动设备是否广泛支持,启动方式是否简洁高效。至于加密等安全性处理暂时不谈,先跑起来再说。

(1) 启动方式

        和Zynq-7000类似,ZynqUltraScale+ MPSoC也是三级启动方式,只是Xilinx又给它们起了一个新名字,启动分为以下三级:

        a) Pre-configuration:复位后执行PMU ROM代码,讲外部FSBL代码搬到内部的OCM。相当于Zynq 的Boot ROM执行。

        b) Configuration:在内部的OCM代码,系统根据BOOTHeader的内容选择在CPU(Cortex-A53)还是RPU(Cortex-R5)上执行。负责初始化必要的时钟、内存和外设,加载Bit文件和用户代码等。

         c) Post-configuration:执行用户代码。

(2) 启动设备

         表1是ZynqUltraScale+支持启动设备的列表.

表1 支持启动设备的列表

 

        从表1可以看出,相对于Zynq-7000,ZynqUltraScale+ 对启动设备支持上有了不小的改进:

       a) 启动模式引脚采用专用的的模式选择引脚,不再和MIO复用;

       b) QSPI Flash启动开始支持4字节地址模式,可以支持更大的寻址空间;

       c) 任意的SD卡控制器都可用于启动,且支持SD3.0和MMC4.5标准,支持eMMC18电平;

       d) SD卡文件系统支持FAT16/32,不仅支持BOOT.bin文件名,还支持BOOT0001~BOOT8192的任意文件名。

       当然,PMU ROM启动的镜像搜索空间还是有一定限制的,至于FSBL起来以后从哪儿搬代码那就是你的事情了,爱哪儿都行咯,表2是PMU ROM搜索镜像的地址偏移范围。

表2  PMU ROM搜索镜像的地址偏移范围

 

                  启动模式             搜索偏移范围

             QSPI-24bit Single               16MB

             QSPI-24bit Dual                 32MB

             QSPI-32bit                          256MB

                                 QSPI-32bit Dual                512MB             

 

对Xilinx UltraScale MPSoC感兴趣的同行可加入讨论群300148644进行进一步技术交流。       

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Hello_Panda_

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值