标签:
multiboot的功能对于不同的FPGA应该是相同的,但是具体的配置可能不一样。基本流程如下:
上图来源是xapp1246, 明显分为5个步骤,在FPGA启动时是有flash的0地址开始,但是因为golden image加了一些配置,在FPGA接收到这些配置是会转到其他的地址,继续读update image的内容。这些配置需要在生成golden bit的时候加约束命令如下:
set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design] //可选的压缩项 set_property BITSTREAM.CONFIG.CONFIGFALLBACK ENABLE [current_design] //使能回读功能 set_property BITSTREAM.CONFIG.NEXT_CONFIG_ADDR 32‘h00800000 [current_design] //update image 的起始地址
如果在加载update image 出错时,又要能够返回到golden image区,这需要在生成update image时添加如下约束:
set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
set_property BITSTREAM.CONFIG.CONFIGFALLBACK ENABLE [current_design]
意义如同golden image。生成这两个bit 后使用如下命令生成mcs文件。
write_cfgmem -force -format mcs -interface bpix16 -size 128 -loadbit "up 0x0 led_icape_golden.bit up 0x00800000 led_light_update_error.bit" -file icape_golden_light_update_error.mcs
这些参数和具体的flash 和bit文件的大小有关。比如 bpix16表示16位的bpi flash, up 0x0 led_icape_golden.bit表示 这个bit 的开始地址是0x0, 最后是生成的mcs文件。前提是当前的工作目录存在这两个bit。 pwd命令查看当前的工作目录,cd命令可以切换当前工作目录。
为了验证,update 配置错时可以返回到golden 配置,可以将bit更改其中的数据,再生成mcs文件,烧录到flash中,即可完成验证。
multiboot 的golden image 和update image的 mcs文件的生成及调试
标签:
原文地址:http://www.cnblogs.com/cornhill/p/5625009.html