Zynq-7000 系列怎么引导和配置?
扫描二维码
随时随地手机看文章
简介
在PS_POR_B复位引脚无效后,硬件立即对引导引脚进行采样,并有选择地使能PS时钟PLL。然后,PS开始执行片上ROM来引导系统。
POR会重置整个设备,而不会保存以前的状态。非POR类型的复位也会导致BootROM执行,但是没有硬件对条形引脚进行采样。非POR复位后,一些寄存器值会保留,并且器件会知道自己先前的安全模式。其中非POR复位包括PS_SRST_B引脚和几个内部复位源。
BootROM是第一个在APU中运行的软件,BootROM在CPU 0上执行,CPU 1在事件等待(WFE)指令上执行。
BootROM的主要任务是配置系统,将引导映像FSBL或者用户代码从引导设备复制到OCM,然后将代码执行分支到OCM。当然也可以在非安全环境中直接从Quad-SPI或NOR-secure执行FSBL或者用户代码。
PS Master启动设备保存一个或多个启动映像。引导映像由BootROM标头(也称为引导映像标头)和第一阶段引导加载程序(FSBL)组成。
引导设备还可以保留用于配置PL和嵌入式操作系统的位流,但是BootROM代码无法访问这些位流。用于引导的闪存设备可以是Quad-SPI,NAND,NOR或SD卡。
BootROM的执行流程主要受引脚设置、BootROM开头和通过BootROM代码发现的关于系统的影响。BootROM可以在具有加密FSBL或者代码的安全环境中执行,也可以在非安全环境中执行。
在执行BootROM之后,FSBL或者用户代码将按照UG821(Zynq-7000 SoC软件开发人员指南)中所述的那样负责系统。
为了进行开发,可以以JTAG模式引导系统。或者可以在非安全闪存设备启动后启用JTAG。
JTAG始终意味着非安全环境,但是它允许访问CPU复合体(APU)中的ARM调试访问端口(DAP)控制器和PL中的Xilinx测试访问端口(TAP)控制器。
PS Master引导模式
在主引导模式下,系统从闪存设备引导,在这里,BootROM进行配置 PS访问引导设备,读取BootROM标头,验证标头,然后通常将FSBL或者用户代码复制到OCM存储器中,主模式可以是安全的或不安全的环境。
在安全模式下,引导映像始终由CPU写入OCM存储器。从那里将其发送(使用DMA)进出AES/HMAC单元以进行解密和身份验证。解密引导映像写回到OCM内存中,并在BootROM完成后执行。
在非安全模式下,BootROM标头可以指示PS直接从支持就地执行选项的Quad-SPI或NOR引导设备执行引导映像。在其他情况下,FSBL或者用户代码被复制到OCM存储器中以执行。
如果闪存设备中的BootROM标头无效,则BootROM代码将搜索另一个标头。标头搜索将继续进行,直到找到有效的标头或已搜索整个范围为止。
对于Quad-SPI,NAND和NOR引导模式,支持BootROM标头搜索。对于SD卡引导模式,仅读取一个标头
JTAG从引导
在JTAG引导模式下,BootROM代码进行的系统配置最少,并启用了JTAG界面。然后,系统进入空闲状态,等待DAP控制器重新启动CPU 0。
级联JTAG引导模式会循环DAP和TAP控制器,这是最常见的JTAG引导模式 独立的JTAG引导模式将TAP控制器连接到PL JTAG引脚,并提供用户使用TAP控制器配置PL以将DAP控制器连接到设备的时间EMIO JTAG接口。
如图是JTAG要求和控制,可以通过断开JTAG Chain Disable eFuse来永久禁用DAP和TAP控制器。
在非安全的主引导模式下,当PL处于启用状态时,将启用JTAG接口进行调试通电,JTAG接口可用于访问TAP和DAP控制器。





