在Xilinx Zynq SoC开发中,我们可以通过Xilinx SDK读取寄存器的方式来获取Zynq SoC芯片当前的启动模式。 启动模式寄存器归到系统控制寄存器组别里面,其基地址为0xF800_0000 + 0x0000_025C,即0xF800_025C,寄存器名字为BOOT_MODE,如下图所示: 启动模式寄存器BOOT_MODE具体定义如下图所示: 下面介绍使用Xilinx SDK软件查看...
Step3:打开 FSBL 2的main.c文件,在此处增加“BootModeRegister = JTAG_MODE;”保存并编译。 Step4:模式开关切换到QSPI启动模式,开发板通电。选择Xilinx Tools > Program Flash或单击Program Flash Memory。 加载刚才生成的BOOT.BIN文件和 FSBL 2文件,单击Program。
在Xilinx Zynq SoC开发中,我们可以通过Xilinx SDK读取寄存器的方式来获取Zynq SoC芯片当前的启动模式。 启动模式寄存器归到系统控制寄存器组别里面,其基地址为0xF800_0000 + 0x0000_025C,即0xF800_025C,寄存器名字为BOOT_MODE,如下图所示: 启动模式寄存器BOOT_MODE具体定义如下图所示: 下面介绍使用Xilinx SDK软件查看...
Zynq7020:Boot Mode及不能从SD卡启动处理 #Boot Mode 选择 可以看到QSPI和SD card启动仅MIO[4]存在区别,可以设计一个硬件电路,当插入SD卡时MIO[4]变高,拔出时变低,实现启动方式的自动切换。 比如,利用SD卡座的CD(card detection)引脚,当检测卡片的插入,插入后此脚与外壳相连,变为低信号。 #不能从SD卡启动...
读取boot mode寄存器,确定启动类型 CSU将FBSL加载到OC-RAM后执行程序 CSU加载PMU用户固件(PMU FW:firmware)到PMU RAM后,以便执行 PMU FW(Platform Management Unit user firmware)与PMU RAM一块提供平台管理服务。 在启动之后,PMU仍然需要运行,用于后续改变系统的电源状态(上电、睡眠、唤醒等等); ...
1.1 第一阶段 (BOOT ROM) 上电后,Zynq7000 SOC 会首先执行片内 Boot ROM 代码,Boot ROM 代码读取 Boot mode 寄存器来判断是哪一种启动方式(SD card/QSPI Flash/JTAG)。 确定好哪种启劢方式后,Boot ROM 从相应的启动设备(SD Card/QSPI Flash)加载 First Stage Bootloader (FSBL) 到On Chip Memory(OCM) ...
7、逐个比较BOOT_MODE寄存器值,确定ZYNQ当前的启动方式 每一种启动方式会有不同的处理方式。 第一、先初始化对应的flash设备 第二、再将MoveImage函数指针指向Flash设备的读写函数实体 8、加载启动镜像 调用LoadBootImage函数 FSBL的主要工作是启动U-Boot(终极目标),也要将bitstream文件加载到PL端。
1、硬件启动后BootROM将初始化MMU、NAND、NOR、QSPI、SD和PCAP等基本外设 2、判断启动设备(决定于硬件启动过程时扫描的“启动模式”引脚,即寄存器slcr.BOOT_MODE)并搜索boot镜像头信息,各启动模式搜索范围: Quad-SPI,头16 MB空间搜索 NAND,头128MB空间搜索 ...
上图中的Mode_Pins是boot模式的设置引脚,是几个MIO引脚,通过给这几个引脚配置不同的高低电平,进而选择不同的启动模式。完成启动后,这几个IO可以作为ARM的GPIO进行使用。 STAGE0阶段是BootROM执行阶段,就是将一些的外设和寄存器进行初始化,从FSBL中读取代码,读取到OCM中进行运行,比如我们从Flash读取后续代码那就需要...
本文主要介绍zynq启动过程,主要包括BootROM和FSBL等的执行过程。 硬件启动过程 1. 重新上电或POR复位后进行硬件启动过程 2. 扫描“启动引脚”设置,并存入只读寄存器slcr.BOOT_MODE中 3. 若使能pll,则等到pll输出时钟;若旁路pll,则直接使用ps_clk时钟