跳转到主要内容
国际橡塑展报名
国际橡塑展报名
国际橡塑展报名

FSBL

zynq裸核FSBL

demi /

话不多说,进入今天的主题:生成zynq裸核启动文件。1、首先在vivado SDK中分别建立两个工程;2、配置Core1即从核中的BSP文件;3.配置Core0和Core1的DDR空间分配;4.建立FSBL文件,并配置main()文件;5.生成mcs文件和烧写mcs文件到QSPI Flash;6.完成操作将.MCS文件烧写进板子里

Xilinx Zynq 7000 FSBL启动分析(二)

judy /

前言
在上一次分析中,分析到了
HandoffAddress = LoadBootImage();

在分析这个函数之前,在从0地址运行之前,在复位(上电复位)之后会从bootROM这个位置开始执行代码,在bootROM中,程序会将QSPI(如果是从qspi启动的话)的前nK的数据拷贝到OCM中,然后跳转到OCM中执行。把生成的BOOT.bin文件用二进制程序打开,根据数据手册可以分析一下前面的数据含义。

Xilinx Zynq 7000 FSBL启动分析(一)

judy /

花了几天看完了FSBL的代码,在这里做个总结,分析一下zynq的启动过程。

众所周知,xilinx zynq 7000系列的芯片中包括两个部分,PS和PL,也就是FPGA的逻辑编程的部分跟嵌入式ARM的部分,ARM部分是双核的A9处理器。关于FPGA的部分在这里就不说了。其实说的简单点,可以吧这个芯片看成一个带有FPGA外设的ARM处理器,下面详细分析一下启动流程。

所有的芯片都是从0地址启动的,所以首先找到0地址的代码,在..xxxx.sdk\standalone_bsp_0\ps7_cortexa9_0\libsrc\standalone_v5_1\src\asm_vectors.S中的开头也就是0地址的地方有这样得一段代码:
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201807/13177-381…; alt=""></center>