12、FPGA程序的固化和下载
admin
2024-01-19 11:18:00

使用仿真器下载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加载了。

相关内容

热门资讯

山水皆有情!丽江两山一江的千年... 去过丽江、走过虎跳峡的人,大概率都听过哈巴雪山和金沙江的传说。很多人站在峡谷之下,望着奔腾不息的金沙...
活力中国调研行丨“殷”你而来 ... 9月12日,游客在殷墟博物馆“甲骨文展厅”内参观。位于河南省安阳市的殷墟博物馆新馆是首个全景式展现商...
浦江之夜赴美好相逢,第37届上... 9月12日晚,黄浦江畔灯火璀璨,第37届上海旅游节大巡游在外滩中山东一路上演。不少观众早早便来到外滩...
美丽中国丨秋韵紫鹊界 梯田入画... 这是9月11日拍摄的紫鹊界梯田(无人机照片)。 金秋九月,湖南省娄底市新化县紫鹊界梯田稻谷渐次成熟。...
中国之巅奏响《共同的节日》,千... 千吨阻尼器,“迎世赛、游上海旅游节”。9月13日,由上海市文化和旅游局指导推出上海旅游·会客│巅峰之...