当前位置:首页 > > ZYNQ
		


简介

在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控制器。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
关闭