欢迎来到天天文库
浏览记录
ID:27820676
大小:327.00 KB
页数:10页
时间:2018-12-06
《一文详解ZYNQ器件的启动配置方法.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、一文详解ZYNQ器件的启动配置方法 在电子系统设计中,无任是用CPU作为系统的主要器件,还是用FPGA作为系统的主要器件,系统设计中首先要考虑到的问题就是处理器的启动加载问题。XILINX推出的ZYNQ可扩展处理平台,片内包括两个高性能的ARMCortexA9硬核(称为处理系统processingsystem(PS))和FPGA(称为可编程逻辑programmablelogic(PL)),在基于该平台的系统设计时具有极大的灵活性,本文就ZYNQ系统设计时都会遇到启动加载问题作一个抛砖引玉的描述,如有不当之处还请高手斧正。 一、器件配置单元
2、ZYNQ器件都带有一个器件配置单元(deviceconfigurationunit(DEVCFG)),该模块由PS控制,提供软件控制下的PS和PL的初始化和配置功能。以前单个FPGA器件提供的下载方法已经不在适用,PL的配置下载必须在PS的参与下进行。 Zynq-7000的器件配置单元包括下面的PS单元: ①CPU ②OCM(引导ROM和共享RAM) ③部分顶层总线和外设 ④PS器件配置模块 在PL侧,下面的单元也将参与: ①PLS器件配置逻辑和接口 ②解密/鉴权硬件 ③存储在eFUSE单元或者电池备份RAM(BBRAM)内的解
3、密密钥 下图为PS器件配置子系统框图: 提供的关键特性如下: A.提供3种不同的PS配置方法,包括2种主模式和1种从模式。 ①加密主模式 ②非加密主模式 ③非加密从模式 B.3种不同的主模式启动源 ①NORFLASH ②NANDFLASH ③QSPIFLASH C:JTAG非加密从模式 D:用AES-256和HMAC(SHA-256)进行PS/PL的加密下载 E:高速配置用的主DMA接口 F:100MHz32-bitPCAP流接口 H:SoC加密调试功能 在系统上电复位时,PS采样专用bootstrapping
4、signals引脚电平来决定从什么方式引导器件。这个引导过程是由一个CortexA9核执行片内的ROMcode实现的,ROMcode的功能是初始化L1cache和基本的总线系统,加载相应的NAND,NOR,Quad-SPI,andPCAP驱动,从指定接口加载第一级BOOTLOADER(thefirststagebootloader(FSBL))到片内执行。由于OCMRAM大小有限制,第一级BOOTLOADER大小最大为256KB。用户只需要按要求提供启动映像和设置正确的bootstrappingsignals引脚电平,系统上电复位时由ROMcod
5、e自动加载到片内并且程序调转到启动映像,此时系统的全部控制功能交由用户的启动映像控制,用户如要实现的第二级BOOTLOADER功能由启动映像的程序实现。 对于加密配置方法,需要用到AES-256解密代码和SHA-256签定(签名)算法,PS需要用PL内硬连线的AES-256和SHA-256模块,这时就要求在加密配置情况下PL就必须上着电,既使系统并不配置PL部分也需上电。器件的加密密钥可以由用户选择是存储在片内的eFUSE单元(具有掉电非易失性)或者内部电池供电的BBRAM内(具有掉电易失性,适用于安全级别要求更高的场合),下表总结了配置模式和
6、相关信息: 二、PS非加密主模式配置过程 这种模式下PS启动映像是直接从外部非易失存储器(NAND,NOR,Quad-SPI)内加载到片内OCM内,随后PL映像可以直接配置到PL内,整个过程如下图示: PL映像的配置可由配置接口模块用DMA来高速实现,在非加密情况下速度可以达到400MB/s,加密情况下速度可以达到100MB/s,这在FPGA需要部分重配置时十分有用。 三、PS加密主模式配置过程 PS加密主模式用到了位与片内PL部分的硬件AES-256解密模块和SHA-256模块来对PS启动映像进行解密和完整性鉴定,器件密钥存储
7、在片内的eFUSE单元或者内部BBRAM内,当PS加载成功后,用户可以选择用下面缺省的PL引导过程来配置PL部分,如下图示: 其中配置PL时的比特流既可以是已经经过AES-256加密的比特流,也可以是先经过PS先进行解密后成为明文比特流送到PL内,这个过程的保密性由用户选择使用。 在保密ROM引导阶段如果PS完整性鉴定失败,CPU就立即断言PROG_B信号而清除PL内容,同时发出一个加密复位信号,这使PS内部的RAM和寄存器进行复位,然后CPU进入睡眠模式,系统只有重复上电才能复位。PL配置发生在BOOT的第二阶段,这个过程完成可以由用户
8、选择自己的方法在任何时间内来配置一次或多次,并不需要一定按缺省的PL引导过程来配置PL部分。 四、启动模式引脚 ZYNQ器件有5个启
此文档下载收益归作者所有