CN115951905A - 文件烧录方法、开发板及存储介质 - Google Patents
文件烧录方法、开发板及存储介质 Download PDFInfo
- Publication number
- CN115951905A CN115951905A CN202211664886.0A CN202211664886A CN115951905A CN 115951905 A CN115951905 A CN 115951905A CN 202211664886 A CN202211664886 A CN 202211664886A CN 115951905 A CN115951905 A CN 115951905A
- Authority
- CN
- China
- Prior art keywords
- file
- burning
- transmission
- data block
- transmission data
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- Stored Programmes (AREA)
Abstract
本申请公开了一种文件烧录方法、开发板及存储介质,涉及计算机领域。所述方法包括:通过所述串口监听程序监听所述上位机,以通过所述串口获取所述上位机发送的报文信息,所述报文信息包括文件传输标识;根据所述文件传输标识对所述报文信息进行解析处理,得到第一烧录文件;对所述第一烧录文件进行编译处理,得到第二烧录文件;响应于文件烧录指令,通过所述串口将所述第二烧录文件烧录至所述下位机,以使所述下位机通过所述第二烧录文件对目标程序进行更新。本申请实施例旨在减少文件烧录的操作步骤,实现对程序进行一键式烧录升级,大大节省了更新烧录时间,提高了用户体验。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种文件烧录方法、开发板及存储介质。
背景技术
现有的开发板烧录更新的方式在于通过适配的开发板特定按键和上位机烧录软件相结合的方式进行的。首先,上位机将需要烧录的镜像文件上传至烧录工具中去,然后等待下位机发送传输指令。第二步我们在开发板上按下指令(比如需要先按下boot按键再按下reset按键,之后再松开烧录),这样一个烧录文件才算被烧录至开发板中。
由于现有的烧录方式比较麻烦,需要上位机和下位机的配合,还需要人为地按下开发板的reset按键进行烧录,十分麻烦。而在对操作系统进行调试的过程中,可能需要进行很多次的烧录,时间成本较高,用户体验较差。
发明内容
本申请提供了一种文件烧录方法、开发板及存储介质,旨在减少文件烧录的操作步骤,实现对程序进行一键式烧录升级,大大节省了更新烧录时间,提高了用户体验。
第一方面,本申请提供了一种文件烧录方法,应用于包括开发板、上位机和下位机的文件烧录系统,所述开发板、所述上位机和所述下位机通过串口连接,所述开发板安装有串口监听程序,所述方法包括:通过所述串口监听程序监听所述上位机,以通过所述串口获取所述上位机发送的报文信息,所述报文信息包括文件传输标识;根据所述文件传输标识对所述报文信息进行解析处理,得到第一烧录文件;对所述第一烧录文件进行编译处理,得到第二烧录文件;响应于文件烧录指令,通过所述串口将所述第二烧录文件烧录至所述下位机,以使所述下位机通过所述第二烧录文件对目标程序进行更新。
第二方面,本申请提供了一种开发板,所述开发板包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述的计算机程序并在执行所述的计算机程序时实现如上述所述的文件烧录方法。
第三方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述所述的文件烧录方法。
本申请公开了一种文件烧录方法、开发板及存储介质,通过所述串口监听程序监听所述上位机,以通过所述串口获取所述上位机发送的报文信息,所述报文信息包括文件传输标识;根据所述文件传输标识对所述报文信息进行解析处理,得到第一烧录文件;对所述第一烧录文件进行编译处理,得到第二烧录文件;响应于文件烧录指令,通过所述串口将所述第二烧录文件烧录至所述下位机,以使所述下位机通过所述第二烧录文件对目标程序进行更新。由此可以在串口和开发板相互连接之后,即可自动化实现文件烧录更新等操作,从而减少文件烧录的操作步骤,实现对程序进行一键式烧录升级,大大节省了更新烧录时间,提高了用户体验。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种文件烧录方法的步骤流程示意图;
图2是本申请实施例提供的一种上位机的结构示意图;
图3是本申请实施例提供的一种文件烧录系统的结构示意图;
图4是本申请实施例提供的另一种文件烧录系统的结构示意图;
图5是本申请实施例提供的一种开发板的结构示意性框图;
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
随着Openharmony操作系统开源,国内物联网操作系统迎来了又一次的发展潮流与机遇。OpenHarmony是由开放原子开源基金会孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭载一个智能开发板操作系统的框架和平台,促进万物互联产业的繁荣发展。
在Openharmony的轻小型系统中,以l iteos_m和l iteos_a为内核,在厂家适配的烧录工具及开发板配合时,需要按下相关的指令按键才可以进行烧录更新等操作。
现有的开发板烧录更新的方式在于通过适配的开发板特定按键和上位机烧录软件相结合的方式进行的。首先,上位机将需要烧录的镜像文件上传至烧录工具中去,然后等待下位机发送传输指令。第二步我们在开发板上按下指令(比如需要先按下boot按键再按下reset按键,之后再松开烧录),这样一个烧录文件才算被烧录至开发板中。
由于现有的烧录方式比较麻烦,需要上位机和下位机的配合,还需要人为地按下开发板的reset按键进行烧录,十分麻烦。而在对操作系统进行调试的过程中,可能需要进行很多次的烧录,时间成本较高,用户体验较差。
请参阅图1,图1是本申请实施例提供的一种文件烧录方法的流程示意图。所述文件烧录方法可以应用于包括开发板、上位机和下位机的文件烧录系统,所述开发板、所述上位机和所述下位机通过串口连接,所述开发板安装有串口监听程序。该文件烧录方法可以在串口和开发板相互连接之后,即可自动化实现文件烧录更新等操作,从而减少文件烧录的操作步骤,实现对程序进行一键式烧录升级,大大节省了更新烧录时间,提高了用户体验。
需要说明的是,本申请实施例提供的文件烧录系统同样需要约定好收发信息的协议。具体地,通过在开发板烧录的引导程序和APP中添加一个串口监听程序,或者只在引导程序中添加串口监听程序,当串口监听程序监听收到数据报文之后进行烧录升级等操作。
如图1所示,文件烧录方法可以应用于包括开发板、上位机和下位机的文件烧录系统,所述开发板、所述上位机和所述下位机通过串口连接,所述开发板安装有串口监听程序,文件烧录方法包括步骤S101至步骤S104。
S101、通过所述串口监听程序监听所述上位机,以通过所述串口获取所述上位机发送的报文信息,所述报文信息包括文件传输标识。
其中,所述串口监听程序可以安装在开发板烧录的引导程序或APP中,用于监听上位机是否有向开发板发送报文信息。所述串口可以为usb串口或能够实现通信功能的串口。所述上位机是指可以直接发出操控命令的计算机。所述报文信息用于传输对应的烧录文件,具体还可以包括文件传输标识。所述文件传输标识为文件传输握手标志,即上位机发给开发板的标志位信息,可以用于验证传输对象的正确性。
具体地,通过usb串口对应的串口监听程序监听所述上位机需要上位机和开发板的双重配合才能实现,而不仅仅只需上位机。开发板上的引导也需要进行设计,在开发板的二级引导及APP中添加了一个串口监听的线程,用来监听上位机发给开发板的文件传输标识,如果收到约定的文件传输标识,则开始准备烧录文件的烧录更新操作,即烧录文件的传输。
其中,usb具体为Un i versa l Ser i a l Bus,即通用串行总线的缩写,是一个外部总线标准,用户规范电脑与外部设备的连接和通讯,是应用在PC领域的接口技术。USB自推出以来,已成功替代串口和并口,成为21世纪大量计算机和智能设备的标准扩展接口和必备接口之一。典型的串口通信使用3根线完成,分别是地线GND、发送TXD、接收RXD。由于串口通信是异步的,所以端口能够在一根线上发送数据同时在另一根线上接收数据。通用同步异步收发器(USART)是一个串行通信设备,可以灵活地与外部设备进行全双工数据交换。通用异步收发器(UART),它是在USART基础上裁剪掉了同步通信功能,只有异步通信。本文通过实现采用usb串口进行交互,也是考虑到几乎所有物联网设备上都配置有usb串口的特性。
示例性的,如图2所示,上位机可以包括以下几个模块,比如包括守护线程模块、多线程模块、串口连接模块、文件传输模块、文件块传输模块、cmd参数获取模块和cmd参数解析模块。守护线程模块用于检测多线程模块是否能够正常工作;多线程模块用于协调其余各模块工作;串口连接模块用于确定上位机与开发板交互的串口,文件传输模块用于向开发板传输烧录文件;文件块传输模块用于向开发板传输烧录文件块;cmd参数获取模块用于获取cmd参数比如串口参数、文件名和传输次数等参数。cmd参数解析模块用于解析获取到的cmd参数并与多线程模块进行交互。
具体地,在通过所述串口监听程序监听所述上位机之前,首先在引导即bootloader中添加串口适配函数,即uart.c文件适配,然后将串口适配到bootloader中,使得引导能够调用串口收发信息,从而可以通过串口监听程序监听所述上位机。
本申请实施例是通过usb串口与开发板进行通信,然后上位机发送指令到开发板,开发板收到指令后进行升级即可。在整个过程中仅需要连接好usb通信串口后,指定文件后敲下指令即可一键式烧录升级,从而大大节省了更新烧录时间。
S102、根据所述文件传输标识对所述报文信息进行解析处理,得到第一烧录文件。
其中,所述第一烧录文件为上位机传输给开发板的烧录文件,即未经编译过的烧录文件,具体可以为bin文件。
在一些实施例中,根据所述文件传输标识对所述报文信息进行解析处理,得到多个传输数据块;从所述多个传输数据块确定目标传输数据块;从所述目标传输数据块中解析得到第一烧录文件。由此可以准确地从目标传输数据块中解析得到对应的第一烧录文件。
其中,所述传输数据块为上位机与开发板传输报文信息的格式,即上位机与开发板以数据块的形式进行数据交互。所述目标传输数据块用于确定数据传输状态以及第一烧录文件的储存位置。
具体地,根据文件传输标识对所述报文信息进行解析处理,得到报文信息对应的多个传输数据块;从所述多个传输数据块确定对应的目标传输数据块以确定数据传输状态以及第一烧录文件的储存位置。最后根据数据传输状态以及第一烧录文件的储存位置,从而从传输数据块解析得到第一烧录文件。
在一些实施例中,确定所述文件传输标识与预设文件传输标识是否相同;若所述文件传输标识与预设文件传输标识相同,则对所述报文信息进行解析处理,得到多个传输数据块。由此可以准确地验证数据传输对象,并在验证成功后再解析报文信息。
其中,所述预设文件传输标识可以为开发板与上位机预先设置好的文件传输标识,用于相互验证身份。
具体地,验证所述文件传输标识与预设文件传输标识是否相同;若所述文件传输标识与预设文件传输标识相同,则对所述报文信息进行解析处理,得到多个传输数据块;若所述文件传输标识与预设文件传输标识不相同,则停止对所述报文信息进行解析处理,并重新与新的上位机进行数据交互。
示例性的,可以通过对报文信息中的crc数据位进行校验来检验报文信息正确与否,具体可以对报文信息中的crc数据位直接采取字节位累加然后取反,从而得到对应的数值,并确定该数值与预设的验证数值是否相同,若该数值与预设的验证数值相同,则对所述报文信息进行解析处理,得到多个传输数据块;若该数值与预设的验证数值不相同,则停止对所述报文信息进行解析处理,并重新与新的上位机进行数据交互。
在一些实施例中,获取各传输数据块中的字节信息,并根据所述字节信息确定所述传输数据块的数据块信息;根据所述字节信息和所述数据块信息确定目标传输数据块。由此可以准确地确定目标传输数据块,以便准确地解析得到对应的第一烧录文件。
其中,所述字节信息为储存在传输数据块中的字节,用于确定各传输数据块的数据块信息,所述数据块信息用于表示各传输数据块的作用。
具体地,获取各传输数据块中的字节信息,先根据所述字节信息的储存位置确定所述传输数据块的数据块信息;根据具体的字节信息和所确定的数据块信息确定数据传输状态以及第一烧录文件的储存位置对应的传输数据块,并将其作为目标传输数据块。
示例性的,下表示出了上位机发送给开发板的报文信息的数据格式:
05 | 05 | 0A | 0A | code | Len*2 | context | crc |
表1
其中,每个格代表一个传输数据块,里面储存有字节信息。前面四个传输数据块0505 0A0A代表的是传输的格式头部,代表这四个传输数据块是用来传输文件数据的,即第一烧录文件的储存位置。code字节对应的传输数据块代表的是传输的状态,传输开始时code字节应为0x01,传输过程中code字节为0x02,文件传输结束后,传输结束时code字节应为0x03。len字节对应的传输信息块代表的是传输信息块的长度(即包括数据块开头到crc结尾的长度),len占长度为2个字节,单位为字节。context对应的传输信息块是一个可选的信息项,当不发送内容时,context为空,context的长度根据len字节计算出。crc字节对应的传输信息块用于检验整个信息块的正确与否,可通过直接采取字节位累加然后取反的方式验证。
需要说明的是,当上位机与开发板出现文件块或者信息传输错误时,返回的状态码code不正确时,将重新传输报文信息。
在一些实施例中,所述目标传输数据块包括第一传输数据块和第二传输数据块,获取所述第一传输数据块的字节信息,并根据所述第一传输数据块的字节信息确定所述报文信息的传输状态;若所述报文信息的传输状态为传输结束状态,则获取所述第二传输数据块的字节信息,并解析所述第二传输数据块的字节信息以得到第一烧录文件。由此可以根据准确地从传输数据块确定报文信息的传输状态并获取第一烧录文件。
其中,所述第一传输数据块中储存的字节信息用于确定数据传输状态,所述第二传输数据块中储存的字节信息用于第一烧录文件的储存位置。
具体地,获取所述第一传输数据块的字节信息,并根据所述第一传输数据块的字节信息确定所述报文信息的传输状态;若所述报文信息的传输状态为传输结束状态,则获取所述第二传输数据块的字节信息,并解析所述第二传输数据块的字节信息以得到第一烧录文件;若所述报文信息的传输状态为传输开始状态或传输过程状态时,则停止获取所述第二传输数据块的字节信息,并重新获取报文信息,以在确定新的报文信息的传输状态为传输结束状态,再获取所述第二传输数据块的字节信息,并解析所述第二传输数据块的字节信息以得到第一烧录文件。
示例性的,如表1所示,若第一传输数据块中的字节信息为0x01,第二传输数据块中的字节信息为05 05 0A 0A,则说明需要重新获取报文信息,以在确定新的报文信息的传输状态为传输结束状态,再获取所述第二传输数据块的字节信息,并解析所述第二传输数据块的字节信息以得到第一烧录文件。
示例性的,如表1所示,若第一传输数据块中的字节信息为0x03,第二传输数据块中的字节信息为05 05 0A 0A,则说明所述报文信息的传输状态为传输结束状态,则获取所述第二传输数据块的字节信息:05 05 0A 0A,并解析所述第二传输数据块的字节信息以得到第一烧录文件的存储位置以获取第一烧录文件。
S103、对所述第一烧录文件进行编译处理,得到第二烧录文件。
其中,所述第二烧录文件为第一烧录文件编译处理后的烧录文件,用于对下位机中的目标程序进行更新。
在一些实施例中,对编译构建工具进行初始化处理,并获取所述编译构建工具中的配置参数;根据所述配置参数,通过所述编译构建工具对所述第一烧录文件进行编译处理,得到第二烧录文件。由此可以准确地编译得到对应的第二烧录文件,以实现对下位机中的目标程序进行更新。
其中,所述编译构建工具Openharmony的hb工具,hb工具是HarmonyOS2.0里新增加的编译构建命令行工具。所述配置参数包括编译环境参数和编译调试参数等。
具体地,首先通过hb工具执行hb set,选定第一烧录文件以及对应的配置参数之后执行hb bui l d-f即可编译,等待l og文件输出编译成功,即可编译出第二烧录文件。
示例性的,先对hb工具初始化进行初始化处理,提取配置文件ohos_config.json、config.json,并获取其对应的配置参数。选定第一烧录文件以及对应的配置参数之后,通过配置参数对第一烧录文件执行两条gn、ni nja命令以写入l og文件,等待l og文件输出编译成功,即可编译出第二烧录文件。
S104、响应于文件烧录指令,通过所述串口将所述第二烧录文件烧录至所述下位机,以使所述下位机通过所述第二烧录文件对目标程序进行更新。
其中,所述文件烧录指令为当开发板编译得到第二烧录文件后生成的,用于指示开发板通过所述串口将所述第二烧录文件烧录至所述下位机,以使所述下位机通过所述第二烧录文件对目标程序进行更新。所述串口为usb串口。所述下位机是直接控制设备获取设备状况的计算机,一般是PLC或单片机之类的设备。
在一些实施例中,获取所述文件烧录指令,所述文件烧录指令包括开发板传输参数和下位机传输参数;根据所述开发板传输参数和所述下位机传输参数生成烧录更新脚本;调用所述烧录更新脚本,通过所述串口将所述第二烧录文件烧录至所述下位机。由此可以准确地生成对应的烧录更新脚本,并调用所述烧录更新脚本以使所述下位机通过所述第二烧录文件对目标程序进行更新。
其中,所述开发板传输参数和下位机传输参数包括文件大小、文件格式、串口选择等,需要协调好开发板传输参数和下位机传输参数。所述烧录更新脚本用于对第二烧录文件进行文件格式转换、文件扩展或缩小等处理,具体可以使用C++、python等语言实现,优选地,可以采取python进行实现的。
示例性的,可以获取到对应的开发板传输参数、下位机传输参数和配置参数后,生成烧录更新脚本,调用生成的烧录更新脚本,将文件划分为目标大小(比如以512字节为一包),进行格式封装之后通过串口传输到下位机以实现对目标程序进行更新。
在一些实施例中,调用所述烧录更新脚本以获取文件封装需求;根据所述文件封装需求对所述第二烧录文件进行格式封装处理,得到多个文件包,并通过所述串口将所述多个文件包烧录至所述下位机。由此可以准确地通过所述串口将所述多个文件包烧录至所述下位机,以使所述下位机通过所述第二烧录文件对目标程序进行更新。
其中,所述文件封装需求包括文件包的大小、文件包的格式等需求。所述文件包为第二烧录文件对应的多个文件数据包。
具体他,调用所述烧录更新脚本以获取文件封装需求比如为512字节为一包;根据所述文件封装需求对所述第二烧录文件进行格式封装处理,得到多个文件包,其中各文件包大小为512字节,并通过所述串口将所述多个文件包烧录至所述下位机。
示例性的,在上位机与开发板之间通过烧录更新工具来进行APP更新的过程,即将Openharmony源码编译之后得到的第二烧录文件传输至开发板中的固定地址,之后bootloader会将程序跳转至第二烧录文件的起始地址进行运行,这样就实现了APP的更新。
最后介绍一下boot l oader从启动到跳转APP的过程:首先boot l oader启动后会等待约定的时间(比如约定10s),等待的时间内会监听串口传输的消息,接收到文件传输开始报文后便进行持续的交互过程。等待接收到文件传输结束报文后便调用Watchdog重启。若等待10s未接收到,则跳转到指定的APP起始地址。若APP为空,则开门狗启动,开发板重启。
需要说明的是,在调用所述烧录更新脚本进行烧录更新后,开发板中会有提示,根据提示即可判断是否烧录成功,烧录成功之后开发板即重启,烧录成功,正常启动。之后同时也可以查看编译构建工具同目录下的.l og文件在烧录过程中打印信息查看。
如图3所示,图3是本申请实施例提供的一种文件烧录系统的结构示意图,本申请公开的文件烧录方法应用在该文件烧录系统中,通过所述串口监听程序监听所述上位机,以通过所述串口获取所述上位机发送的报文信息,所述报文信息包括文件传输标识;根据所述文件传输标识对所述报文信息进行解析处理,得到第一烧录文件;对所述第一烧录文件进行编译处理,得到第二烧录文件;响应于文件烧录指令,通过所述串口将所述第二烧录文件烧录至所述下位机,以使所述下位机通过所述第二烧录文件对目标程序进行更新。由此可以实现了使用usb串口连接上位机和开发板之后,调用上位机编写的烧录脚本即可进行一键式文件烧录更新,从而减少文件烧录的操作步骤,实现对程序进行一键式烧录升级,大大节省了更新烧录时间,提高了用户体验。
如图4所示,图4是本申请实施例提供的另一种文件烧录系统的结构示意图,烧录过程还可以指定文件进行烧录,同时烧录过程中可以设置传输的文件块的大小等操作,最终会提示烧录成功,开发板自启动复位开启引导。还可以在Openharmony中同样添加一个串口监听函数,当收到文件更新开始的报文信息时,便使用Watchdog复位进行烧录更新即可。
请参阅图5,图5是本申请实施例提供的一种开发板的示意性框图。如图5所示,该开发板200包括一个或多个处理器201和存储器202,处理器201和存储器202通过总线连接,该总线比如为I2C(Inter-integrated Circuit)总线。
其中,一个或多个处理器201单独地或共同地工作,用于执行上述实施例提供的文件烧录方法的步骤。
具体地,处理器201可以是微控制单元(Micro-controller Unit,MCU)、中央处理单元(Central Processing Unit,CPU)或数字信号处理器(Digital Signal Processor,DSP)等。
具体地,存储器202可以是Flash芯片、只读存储器(ROM,Read-Only Memory)磁盘、光盘、U盘或移动硬盘等。
其中,处理器201用于运行存储在存储器202中的计算机程序,并在执行所述计算机程序时实现上述实施例提供的文件烧录方法的步骤。
示例性的,处理器201用于运行存储在存储器202中的计算机程序,并在执行所述计算机程序时,实现如下步骤:
通过所述串口监听程序监听所述上位机,以通过所述串口获取所述上位机发送的报文信息,所述报文信息包括文件传输标识;根据所述文件传输标识对所述报文信息进行解析处理,得到第一烧录文件;对所述第一烧录文件进行编译处理,得到第二烧录文件;响应于文件烧录指令,通过所述串口将所述第二烧录文件烧录至所述下位机,以使所述下位机通过所述第二烧录文件对目标程序进行更新。
在一些实施例中,所述处理器在实现所述根据所述文件传输标识对所述报文信息进行解析处理,得到第一烧录文件时,用于实现:根据所述文件传输标识对所述报文信息进行解析处理,得到多个传输数据块;从所述多个传输数据块确定目标传输数据块;从所述目标传输数据块中解析得到第一烧录文件。
在一些实施例中,所述处理器在实现所述根据所述文件传输标识对所述报文信息进行解析处理,得到多个传输数据块时,用于实现:确定所述文件传输标识与预设文件传输标识是否相同;若所述文件传输标识与预设文件传输标识相同,则对所述报文信息进行解析处理,得到多个传输数据块。
在一些实施例中,所述处理器在实现所述从所述多个传输数据块确定目标传输数据块时,用于实现:获取各传输数据块中的字节信息,并根据所述字节信息确定所述传输数据块的数据块信息;根据所述字节信息和所述数据块信息确定目标传输数据块。
在一些实施例中,所述目标传输数据块包括第一传输数据块和第二传输数据块,所述处理器在实现所述从所述目标传输数据块中解析得到第一烧录文件时,用于实现:获取所述第一传输数据块的字节信息,并根据所述第一传输数据块的字节信息确定所述报文信息的传输状态;若所述报文信息的传输状态为传输结束状态,则获取所述第二传输数据块的字节信息,并解析所述第二传输数据块的字节信息以得到第一烧录文件。
在一些实施例中,所述处理器在实现所述对所述第一烧录文件进行编译处理,得到第二烧录文件,所述第二烧录文件包括烧录更新脚本时,用于实现:对编译构建工具进行初始化处理,并获取所述编译构建工具中的配置参数;根据所述配置参数,通过所述编译构建工具对所述第一烧录文件进行编译处理,得到第二烧录文件。
在一些实施例中,所述处理器在实现所述响应于文件烧录指令,通过所述串口将所述第二烧录文件烧录至所述下位机时,用于实现:获取所述文件烧录指令,所述文件烧录指令包括开发板传输参数和下位机传输参数;根据所述开发板传输参数和所述下位机传输参数生成烧录更新脚本;调用所述烧录更新脚本,通过所述串口将所述第二烧录文件烧录至所述下位机。
在一些实施例中,所述处理器在实现所述调用所述烧录更新脚本,通过所述串口将所述第二烧录文件烧录至所述下位机时,用于实现:调用所述烧录更新脚本以获取文件封装需求;根据所述文件封装需求对所述第二烧录文件进行格式封装处理,得到多个文件包,并通过所述串口将所述多个文件包烧录至所述下位机。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项文件烧录方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digita l,SD)卡,闪存卡(F l ash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种文件烧录方法,其特征在于,应用于包括开发板、上位机和下位机的文件烧录系统,所述开发板、所述上位机和所述下位机通过串口连接,所述开发板安装有串口监听程序,所述方法包括:
通过所述串口监听程序监听所述上位机,以通过所述串口获取所述上位机发送的报文信息,所述报文信息包括文件传输标识;
根据所述文件传输标识对所述报文信息进行解析处理,得到第一烧录文件;
对所述第一烧录文件进行编译处理,得到第二烧录文件;
响应于文件烧录指令,通过所述串口将所述第二烧录文件烧录至所述下位机,以使所述下位机通过所述第二烧录文件对目标程序进行更新。
2.根据权利要求1所述的方法,其特征在于,所述根据所述文件传输标识对所述报文信息进行解析处理,得到第一烧录文件,包括:
根据所述文件传输标识对所述报文信息进行解析处理,得到多个传输数据块;
从所述多个传输数据块确定目标传输数据块;
从所述目标传输数据块中解析得到第一烧录文件。
3.根据权利要求2所述的方法,其特征在于,所述根据所述文件传输标识对所述报文信息进行解析处理,得到多个传输数据块,包括:
确定所述文件传输标识与预设文件传输标识是否相同;
若所述文件传输标识与预设文件传输标识相同,则对所述报文信息进行解析处理,得到多个传输数据块。
4.根据权利要求2所述的方法,其特征在于,所述从所述多个传输数据块确定目标传输数据块,包括:
获取各传输数据块中的字节信息,并根据所述字节信息确定所述传输数据块的数据块信息;
根据所述字节信息和所述数据块信息确定目标传输数据块。
5.根据权利要求2所述的方法,其特征在于,所述目标传输数据块包括第一传输数据块和第二传输数据块,所述从所述目标传输数据块中解析得到第一烧录文件,包括:
获取所述第一传输数据块的字节信息,并根据所述第一传输数据块的字节信息确定所述报文信息的传输状态;
若所述报文信息的传输状态为传输结束状态,则获取所述第二传输数据块的字节信息,并解析所述第二传输数据块的字节信息以得到第一烧录文件。
6.根据权利要求1所述的方法,其特征在于,所述对所述第一烧录文件进行编译处理,得到第二烧录文件,所述第二烧录文件包括烧录更新脚本,包括:
对编译构建工具进行初始化处理,并获取所述编译构建工具中的配置参数;
根据所述配置参数,通过所述编译构建工具对所述第一烧录文件进行编译处理,得到第二烧录文件。
7.根据权利要求1所述的方法,其特征在于,所述响应于文件烧录指令,通过所述串口将所述第二烧录文件烧录至所述下位机,包括:
获取所述文件烧录指令,所述文件烧录指令包括开发板传输参数和下位机传输参数;
根据所述开发板传输参数和所述下位机传输参数生成烧录更新脚本;
调用所述烧录更新脚本,通过所述串口将所述第二烧录文件烧录至所述下位机。
8.根据权利要求7所述的方法,其特征在于,所述调用所述烧录更新脚本,通过所述串口将所述第二烧录文件烧录至所述下位机,包括:
调用所述烧录更新脚本以获取文件封装需求;
根据所述文件封装需求对所述第二烧录文件进行格式封装处理,得到多个文件包,并通过所述串口将所述多个文件包烧录至所述下位机。
9.一种开发板,其特征在于,所述开发板包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述的计算机程序并在执行所述的计算机程序时实现如权利要求1至8任一项所述的文件烧录方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至8中任一项所述的文件烧录方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211664886.0A CN115951905A (zh) | 2022-12-22 | 2022-12-22 | 文件烧录方法、开发板及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211664886.0A CN115951905A (zh) | 2022-12-22 | 2022-12-22 | 文件烧录方法、开发板及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115951905A true CN115951905A (zh) | 2023-04-11 |
Family
ID=87296199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211664886.0A Pending CN115951905A (zh) | 2022-12-22 | 2022-12-22 | 文件烧录方法、开发板及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115951905A (zh) |
-
2022
- 2022-12-22 CN CN202211664886.0A patent/CN115951905A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104579719B (zh) | 一种固件的升级方法和系统、上位机和光模块 | |
CN106257417B (zh) | 引导程序升级方法、嵌入式设备、控制设备及嵌入式系统 | |
CN109240730B (zh) | 一种单片机在线升级方法和系统 | |
WO2021212948A1 (zh) | 存储系统启动方法、装置及计算机可读存储介质 | |
CN112910714B (zh) | 具有主从机结构的物联网终端设备的远程固件升级方法 | |
CN102185754B (zh) | 交换机系统中板卡的升级方法 | |
CN102945173A (zh) | 用户程序在线升级系统和升级方法 | |
CN114860279B (zh) | 一种快速空片升级方法 | |
CN111984261A (zh) | 编译方法与编译系统 | |
CN113760332A (zh) | 软件升级方法和电子设备 | |
CN104883611B (zh) | 电视屏的调试方法和系统 | |
CN111752577B (zh) | 一种系统版本的升级方法及设备 | |
CN114138295A (zh) | 一种电子设备的应用程序固件升级方法、装置及系统 | |
CN112148322A (zh) | 一种升级与片上系统连接的单片机中固件的方法 | |
CN104133743A (zh) | 一种将文件烧录到emmc芯片的方法及装置 | |
CN116755749A (zh) | 板载mcu的升级方法、板载mcu、板卡及信息处理系统 | |
CN115951905A (zh) | 文件烧录方法、开发板及存储介质 | |
CN116301972A (zh) | 一种微控制单元固件升级方法及系统 | |
CN111371799B (zh) | Mctp控制器收发数据的控制方法、装置及设备 | |
CN113157329A (zh) | 启动应用的方法、系统、服务器和存储介质 | |
CN109428936B (zh) | App的升级方法、装置、系统、电子设备及存储介质 | |
JP2006155047A (ja) | 検証システム及び検証方法 | |
CN106445571B (zh) | 主机板及开机的方法 | |
CN109271188A (zh) | 一种cpld升级方法及相关装置 | |
CN114090062A (zh) | 用于多核mcu的嵌入式软件同步升级方法及装置 |
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 |