• 12、FPGA程序的固化和下载


    使用仿真器下载BIT文件到FPGA时,板子断电后程序就 没有了,因此需要将程序固化到板卡的FLASH或SD卡中,下次启动板卡时就从FLASH或SD卡加载程序,不用再次使用仿真器下载程序了。

    SD固化:将镜像文件拷贝到SD卡,设置拨码开关,使系统从SD模式启动。这样每次断电重启之后系统都会从SD启动。

    QSPI FLASH固化:设置拨码开关,将镜像文件烧写进FLASH,使系统从QSPI FLASH启动。这样每次断电重启之后系统都会从FLASH启动。

    固化文件准备:PL端的bit文件、PS端的elf文件、把bit文件及elf文件安置好的FSBL.elf文件。

    BOOT.bin = FSBL.elf + 该工程.bit + 该工程.elf

    工程编译之后会产生bit文件和elf文件,FSBL.elf文件是由SDK生成的。

    Boot.bin文件的生成

    1. 工程编译完成之后,工程中就生成了bit文件和elf文件,可用于生成boot.bin;
    2. Vivado界面导出硬件,新建SDK工程,Fileàexportàexport hardware,勾选include bitstream ,OK;
    3. Fileàlaunch SDK,加载到sdk,ok;
    4. 导出完成后,fileànewàapplication project;
    5. 工程命名为HelloWorld,next;
    6. 选择自带的HelloWorld程序做测试,单机finish;
    7. 这样就新建好了一个HelloWorld工程,在工程中新建一个应用工程,fileànewàapplication project,填写工程名FSBL,单击next,工程类型选择Zynq FSBL;
    8. 选中要做固化的工程,单击右键,create boot image;
    9. 在新窗口中出现三个文件,FSBL.elf、.bit、.elf,制作镜像文件需要这三个文件;
    10. 直接单击create imge即可完成boot.bin的创建,在要做固化的文件夹中出现bootimage文件夹,展开后有BOOT.bin文件;
    11. Boot.bin文件可以作为SD卡启动文件和SPI启动文件。

    SD启动:将生成的boot.bin文件复制到SD卡,再将SD卡插到开发板,开机后系统就会从SD卡启动,程序掉电不丢失。

    QSPI-FLASH程序固化

    1. 新建环境变量

    计算机à属性à高级系统设置à高级à环境变量à新建系统变量

    变量名:XIL_CSE_ZYNQ_UBOOT_QSPI_FREQ_HZ

    变量值:10000000

    1. 生成加载QSPI FLASH的fsbl文件

    新建一个新的FSBL文件,命名为zynq_fsbl。

    Fileànewàapplication project,输入zynq_fsbl,next,选择Zynq FSBL,finish。

    1. 打开zynq_fsbl的main.c文件,增加”BootModeRegister = JTAG_MODE;”保存并编译。
    2. 模式开关切换到QSPI启动模式(1-ON,2-OFF)开发板通电。
    3. 选择Xilinx Tools > Program Flash或单击Program Flash Memory。
    4. 加载刚才生成的boot.bin文件和zynq_fsbl文件,单击program。
    5. 下载完成后断电重新打开电源,就从FLASH加载了。

  • 相关阅读:
    JSX 样式处理
    Java集合探秘:Map和Set的魔法世界
    Python调用C++/CUDA
    java毕业设计成品基于SpringBoot美容院预约管理系统
    五分钟掌握NineData:新手任务速成指南
    Zookeeper学习一
    排序算法:选择排序,分别用c++、java、python实现
    【Java成王之路】EE初阶第十一篇:(网络编程) 5
    前端入职配置新电脑!!!
    单商户商城系统功能拆解04—店铺商品分类编辑
  • 原文地址:https://blog.csdn.net/m0_52197400/article/details/127676192