本发明涉及可编程逻辑器件,尤其涉及一种远程升级系统与方法。
背景技术:
1、随着科技的发展,激光雷达的市场也逐渐扩大。当激光雷达产品出现fpga程序问题或者更新时,如果按照传统的解决方式,那么所有产品需要先被召回,然后人工进行拆机,再重新更新软件。采用传统方式一方面影响用户体验,另一方面耗费人力财力。
2、上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本发明的主要目的在于提供了一种远程升级系统与方法,旨在解决现有技术中fpga程序更新时需要先被召回然后进行人工拆机才能进行软件更新导致成本高且效率低的技术问题。
2、为实现上述目的,本发明提供了一种远程升级系统,所述远程升级系统包括:
3、上位机,用于发送第一包数据,并根据返回信号,判断是否需要发送后续数据;
4、解析校验模块,用于接收所述上位机发出的数据,并对所述上位机发出的数据进行有效提取,得到有效数据;
5、写入计数模块,用于将所述有效数据写入flash,同时在每次写入完成时进行计数,并将计数结果作为所述返回信号,直至完成远程升级。
6、可选地,所述远程升级系统还包括打包发送模块,所述打包发送模块用于接收所述返回信号,并将所述返回信号进行打包后发送至所述上位机。
7、可选地,所述解析校验模块与所述打包发送模块基于以太网分别与所述上位机建立通信连接。
8、可选地,所述解析校验模块还用于对所接收到的所述上位机发出的数据进行解析,得到udp包,并对所述udp包进行有效提取,以得到所述有效数据。
9、可选地,所述解析校验模块还用于识别帧头,根据识别结果将所述有效数据存入fifo中,并对所述有效数据进行校验。
10、可选地,所述写入计数模块为quickboot提供的例化后的spiprogrammer模块。
11、此外,为实现上述目的,本发明还提出一种远程升级方法,所述远程升级方法包括:
12、对flash进行分区,得到跳转区域与升级区域,其中,所述跳转区域中存储有跳转程序与关键字数据,所述升级区域中存储有升级数据;
13、判断所述关键字数据中是否包括跳转字段,若包括,运行所述跳转程序以跳转至所述升级区域;
14、加载所述升级数据,以完成远程更新。
15、可选地,在所述对flash进行分区,得到跳转区域与升级区域之前,还包括:对所述flash进行分区,得到配置区域,所述配置区域中存储有配置数据。
16、可选地,在所述判断所述关键字数据中是否包括跳转字段,若包括,运行所述跳转程序以跳转至所述升级区域之后,还包括:若所述关键字数据中不包括所述跳转字段,fpga加载所述配置区域中的所述配置数据;基于所述配置数据,更新所述fpga的配置。
17、可选地,所述加载所述升级数据,以完成远程更新,包括:加载所述升级数据,重新启动fpga;基于所述升级数据,所述fpga中的加载程序重新加载所述升级区域,以完成远程更新。
18、本发明通过上位机发送第一包数据,并且可根据返回信号,判断是否需要发送后续数据;解析校验模块接收上位机发出的数据,并对上位机发出的数据进行有效提取,得到有效数据;写入计数模块将有效数据写入flash,同时在每次写入完成时进行计数,并将计数结果作为返回信号,直至完成远程升级。本发明中上位机在发送数据包前对返回信号进行判断,结合对上位机发出的数据进行有效提取,并在每次将有效数据写入flash时进行计数,提高了远程升级的准确率与效率,进而降低了成本,提升了用户体验。
1.一种远程升级系统,其特征在于,包括:
2.根据权利要求1所述的远程升级系统,其特征在于,还包括打包发送模块,所述打包发送模块用于接收所述返回信号,并将所述返回信号进行打包后发送至所述上位机。
3.根据权利要求2所述的远程升级系统,其特征在于,所述解析校验模块与所述打包发送模块基于以太网分别与所述上位机建立通信连接。
4.根据权利要求1所述的远程升级系统,其特征在于,所述解析校验模块还用于对所接收到的所述上位机发出的数据进行解析,得到udp包,并对所述udp包进行有效提取,以得到所述有效数据。
5.根据权利要求4所述的远程升级系统,其特征在于,所述解析校验模块还用于识别帧头,根据识别结果将所述有效数据存入fifo中,并对所述有效数据进行校验。
6.根据权利要求1所述的远程升级系统,其特征在于,所述写入计数模块为quickboot提供的例化后的spiprogrammer模块。
7.一种远程升级方法,其特征在于,包括:
8.根据权利要求7所述的远程升级方法,其特征在于,在所述对flash进行分区,得到跳转区域与升级区域之前,还包括:
9.根据权利要求8所述的远程升级方法,其特征在于,在所述判断所述关键字数据中是否包括跳转字段,若包括,运行所述跳转程序以跳转至所述升级区域之后,还包括:
10.根据权利要求7所述的远程升级方法,其特征在于,所述加载所述升级数据,以完成远程更新,包括: