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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haoxingheng/article/details/50099373

                                                                                                                    作者: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                     

猜你喜欢

转载自blog.csdn.net/haoxingheng/article/details/50099373