xilinxi mulitboot 启动

发布时间:2024年01月16日

xilinix在线更新有两种方式,一种是使用ICAP原语,另一中是在xdc中约束,根据应用的场景不同,选用不同的启动方式,第二种更为简单。

可参考官方提供的手册和实例?XAPP1247 链接:??XAPP1247

golden和updata.bit的程序设置一样,只是在xdc中对其进行不同的约束

注意这个偏移的地址,有的写法是32‘h0400000,这里还是推荐使用官方的这种写法,不然可能会出错(遇到了)。

上面是没有设置看门狗。

启动原理:

FPGA上电后,通过主动模式从flash加载程序,先进行SPI\BPI的读MIO模式识别,然后读取位宽对应的数据,判断当前的位宽,之后是同步头的读取,理论上只有一个比图时,直接从0地址开始读取bit数据,当时mulitboot模式下,golden中打开了IPROG指令,会通过IPROG指令,识别当前是否要进行updata.bin的地址读取和跳转,如果跳转,则读取updata.bit,校验和读取成功,则启动updata.bin,如果启动失败,则fallback返回000地址开始,并在热启动中,忽略IPROG命令,启动golden.bit。

有的在golden中将CONFIGFALLBACK 设置为disable,及禁止golden.bin进设置行启动失败跳转,这个设置成启动会不启动均没关系。

上面的xdc也可以在软件中设置

1、设置fallback使能,updata.bit中必须设置使能;

2、flash读取偏移地址,updata.bit中必须设置;

3、IPROG指令设置,golden.bit中必须设置使能;

4、看门狗设置,golden.bit中可设置可不设置;如果设置,一定要保证设置的时长是大于updata.bit启动加载的时长。

文章来源:https://blog.csdn.net/baidu_25816669/article/details/135627944
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。