elow是使用基于SPI SREC引导加载程序的MCS映像从串行闪存启动“外设测试”应用程序的过程。
从SDK创建SPI SREC引导加载程序应用程序。
在SREC引导加载程序应用程序源中,更改blconfig.h中的地址:#define FLASH_IMAGE_BASEADDR例如,如果Vivado项目中的Flash基址(检查地址编辑器)是0xC2000000并且您想要给出0x00C00000的偏移量,那么
FLASH_IMAGE_BASEADDR将为0x00C00000
更改BSP设置包括xilisf(Xilinx在系统和串行闪存库)
重建应用程序。
现在再创建一个应用程序,例如SDK中的外围测试 - 链接到DDR(在链接器脚本中确保此应用程序从DDR执行)
将生成的外围测试精灵转换为SREC格式(mb-objcopy -O srec)
使用Vivado中的write_cfgmem将外围SREC文件转换为MCS格式(MCS中SREC文件的偏移量应该是blconfig.h中指定的偏移量)对于FLASH_IMAGE_BASEADDR为0xC2C00000的上述情况,创建peripheral_test.mcs文件的命令将是
:write_cfgmem -format mcs -size 128 -checksum FF -interface spix4 -loaddata“up 0x00C00000 /path/to/peripheral_test.srec”-force peripheral_test
使用Vivado将theperipheral_test.mcs文件编程到闪存上(注意:在2015.1 SDK中,您可以从bootgen创建MCS文件,SDK也支持编程SPI闪存 - >仍然是intest阶段)
使用SDK通过程序FPGA从system.bit创建download.bit
选择Bitstream(system.bit)和ELF文件来初始化BRAM(步骤5中构建的srec bootloader精灵)
编程FPGA
配置FPGA后,SREC引导加载程序运行,将映像从闪存复制到DDR,并执行外设测试应用程序。
注意:在步骤8中,您还可以添加download.bit(将在步骤11中创建)以创建单片mcs映像,该映像将配置FPGA以及加载用户应用程序。
write_cfgmem -format mcs -size 128 -checksum FF -interface spix4 -loaddata“up 0x0 /path/to/download.bitup 0x00C00000 /path/to/peripheral_test.srec”-force peripheral_test
另外,不要忘记在SPI SREC Bootloader的BSP设置中为serial_flash_family(基于您具有的串行闪存类型)和serial_flash_interface选择适当的值:
谢谢和RegardsBalkrishan -----------------------------------------------
---------------------------------------------请将帖子标记为
一个答案“接受为解决方案”,以防它有助于解决您的查询。如果一个帖子引导到解决方案,请给予赞誉。
elow是使用基于SPI SREC引导加载程序的MCS映像从串行闪存启动“外设测试”应用程序的过程。
从SDK创建SPI SREC引导加载程序应用程序。
在SREC引导加载程序应用程序源中,更改blconfig.h中的地址:#define FLASH_IMAGE_BASEADDR例如,如果Vivado项目中的Flash基址(检查地址编辑器)是0xC2000000并且您想要给出0x00C00000的偏移量,那么
FLASH_IMAGE_BASEADDR将为0x00C00000
更改BSP设置包括xilisf(Xilinx在系统和串行闪存库)
重建应用程序。
现在再创建一个应用程序,例如SDK中的外围测试 - 链接到DDR(在链接器脚本中确保此应用程序从DDR执行)
将生成的外围测试精灵转换为SREC格式(mb-objcopy -O srec)
使用Vivado中的write_cfgmem将外围SREC文件转换为MCS格式(MCS中SREC文件的偏移量应该是blconfig.h中指定的偏移量)对于FLASH_IMAGE_BASEADDR为0xC2C00000的上述情况,创建peripheral_test.mcs文件的命令将是
:write_cfgmem -format mcs -size 128 -checksum FF -interface spix4 -loaddata“up 0x00C00000 /path/to/peripheral_test.srec”-force peripheral_test
使用Vivado将theperipheral_test.mcs文件编程到闪存上(注意:在2015.1 SDK中,您可以从bootgen创建MCS文件,SDK也支持编程SPI闪存 - >仍然是intest阶段)
使用SDK通过程序FPGA从system.bit创建download.bit
选择Bitstream(system.bit)和ELF文件来初始化BRAM(步骤5中构建的srec bootloader精灵)
编程FPGA
配置FPGA后,SREC引导加载程序运行,将映像从闪存复制到DDR,并执行外设测试应用程序。
注意:在步骤8中,您还可以添加download.bit(将在步骤11中创建)以创建单片mcs映像,该映像将配置FPGA以及加载用户应用程序。
write_cfgmem -format mcs -size 128 -checksum FF -interface spix4 -loaddata“up 0x0 /path/to/download.bitup 0x00C00000 /path/to/peripheral_test.srec”-force peripheral_test
另外,不要忘记在SPI SREC Bootloader的BSP设置中为serial_flash_family(基于您具有的串行闪存类型)和serial_flash_interface选择适当的值:
谢谢和RegardsBalkrishan -----------------------------------------------
---------------------------------------------请将帖子标记为
一个答案“接受为解决方案”,以防它有助于解决您的查询。如果一个帖子引导到解决方案,请给予赞誉。
举报