CN111443953B - 基于fpga的红外成像系统的启动方法、装置及介质 - Google Patents
基于fpga的红外成像系统的启动方法、装置及介质 Download PDFInfo
- Publication number
- CN111443953B CN111443953B CN202010213204.9A CN202010213204A CN111443953B CN 111443953 B CN111443953 B CN 111443953B CN 202010213204 A CN202010213204 A CN 202010213204A CN 111443953 B CN111443953 B CN 111443953B
- Authority
- CN
- China
- Prior art keywords
- firmware
- format
- imaging system
- infrared imaging
- starting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003331 infrared imaging Methods 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 title claims abstract description 90
- 230000015654 memory Effects 0.000 claims abstract description 73
- 239000013598 vector Substances 0.000 claims abstract description 25
- 101100150295 Mus musculus Scarf1 gene Proteins 0.000 claims abstract description 17
- 101100433169 Rattus norvegicus Zdhhc2 gene Proteins 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 14
- 230000009191 jumping Effects 0.000 claims abstract description 8
- 238000013461 design Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000007711 solidification Methods 0.000 claims description 4
- 230000008023 solidification Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 13
- 238000001723 curing Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/30—Transforming light or analogous information into electric information
- H04N5/33—Transforming infrared radiation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种基于FPGA平台开发的红外成像系统的启动方法、装置及计算机可读存储介质。其中,方法包括预先将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至Flash存储器的目标存储空间中;调用启动装载引导启动程序从目标存储空间的起始地址读取固件数据到内存空间;固件数据包括bit格式逻辑固件、bin格式软件固件和中断向量;从固件数据中提取中断向量对应的二进制机器码到中央处理器中断向量处;跳出启动装载引导启动程序,转至内存空间中执行固件程序,以完成红外成像系统的启动,从而解决了相关技术中BootLoader引导启动程序解码srec格式文件存在的固件文件大、启动速度慢、占用大量flash空间和逻辑资源的技术问题。
Description
技术领域
本申请涉及红外成像设备制备技术领域,特别是涉及一种基于FPGA平台开发的红外成像系统的启动方法、装置及计算机可读存储介质。
背景技术
随着红外成像技术的快速发展,红外成像设备被广泛应用地在各行各业。FMK50系列FPGA平台配套开发的工具软件只支持使用srec(S-record)格式生成固件,基于该平台开发的红外成像系统,包括其它产品,在启动时必须采用解码srec格式来启动固化于flash中的软件程序。srec格式文件为基于ASCII文本格式的记录文件,是对机器码的一种封装描述。而这种带有程序的地址信息和数据校验功能的数据组织方式,记录类型较为详细且复杂。与之配套的引导启动程序BootLoader也必须采取先解码srec格式,还原全部二进制机器码后,才能执行固件程序。并且在更新固件时,只支持使用开发工具将bit格式逻辑固件与srec格式软件固件合并生成mcs格式固件,通过仿真器下载到flash中。其中,Bootloader(启动装载)为嵌入式操作系统在加电后执行的第一段代码,其基于特定硬件平台来实现且在操作系统内核运行之前运行。在它完成平台相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装载到内存中然后跳转到操作系统所在的空间,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境,启动操作系统运行。
相关技术中,基于FPGA平台开发的红外成像系统的BootLoader引导启动程序执行系统启动过程可如下所述:
从指定软件固件存储空间的起始地址读取一行srec格式数据;解码srec,解码完成后,通过校验码判断数据是否正确,若错误则结束引导过程;将解码完的二进制机器码放置到DDR对应位置处;重复执行上述步骤,直至读取和解码完整个srec文件,最后执行解码后的二进制程序,从而完成红外成像系统的启动。
而由于采用ASCII文本格式记录二进制机器码,加上srec格式固有的其它附加信息,使得最终生成的固件大小比原本二进制机器码的大小大出一个数量级,固化固件时,占用flash的存储空间变大。固件文件大直接导致启动时读取文件的时间长,与之配套的引导启动程序BootLoader解码时采用读取一行、解码一行、校验一行的方法,直到解码出全部二进制机器码后再去执行固件程序;整个启动过程耗时较长,执行效率低下,导致开机启动速度较慢,无法满足用户对快速启动红外程序系统的需求。可以理解的是,BootLoader引导启动程序解码srec格式过程会增加代码量,从而增加生成的BootLoader程序文件大小,进而导致BootLoader所占用的片上块ram资源增加,占用逻辑资源。
鉴于此,如何解决BootLoader引导启动程序解码srec格式文件存在的固件文件大、启动速度慢、占用大量flash空间和逻辑资源的技术问题,是所属领域技术人员需要解决的技术问题。
发明内容
本申请提供了一种基于FPGA平台开发的红外成像系统的启动方法、装置及计算机可读存储介质,解决了BootLoader引导启动程序解码srec格式文件存在的固件文件大、启动速度慢、占用大量flash空间和逻辑资源的技术问题。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种基于FPGA平台开发的红外成像系统的启动方法,包括:
预先将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至Flash存储器的目标存储空间中;
调用启动装载引导启动程序从所述目标存储空间的起始地址读取固件数据到内存空间;所述固件数据包括所述bit格式逻辑固件、所述bin格式软件固件和中断向量;
从所述固件数据中提取所述中断向量对应的二进制机器码到中央处理器中断向量处;
跳出所述启动装载引导启动程序,转至所述内存空间中执行固件程序,以完成所述红外成像系统的启动。
可选的,所述将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至Flash存储器中的目标存储空间中包括:
采用第一固件固化方法或第二固件固化方法将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至所述目标存储空间;
其中,所述第一固件固化方法为:
将所述bit格式逻辑固件和所述bin格式软件固件进行合并,生成mcs格式文件,并将所述mcs格式文件下载至所述Flash存储器的目标存储空间中;
所述第二固件固化方法为:
将所述bit格式逻辑固件和所述bin格式软件固件通过串口直接下发至所述Flash存储器的目标存储空间中。
可选的,采用所述第二固件固化方法将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至所述目标存储空间,所述转至所述内存空间中执行固件程序之后,还包括:
当接收到固件更新请求,将待更新固件数据通过所述串口下发至所述内存空间;所述待更新固件数据为bit格式逻辑固件数据和/或bin格式软件固件数据;
将所述内存空间中的待更新固件数据存储至所述目标存储空间。
可选的,采用所述第一固件固化方法将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至所述目标存储空间,所述转至所述内存空间中执行固件程序之后,还包括:
通过仿真器下载所述mcs格式文件,并同时更新所述bit格式逻辑固件和所述bin格式软件固件。
可选的,所述采用所述第一固件固化方法将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至所述目标存储空间包括:
生成elf格式的启动装载引导启动程序文件;
将所述启动装载引导启动程序文件与逻辑设计文件合并生成所述bit格式逻辑固件;
将所述bit格式逻辑固件和所述bin格式软件固件固化至所述目标存储空间。
可选的,所述bin格式软件固件的生成步骤包括:
将所述红外成像系统的软件数据生成elf可执行文件;
从所述elf可执行文件中提取纯二进制机器码以生成所述bin格式软件固件。
本发明实施例另一方面提供了一种基于FPGA平台开发的红外成像系统的启动装置,包括:
固件固化模块,用于预先将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至Flash存储器的目标存储空间中;
启动加载程序执行模块,用于调用启动装载引导启动程序从所述目标存储空间的起始地址读取固件数据到内存空间;所述固件数据包括所述bit格式逻辑固件、所述bin格式软件固件和中断向量;
中断向量提取模块,用于从所述固件数据中提取所述中断向量对应的二进制机器码到中央处理器中断向量处;
固件程序执行模块,用于跳出所述启动装载引导启动程序,转至所述内存空间中执行固件程序,以完成所述红外成像系统的启动。
可选的,所述固件固化模块包括:
第一固件固化子模块,用于将所述bit格式逻辑固件和所述bin格式软件固件进行合并,生成mcs格式文件,并将所述mcs格式文件下载至所述Flash存储器的目标存储空间中;
第二固件固化子模块,用于将所述bit格式逻辑固件和所述bin格式软件固件通过串口直接下发至所述Flash存储器的目标存储空间中。
本发明实施例还提供了一种基于FPGA平台开发的红外成像系统的启动装置,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述基于FPGA平台开发的红外成像系统的启动方法的步骤。
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有基于FPGA平台开发的红外成像系统的启动程序,所述基于FPGA平台开发的红外成像系统的启动程序被处理器执行时实现如前任一项所述基于FPGA平台开发的红外成像系统的启动方法的步骤。
本申请提供的技术方案的优点在于,bin文件作为可直接执行的机器码文件,BootLoader引导启动程序引导系统启动过程中可以直接读取该文件的内容而不用解析,直接保存记录可执行二进制机器码,从而极大的缩小最终生成的固件文件大小,不仅减少固件固化所占用的存储空间,还可以缩短固件文件的读取时间;bin格式软件固件对应的启动引导程序流程简单,读取固件文件内容后,可以直接执行二进制机器码从而省去解码过程,极大地加快引导启动速度,提高开机启动效率,加快红外成像系统的成像效率;bin格式软件固件对应的启动引导程序更易实现,代码量少,从而减小BootLoader映像文件大小,进而使得BootLoader所占用的片上块ram资源减少,为逻辑设计留出更多资源。
此外,本发明实施例还针对基于FPGA平台开发的红外成像系统的启动方法提供了相应的实现装置及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置及计算机可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于FPGA平台开发的红外成像系统的启动方法的流程示意图;
图2为本发明实施例提供的基于FPGA平台开发的红外成像系统的启动装置的另一种具体实施方式结构图。
图3为本发明实施例提供的基于FPGA平台开发的红外成像系统的启动装置的另一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种基于FPGA平台开发的红外成像系统的启动方法的流程示意图,本发明实施例可包括以下内容:
S101:预先将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至Flash存储器的目标存储空间中。
可以理解的是,红外成像系统在利用启动装载引导启动程序执行系统启动之前,需要先将逻辑固件和软件固件进行固化。bin文件为二进制文件,是可以直接执行的机器码文件,引导启动时可以直接读取该文件的内容而不需要进行解析。基于此,本申请可生成bit格式逻辑固件和bin格式软件固件,然后将这两种格式的固件进行固化。目标存储空间可为Flash存储器中任何一个文件存储路径对应的数据块,也即bit格式逻辑固件和bin格式软件固件的存储位置。
S102:调用启动装载引导启动程序从目标存储空间的起始地址读取固件数据到内存空间。
本申请中的启动装载引导启动程序为BootLoader引导启动程序,其在操作系统内核运行之前运行,为最终调用操作系统内核准备好正确的环境。固件数据可包括bit格式逻辑固件、bin格式软件固件和中断向量等数据信息,内存空间例如可为DDR存储器,当然,也可为其他类型的存储器,本申请对此不作任何限定。可将固件数据存储在内存空间的任何一个文件存储路径对应的数据块中。
S103:从固件数据中提取中断向量对应的二进制机器码到中央处理器中断向量处。
其中,中央处理器中断向量处为中断向量的存储位置,
S104:跳出启动装载引导启动程序,转至内存空间中执行固件程序,以完成红外成像系统的启动。
本发明实施例中,在将bit格式逻辑固件和bin格式软件固件利用启动装载引导启动程序读取到内存空间后,跳出启动装载引导启动程序之后转去执行固件程序,以便在红外成像系统启动之前启动相关固件。
在本发明实施例提供的技术方案中,bin文件作为可直接执行的机器码文件,BootLoader引导启动程序引导系统启动过程中可以直接读取该文件的内容而不用解析,直接保存记录可执行二进制机器码,从而极大的缩小最终生成的固件文件大小,不仅减少固件固化所占用的存储空间,还可以缩短固件文件的读取时间;bin格式软件固件对应的启动引导程序流程简单,读取固件文件内容后,可以直接执行二进制机器码从而省去解码过程,极大地加快引导启动速度,提高开机启动效率,加快红外成像系统的成像效率;bin格式软件固件对应的启动引导程序更易实现,代码量少,从而减小BootLoader映像文件大小,进而使得BootLoader所占用的片上块ram资源减少,为逻辑设计留出更多资源。
作为一种可选的实施方式,在采用第一固件固化方法将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至目标存储空间的过程可包括:
生成elf格式的启动装载引导启动程序文件;将启动装载引导启动程序文件与逻辑设计文件合并生成bit格式逻辑固件;将bit格式逻辑固件和bin格式软件固件固化至目标存储空间。
作为另外一种可选的实施方式,bin格式软件固件可采用下述方法:
将红外成像系统的软件数据生成elf可执行文件;从elf可执行文件中提取纯二进制机器码以生成bin格式软件固件。
在上述实施例中,对于如何执行固化步骤并不做限定,本实施例中给出一种固件固化方法,S101可包括如下步骤:
采用第一固件固化方法将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至目标存储空间,第一固件固化方法可为:
将bit格式逻辑固件和bin格式软件固件进行合并,生成mcs格式文件,并将mcs格式文件下载至Flash存储器的目标存储空间中。其中,可采用任何一种可实现不同格式固件合并的开发工具将bit格式逻辑固件和bin格式软件固件进行合并,生成mcs格式文件,然后再利用下载开发工具将合成的mcs格式文件下载至Flash存储器的目标存储空间中。
本申请还提供了另一种固件固化方法,与上述方式并列,因此,可作为另一种可选的实施方式,S101可包括:
采第二固件固化方法将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至目标存储空间;第二固件固化方法为:
将bit格式逻辑固件和bin格式软件固件通过串口直接下发至Flash存储器的目标存储空间中。可将bit格式逻辑固件和bin格式软件固件放到同一个数据块中,也可放到不同的数据块中,或者是说可将bit格式逻辑固件和bin格式软件固件放到同一个文件路径下,也可放到不同的文件路径下。对于bit格式逻辑固件和bin格式软件固件存储至不同路径下场景,在S102进行数据读取时,可分别到相应的存储路径或存储数据块中读取数据,在S101将bit格式逻辑固件和bin格式软件固件存储至Flash存储器后,可将各自存储位置地址或者是存储路径反馈给系统,以便后续数据读取和数据更新。
用户可根据实际应用场景选择合适的固件固化方法,本申请对此不作任何限定,从而提升固件固化的灵活性。
可以理解的是,固件固化方法不同,后续对固件的更新方法自然不同,针对上述提供的两种固件固化方法,本申请还提供了相应的固件更新方法,可包括下述内容:
若采用第二固件固化方法将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至目标存储空间;当接收到固件更新请求,将待更新固件数据通过串口下发至内存空间;将内存空间中的待更新固件数据存储至目标存储空间。待更新固件数据为bit格式逻辑固件数据和/或bin格式软件固件数据。此处,将待更新固件数据提供串口下发至内存空间的位置,与S102中内存空间的位置,也即S102中原bit格式逻辑固件和原bin格式软件固件在内存空间的存储位置,这样可以利用待更新固件数据将相应的原bit格式逻辑固件和/或原bin格式软件固件覆盖,也可直接将原bit格式逻辑固件和/或原bin格式软件固件删除,以保证内存空间中的固件数据为最近更新的数据。还需要说明的是,本申请中的串口可为红外成像系统的任何一个满足数据上传下载协议的串口,本申请对此不作任何限定。
若采用第一固件固化方法将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至目标存储空间,可通过仿真器下载所述mcs格式文件,并同时更新bit格式逻辑固件和bin格式软件固件。也就是说,对于采用第一固件固化方法进行固化后,bit格式逻辑固件和bin格式软件固件需要同时更新,只要bit格式逻辑固件和bin格式软件固件的任意一种类型的固件需要更新,就需要同时更新bit格式逻辑固件和bin格式软件固件,不能只更新其中一个。
由上可知,本发明实施例提供两种不同的数据更新方式,更新操作更加灵活,用户还可根据实际需求和所需求的更新方式去选择固化方法,提升用户使用体验。
需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1只是一种示意方式,并不代表只能是这样的执行顺序。
本发明实施例还针对基于FPGA平台开发的红外成像系统的启动方法提供了相应的装置,进一步使得所述方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的基于FPGA平台开发的红外成像系统的启动装置进行介绍,下文描述的基于FPGA平台开发的红外成像系统的启动装置与上文描述的基于FPGA平台开发的红外成像系统的启动方法可相互对应参照。
基于功能模块的角度,参见图2,图2为本发明实施例提供的基于FPGA平台开发的红外成像系统的启动装置在一种具体实施方式下的结构图,该装置可包括:
固件固化模块201,用于预先将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至Flash存储器的目标存储空间中。
启动加载程序执行模块202,用于调用启动装载引导启动程序从目标存储空间的起始地址读取固件数据到内存空间;固件数据包括bit格式逻辑固件、bin格式软件固件和中断向量。
中断向量提取模块203,用于从固件数据中提取中断向量对应的二进制机器码到中央处理器中断向量处。
固件程序执行模块204,用于跳出启动装载引导启动程序,转至内存空间中执行固件程序,以完成红外成像系统的启动。
可选的,在本实施例的一些实施方式中,所述固件固化模块201可以包括:
第一固件固化子模块,用于将bit格式逻辑固件和bin格式软件固件进行合并,生成mcs格式文件,并将mcs格式文件下载至Flash存储器的目标存储空间中;
第二固件固化子模块,用于将bit格式逻辑固件和bin格式软件固件通过串口直接下发至Flash存储器的目标存储空间中。
在本发明实施例的另外一些实施方式中,所述固件固化模块201包括bin格式软件固件生成子模块,用于将红外成像系统的软件数据生成elf可执行文件;从elf可执行文件中提取纯二进制机器码以生成bin格式软件固件。
可选的,在本实施例的另一些实施方式中,所述装置例如还可以包括更新模块,所述更新模块用于当接收到固件更新请求,将待更新固件数据通过串口下发至内存空间;待更新固件数据为bit格式逻辑固件数据和/或bin格式软件固件数据;将内存空间中的待更新固件数据存储至目标存储空间。
在本发明实施例的一些其他实施方式中,所述更新模块还可用于通过仿真器下载mcs格式文件,并同时更新bit格式逻辑固件和bin格式软件固件。
作为本发明实施例的一种可选的实施方式,所述第一固件固化子模块还可包括:
生成单元,用于生成elf格式的启动装载引导启动程序文件;
合并单元,用于将启动装载引导启动程序文件与逻辑设计文件合并生成bit格式逻辑固件;
固化单元,用于将bit格式逻辑固件和bin格式软件固件固化至目标存储空间。
本发明实施例所述基于FPGA平台开发的红外成像系统的启动装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例解决了BootLoader引导启动程序解码srec格式文件存在的固件文件大、启动速度慢、占用大量flash空间和逻辑资源的技术问题。
上文中提到的基于FPGA平台开发的红外成像系统的启动装置是从功能模块的角度描述,进一步的,本申请还提供一种基于FPGA平台开发的红外成像系统的启动装置,是从硬件角度描述。图3为本申请实施例提供的另一种基于FPGA平台开发的红外成像系统的启动装置的结构图。如图3所示,该装置包括存储器30,用于存储计算机程序;
处理器31,用于执行计算机程序时实现如上述实施例提到的基于FPGA平台开发的红外成像系统的启动方法的步骤。
其中,处理器31可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器31可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器31也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器31可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器31还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器30可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器30还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器30至少用于存储以下计算机程序201,其中,该计算机程序被处理器31加载并执行之后,能够实现前述任一实施例公开的基于FPGA平台开发的红外成像系统的启动方法的相关步骤。另外,存储器30所存储的资源还可以包括操作系统302和数据303等,存储方式可以是短暂存储或者永久存储。其中,操作系统302可以包括Windows、Unix、Linux等。数据303可以包括但不限于基于FPGA平台开发的红外成像系统的启动结果对应的数据等。
在一些实施例中,基于FPGA平台开发的红外成像系统的启动装置还可包括有显示屏32、输入输出接口33、通信接口34、电源35以及通信总线36。
本领域技术人员可以理解,图3中示出的结构并不构成对基于FPGA平台开发的红外成像系统的启动装置的限定,可以包括比图示更多或更少的组件,例如传感器37。
本发明实施例所述基于FPGA平台开发的红外成像系统的启动装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例解决了BootLoader引导启动程序解码srec格式文件存在的固件文件大、启动速度慢、占用大量flash空间和逻辑资源的技术问题。
可以理解的是,如果上述实施例中的基于FPGA平台开发的红外成像系统的启动方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种计算机可读存储介质,存储有基于FPGA平台开发的红外成像系统的启动程序,所述基于FPGA平台开发的红外成像系统的启动程序被处理器执行时如上任意一实施例所述基于FPGA平台开发的红外成像系统的启动方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例解决了BootLoader引导启动程序解码srec格式文件存在的固件文件大、启动速度慢、占用大量flash空间和逻辑资源的技术问题。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种基于FPGA平台开发的红外成像系统的启动方法、装置及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种基于FPGA平台开发的红外成像系统的启动方法,红外成像系统在启动时必须采用解码srec格式来启动固化于flash中的软件程序,其特征在于,包括:
预先将所述红外成像系统的bit格式逻辑固件和bin格式软件固件固化至Flash存储器的目标存储空间中;
调用启动装载引导启动程序从所述目标存储空间的起始地址读取固件数据到内存空间;所述固件数据包括所述bit格式逻辑固件、所述bin格式软件固件和中断向量;
从所述固件数据中提取所述中断向量对应的二进制机器码到中央处理器中断向量处;
跳出所述启动装载引导启动程序,转至所述内存空间中执行固件程序,以完成所述红外成像系统的启动。
2.根据权利要求1所述的基于FPGA平台开发的红外成像系统的启动方法,其特征在于,所述将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至Flash存储器中的目标存储空间中包括:
采用第一固件固化方法或第二固件固化方法将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至所述目标存储空间;
其中,所述第一固件固化方法为:
将所述bit格式逻辑固件和所述bin格式软件固件进行合并,生成mcs格式文件,并将所述mcs格式文件下载至所述Flash存储器的目标存储空间中;
所述第二固件固化方法为:
将所述bit格式逻辑固件和所述bin格式软件固件通过串口直接下发至所述Flash存储器的目标存储空间中。
3.根据权利要求2所述的基于FPGA平台开发的红外成像系统的启动方法,其特征在于,采用所述第二固件固化方法将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至所述目标存储空间,所述转至所述内存空间中执行固件程序之后,还包括:
当接收到固件更新请求,将待更新固件数据通过所述串口下发至所述内存空间;所述待更新固件数据为bit格式逻辑固件数据和/或bin格式软件固件数据;
将所述内存空间中的待更新固件数据存储至所述目标存储空间。
4.根据权利要求2所述的基于FPGA平台开发的红外成像系统的启动方法,其特征在于,采用所述第一固件固化方法将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至所述目标存储空间,所述转至所述内存空间中执行固件程序之后,还包括:
通过仿真器下载所述mcs格式文件,并同时更新所述bit格式逻辑固件和所述bin格式软件固件。
5.根据权利要求2所述的基于FPGA平台开发的红外成像系统的启动方法,其特征在于,所述采用所述第一固件固化方法将红外成像系统的bit格式逻辑固件和bin格式软件固件固化至所述目标存储空间包括:
生成elf格式的启动装载引导启动程序文件;
将所述启动装载引导启动程序文件与逻辑设计文件合并生成所述bit格式逻辑固件;
将所述bit格式逻辑固件和所述bin格式软件固件固化至所述目标存储空间。
6.根据权利要求1至5任意一项所述的基于FPGA平台开发的红外成像系统的启动方法,其特征在于,所述bin格式软件固件的生成步骤包括:
将所述红外成像系统的软件数据生成elf可执行文件;
从所述elf可执行文件中提取纯二进制机器码以生成所述bin格式软件固件。
7.一种基于FPGA平台开发的红外成像系统的启动装置,红外成像系统在启动时必须采用解码srec格式来启动固化于flash中的软件程序,其特征在于,包括:
固件固化模块,用于预先将所述红外成像系统的bit格式逻辑固件和bin格式软件固件固化至Flash存储器的目标存储空间中;
启动加载程序执行模块,用于调用启动装载引导启动程序从所述目标存储空间的起始地址读取固件数据到内存空间;所述固件数据包括所述bit格式逻辑固件、所述bin格式软件固件和中断向量;
中断向量提取模块,用于从所述固件数据中提取所述中断向量对应的二进制机器码到中央处理器中断向量处;
固件程序执行模块,用于跳出所述启动装载引导启动程序,转至所述内存空间中执行固件程序,以完成所述红外成像系统的启动。
8.根据权利要求7所述的基于FPGA平台开发的红外成像系统的启动装置,其特征在于,所述固件固化模块包括:
第一固件固化子模块,用于将所述bit格式逻辑固件和所述bin格式软件固件进行合并,生成mcs格式文件,并将所述mcs格式文件下载至所述Flash存储器的目标存储空间中;
第二固件固化子模块,用于将所述bit格式逻辑固件和所述bin格式软件固件通过串口直接下发至所述Flash存储器的目标存储空间中。
9.一种基于FPGA平台开发的红外成像系统的启动装置,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至6任一项所述基于FPGA平台开发的红外成像系统的启动方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于FPGA平台开发的红外成像系统的启动程序,所述基于FPGA平台开发的红外成像系统的启动程序被处理器执行时实现如权利要求1至6任一项所述基于FPGA平台开发的红外成像系统的启动方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010213204.9A CN111443953B (zh) | 2020-03-24 | 2020-03-24 | 基于fpga的红外成像系统的启动方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010213204.9A CN111443953B (zh) | 2020-03-24 | 2020-03-24 | 基于fpga的红外成像系统的启动方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111443953A CN111443953A (zh) | 2020-07-24 |
CN111443953B true CN111443953B (zh) | 2023-08-01 |
Family
ID=71629469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010213204.9A Active CN111443953B (zh) | 2020-03-24 | 2020-03-24 | 基于fpga的红外成像系统的启动方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111443953B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106990982A (zh) * | 2017-03-20 | 2017-07-28 | 北京新能源汽车股份有限公司 | 程序更新方法及装置 |
CN108549330A (zh) * | 2018-05-10 | 2018-09-18 | 湖南工学院 | 一种多轴联动嵌入式数控系统及其开发方法 |
CN109471642A (zh) * | 2018-11-15 | 2019-03-15 | 北京行易道科技有限公司 | 固件生成存储方法及装置、固件启动方法及装置 |
-
2020
- 2020-03-24 CN CN202010213204.9A patent/CN111443953B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106990982A (zh) * | 2017-03-20 | 2017-07-28 | 北京新能源汽车股份有限公司 | 程序更新方法及装置 |
CN108549330A (zh) * | 2018-05-10 | 2018-09-18 | 湖南工学院 | 一种多轴联动嵌入式数控系统及其开发方法 |
CN109471642A (zh) * | 2018-11-15 | 2019-03-15 | 北京行易道科技有限公司 | 固件生成存储方法及装置、固件启动方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111443953A (zh) | 2020-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109697060B (zh) | 视频特效系统及其生成方法、装置、设备和存储介质 | |
CN105100191B (zh) | 一种云编译实现Java应用安装的方法、装置及系统 | |
CN109634645B (zh) | 固件升级方法及终端 | |
CN110597542B (zh) | 软件自动ota升级方法及装置、电子设备 | |
CN107239309B (zh) | 补丁生成方法及装置、更新方法、电子设备、存储介质 | |
CN111408138A (zh) | 基于游戏引擎的渲染方法、装置及电子设备 | |
US20180059978A1 (en) | Virtual disk expansion method and apparatus | |
CN113961259A (zh) | 启动引导程序加载方法、装置、系统、电子设备及介质 | |
CN109032612B (zh) | 混合型应用的接口调用方法、装置及计算机可读存储介质 | |
CN112882732A (zh) | 一种软件开发工具包sdk中功能代码的更新方法和装置 | |
CN115658042A (zh) | 混合应用组件式开发方法、系统、设备及存储介质 | |
CN113181657B (zh) | 一种跨平台渲染方法及装置 | |
US20240078072A1 (en) | Method and apparatus for displaying message box, terminal device and non-transitory computer-readable storage medium | |
CN111443953B (zh) | 基于fpga的红外成像系统的启动方法、装置及介质 | |
CN109426511B (zh) | 软核更新方法和系统 | |
CN110502439B (zh) | 调试方法、装置、电子设备以及存储介质 | |
CN107092472B (zh) | 一种动态发布方法及设备 | |
CN114721735B (zh) | 一种程序动态加载方法、装置及电子设备 | |
CN111399926A (zh) | 下载启动程序的方法和装置 | |
CN117670645A (zh) | 限制容器显存的方法、装置、电子设备以及存储介质 | |
CN112379902B (zh) | 适配多种末端设备的方法、设备和计算机可读存储介质 | |
CN111475220B (zh) | 冷启动方法、装置、电子设备及计算机存储介质 | |
CN112698918A (zh) | 基于构建环境的虚拟机文件生成方法、装置 | |
CN111752588A (zh) | 一种应用程序的更新方法和电子设备 | |
CN116974837A (zh) | 基于Qemu调试外部设备的方法、宿主机及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20200724 Assignee: INFIRAY TECHNOLOGIES CO.,LTD. Assignor: Yantai Airui Photo-Electric Technology Co.,Ltd. Contract record no.: X2024980006380 Denomination of invention: Startup method, device, and medium of infrared imaging system based on FPGA Granted publication date: 20230801 License type: Common License Record date: 20240530 |
|
EE01 | Entry into force of recordation of patent licensing contract |