System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种FPGA多镜像启动方法技术_技高网

一种FPGA多镜像启动方法技术

技术编号:43232939 阅读:0 留言:0更新日期:2024-11-05 17:20
本发明专利技术提供了一种FPGA多镜像启动方法,包括以下步骤:S1、加载M镜像:上电启动从跳转地址加载M镜像;S2、检查配置:根据M镜像内容进行FPGA配置,判断配置是否正常通过,如是则运行M镜像,如否则进入下一步;S3、检查Fallback机制:检查是否触发Fallback机制,如触发则加载并运行G镜像,如未触发则跳转至下一步;S4、加载S镜像跳转。本发明专利技术可有效加强FPGA远程升级功能的可靠性及健壮性,解决传统远程升级功能存在M镜像同步字损坏,不能回退至G镜像启动的问题;兼容性较好,目前已在7系列FPGA验证成功,兼容7系列FPGA型号;操作简单,只需构造一个S镜像,然后随G镜像及M镜像出厂烧录即可。

【技术实现步骤摘要】

本专利技术涉及一种fpga多镜像启动方法,属于fpga控制。


技术介绍

1、fpga(field programmable gate array)现场可编程门阵列是一种可以通过编程来改变其内部结构的芯片,因其具有可重复编程,低功耗,处理速度快等优势,广泛应用于通信,航空航天,图像处理,医疗等领域,产品数量众多。

2、一般在产品交付给用户后,为提升产品性能和提高用户体验感,后期必然会对产品进行软件优化和升级,传统方法为利用jtag(joint test action group)将待升级的配置文件烧录到flash memory,然后断电重启后完成设备的升级操作,但利用jtag升级时,一般需要将设备拆开,然后将jtag下载器插在设备的控制电路板上才能进行软件升级,该种升级方式对于某些产品升级成本较大,且升级操作难度较大,如1)安装在高处的设备,如安装在通讯塔上的基站,若利用jtag进行升级时,需要人工爬到塔顶,打开机盖后才能完成,且打开机盖过程可能会对设备的质量引入一些不确定因素;2)安装在弹上的设备,这类设备一般都是作为弹上系统的一部分安装于弹的内部,若对该设备进行软件设计时,就得需要将弹拆开,取出设备,然后再拆开设备,插上jtag烧录器才能完成升级,且升级完成后还需要将弹重新组装、测试,升级人力和时间成本巨大,且拆弹装弹过程会对弹本身带来质量风险;因此现在基于multiboot和fallback机制实现的fpga软件升级功能广泛的应用在军品及民品的设备上。

3、在对fpga进行远程升级过程中,升级的可靠性和健壮性是一项重要指标,因为在升级过程中不排除会遇到某些突发问题导致fpga升级流程中断,m镜像损坏,使得fpga不能直接加载m镜像进行启动,这时就需要一种方式,使fpga能跳转到其他镜像文件所在地址加载启动,使得设备能正常运行,目前普遍常用的方法为通过双镜像启动来保证远程升级的健壮性,如图4所示,将fpga外置flash memory地址空间分为基地址和上层地址,上层地址空间用于存储m镜像,远程升级就是更新m镜像内容,基地址空间用于存储g镜像,g镜像在设备出厂前就先固化在基地址空间,远程升级不会更改g镜像内容,以保证g镜像完整可用,该种方式的fpga启动流程如图5所示,为在设备上电后,fpga就会跳转至m镜像进行加载,若配置通过,则fpga将运行m镜像,设备正常启动,若升级过程异常导致m镜像损坏,使得在加载过程中出现idcode错误、crc校验错误或看门狗超时,就会触发fallback机制,跳转到基地址空间加载g镜像进行启动,使设备依旧可以正常运行;上述普遍常用的方法在一定程度上保证了fpga远程升级的可靠性及健壮性,但通过实践应用,该方法未能完全保证远程升级的可靠性及健壮性,fpga配置流程一般为(如图6所示),首先fpga上电,然后清空配置存储器空间,对配置模式进行采集,利用32bit同步字0xaa995566进行配置同步,检查器件id,加载配置文件,对数据进行crc校验,最后程序启动,结束配置,而触发fallback机制的环节就只有器件id错误或者是crc校验错误亦或者是配置文件中规定的看门狗超时,若m镜像的同步字丢失或损坏,导致配置流程未能走到检查器件id、crc校验或看门狗超时,就不能触发fallback机制,最后将导致fpga配置失败,设备不能运行,成为一块板砖。


技术实现思路

1、为解决上述技术问题,本专利技术提供了一种fpga多镜像启动方法,该fpga多镜像启动方法解决了7系列fpga运用multiboot双镜像特征实现远程升级时,当m(multibootimage)镜像同步字损坏后无法触发fallback机制回退到g(golden image)镜像启动,导致设备无法正常工作的问题,填补了传统远程升级未考虑到m镜像损坏无法触发fallback机制的空白。

2、本专利技术通过以下技术方案得以实现。

3、本专利技术提供的一种fpga多镜像启动方法,包括以下步骤:

4、s1、加载m镜像:上电启动从跳转地址加载m镜像;

5、s2、检查配置:根据m镜像内容进行fpga配置,判断配置是否正常通过,如是则运行m镜像,如否则进入下一步;

6、s3、检查fallback机制:检查是否触发fallback机制,如触发则加载并运行g镜像,如未触发则跳转至下一步;

7、s4、加载s镜像跳转:加载s镜像重新开始配置,当到达timer寄存器计数值所设置的时间fpga仍未启动时,则触发fallback机制跳转到g进行加载并运行;s镜像组合至m镜像和g镜像构成的设备出厂烧录文件中。

8、所述s镜像存储位于升级操作不可触及的地址空间。

9、所述升级操作为升级覆写m镜像。

10、所述s镜像由填充字、两个总线宽度自动检测字、同步字、noop字、写fpga中timer寄存器的命令字以及timer寄存器的计数值构成。

11、所述填充字、两个总线宽度自动检测字、同步字、noop字、写fpga中timer寄存器的命令字以及timer寄存器的计数值按照可执行文件的格式要求进行组装拼接。

12、所述可执行文件的格式要求为,首行为线性地址扩展段,以冒号作为数据起始标识,其后填写1byte的有效数据字节数、2byte烧录的地址、1byte记录类型标记,之后接s镜像数据,结尾接1byte的crc校验值。

13、所述s镜像位于m镜像地址高位。

14、所述s镜像在删除m镜像的结束标志00000001ff后接至m镜像末尾。

15、所述填充字为ffffffff,自动检测字为000000bb和11220044,同步字为aa995566,noop字为20000000,写fpga中timer寄存器的命令字为30022001,timer寄存器的计数值根据看门狗设置需要设定。

16、本专利技术的有益效果在于:可有效加强fpga远程升级功能的可靠性及健壮性,解决传统远程升级功能存在m镜像同步字损坏,不能回退至g镜像启动的问题;兼容性较好,目前已在7系列fpga验证成功,兼容7系列fpga型号;操作简单,只需构造一个s镜像,然后随g镜像及m镜像出厂烧录即可。

本文档来自技高网...

【技术保护点】

1.一种FPGA多镜像启动方法,其特征在于:包括以下步骤:

2.如权利要求1所述的FPGA多镜像启动方法,其特征在于:所述S镜像存储位于升级操作不可触及的地址空间。

3.如权利要求2所述的FPGA多镜像启动方法,其特征在于:所述升级操作为升级覆写M镜像。

4.如权利要求1所述的FPGA多镜像启动方法,其特征在于:所述S镜像由填充字、两个总线宽度自动检测字、同步字、NOOP字、写FPGA中TIMER寄存器的命令字以及TIMER寄存器的计数值构成。

5.如权利要求4所述的FPGA多镜像启动方法,其特征在于:所述填充字、两个总线宽度自动检测字、同步字、NOOP字、写FPGA中TIMER寄存器的命令字以及TIMER寄存器的计数值按照可执行文件的格式要求进行组装拼接。

6.如权利要求5所述的FPGA多镜像启动方法,其特征在于:所述可执行文件的格式要求为,首行为线性地址扩展段,以冒号作为数据起始标识,其后填写1Byte的有效数据字节数、2Byte烧录的地址、1Byte记录类型标记,之后接S镜像数据,结尾接1Byte的CRC校验值。</p>

7.如权利要求2所述的FPGA多镜像启动方法,其特征在于:所述S镜像位于M镜像地址高位。

8.如权利要求7所述的FPGA多镜像启动方法,其特征在于:所述S镜像在删除M镜像的结束标志00000001FF后接至M镜像末尾。

9.如权利要求4或5所述的FPGA多镜像启动方法,其特征在于:所述填充字为FFFFFFFF,自动检测字为000000BB和11220044,同步字为AA995566,NOOP字为20000000,写FPGA中TIMER寄存器的命令字为30022001,TIMER寄存器的计数值根据看门狗设置需要设定。

...

【技术特征摘要】

1.一种fpga多镜像启动方法,其特征在于:包括以下步骤:

2.如权利要求1所述的fpga多镜像启动方法,其特征在于:所述s镜像存储位于升级操作不可触及的地址空间。

3.如权利要求2所述的fpga多镜像启动方法,其特征在于:所述升级操作为升级覆写m镜像。

4.如权利要求1所述的fpga多镜像启动方法,其特征在于:所述s镜像由填充字、两个总线宽度自动检测字、同步字、noop字、写fpga中timer寄存器的命令字以及timer寄存器的计数值构成。

5.如权利要求4所述的fpga多镜像启动方法,其特征在于:所述填充字、两个总线宽度自动检测字、同步字、noop字、写fpga中timer寄存器的命令字以及timer寄存器的计数值按照可执行文件的格式要求进行组装拼接。

6.如权利要求5所述的fpga多镜像启动方法,其...

【专利技术属性】
技术研发人员:杜江曾祥松黄瑞雪韦全亮
申请(专利权)人:贵州航天林泉电机有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1