最新回复
Xilinx FPGA的启动原理涉及到几个关键步骤,主要可以概括为以下几个阶段:
BootROM阶段(Stage 0):当Xilinx FPGA上电后,首先执行的是固化在片上ROM中的BootROM程序。这个程序负责初始化CPU和基本外设,如NAND、NOR、SD卡等,并根据MIO引脚的配置决定从何种介质加载第一阶段引导程序(FSBL)。BootROM会将FSBL复制到片上RAM(OCM)中,然后将其执行权交给FSBL 1。
第一阶段引导程序(FSBL,First Stage Boot Loader):FSBL是启动过程的核心,它负责完成PS(处理系统)部分的初始化,使用比特流文件对PL(可编程逻辑)进行配置,并加载第二阶段引导程序或裸机程序到DDR内存中,最后跳转到这些程序执行 1。
第二阶段引导程序(SSBL,Second Stage Boot Loader,可选):在需要运行操作系统的情况下,FSBL会加载SSBL到内存中。SSBL作为操作系统的引导程序,负责进一步的系统初始化和操作系统的加载 3。
配置数据加载:FPGA的配置数据,通常以比特流文件的形式存在,这些数据描述了FPGA内部的逻辑结构和连接关系。加载这些数据可以通过不同的配置模式,如主串行模式、从串行模式、并行模式等 5。
系统启动:加载完配置数据后,FPGA根据这些数据进行内部配置,并启动运行。此时,FPGA已具备预定的功能,可以与其他硬件和软件协同工作 5。
在实际应用中,Xilinx FPGA可以通过不同的方式启动,例如通过JTAG、SD卡或Flash等。每种方式都有其特定的流程,但基本原理遵循上述的启动阶段。例如,通过SD卡启动时,需要将BOOT.bin文件(包含FSBL和必要的配置文件)复制到SD卡中,然后设置FPGA的启动模式为SD卡启动,上电后程序即从SD卡加载并运行 1。此外,Xilinx提供了工具和IP核来支持这些启动过程,例如使用Vivado生成比特流文件,使用Bootgen工具创建适合ROM或Flash的引导映像等 2。
详情
回复
发表于 2024-9-10 12:20
| |
|
|
此帖出自问答论坛
| ||
|
||
EEWorld Datasheet 技术支持