本申请涉及fpga领域,特别是涉及一种固件获取方法、flash芯片和fpga设备。
背景技术:
1、现场可编程逻辑门阵列(field programmable gate array,fpga)广泛应用于机器视觉、金融、运动控制、工业等领域。以fpga作为主控的设备越来越多,fpga固件的制作和升级也更为重要。
2、目前fpga固件的制作和升级主要通过使用jtag下载器,进行完整固件flash的烧写和升级替换,或者在升级时使用jtag烧写启动固件,此后使用特定的通信协议,进行固件的烧写替换。
3、现有技术在烧写程序时,需对设备上电,不利于产线安全,并且升级时的产线操作麻烦并且耗时较长。因此,现有技术的产线操作复杂、效率不高同时存在产线不安全的问题。
技术实现思路
1、本申请实施例提供了一种固件获取方法、flash芯片和fpga设备,以至少解决相关技术中产线操作复杂、效率不高同时存在产线不安全的问题。
2、第一方面,本申请实施例提供了一种固件获取方法,所述固件应用于fpga设备,包括:
3、对flash的存储地址进行划分,将不同功能的固件写入对应的存储地址中,得到完整固件;
4、将所述完整固件下载至flash芯片;
5、将所述flash芯片焊接至所述fpga设备的主板上,当所述主板上电时,从所述flash芯片中加载所述完整固件。
6、在一实施例中,所述对flash的存储地址进行划分,将不同功能的固件写入对应的存储地址中,得到完整固件,包括:
7、将flash的存储地址划分为启动固件区域、应用固件区域和校验参数区域;
8、将启动固件从所述启动固件区域写入二进制文件,将应用固件从应用固件区域写入所述二进制文件,将校验参数从校验参数区域写入所述二进制文件,获得所述完整固件。
9、在一实施例中,所述将flash的存储地址划分为启动固件区域、应用固件区域和校验参数区域,包括:
10、所述启动固件区域、应用固件区域和校验参数区域互不重合,且三个区域的大小相加小于flash的容量。
11、在一实施例中,所述将校验参数从校验参数区域写入所述二进制文件,包括:
12、所述校验参数区域用于存储根据所述应用固件所计算得到的校验参数。
13、在一实施例中,所述fpga设备用于与上位机配合,方法还包括:
14、所述fpga设备接收所述上位机所发送的升级指令,执行所述启动固件中的升级流程;
15、所述fpga设备接收所述上位机发送的升级固件,并基于所述升级固件对所述应用固件和校验参数进行更新。
16、在一实施例中,所述基于所述升级固件对所述应用固件和校验参数进行更新,包括:
17、基于所述升级固件计算更新校验参数;
18、将所述应用固件替换为升级固件,将所述校验参数替换为更新校验参数。
19、第二方面,本申请实施例提供了一种flash芯片,用于存储第一方面所述的完整固件。
20、第三方面,本申请实施例提供了一种fpga设备,所述设备包括:
21、第二方面所述的flash芯片;
22、fpga设备主板,与所述flash芯片电性连接。
23、本申请实施例提供的固件获取方法、flash芯片和fpga设备至少具有以下技术效果。
24、本申请通过对flash的存储地址进行划分,将不同功能的固件合并至一个完整固件中。在获取固件时,先将完整固件烧写至flash芯片,再将flash芯片贴片焊接至fpga设备主板。以此方式,提升了固件烧写的速度,提高了固件获取的效率。同时在该过程中,无需对fpga设备主板进行上电,提高了fpga设备固件获取的安全性,有利于fpga设备的安全生产。
25、本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
1.一种固件获取方法,其特征在于,所述固件应用于fpga设备,包括:
2.根据权利要求1所述的固件获取方法,其特征在于,所述对flash的存储地址进行划分,将不同功能的固件写入对应的存储地址中,得到完整固件,包括:
3.根据权利要求2所述的固件获取方法,其特征在于,所述将flash的存储地址划分为启动固件区域、应用固件区域和校验参数区域,包括:
4.根据权利要求2所述的固件获取方法,其特征在于,所述将校验参数从所述校验参数区域写入所述二进制文件,包括:
5.根据权利要求2所述的固件获取方法,其特征在于,所述fpga设备用于与上位机配合,方法还包括:
6.根据权利要求5所述的固件获取方法,其特征在于,所述基于所述升级固件对所述应用固件和校验参数进行更新,包括:
7.一种flash芯片,其特征在于,用于存储权利要求1-6中任一项所述的完整固件。
8.一种fpga设备,其特征在于,所述设备包括: