CN115658123A - 一种嵌入式设备软件更新方法、装置、介质 - Google Patents
一种嵌入式设备软件更新方法、装置、介质 Download PDFInfo
- Publication number
- CN115658123A CN115658123A CN202211412092.5A CN202211412092A CN115658123A CN 115658123 A CN115658123 A CN 115658123A CN 202211412092 A CN202211412092 A CN 202211412092A CN 115658123 A CN115658123 A CN 115658123A
- Authority
- CN
- China
- Prior art keywords
- software
- protocol
- updated
- equipment
- updating
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本申请涉及嵌入式开发领域,公开了一种嵌入式设备软件更新方法、装置、介质,包括:获取任务需求和与任务需求对应的待更新设备,以便于后续根据任务需求和待更新设备信息确定相应的协议信息。确定与任务需求和待更新设备对应的协议配置方案,并将协议配置方案发送至待更新设备。获取用户发送的用户指令,并根据用户指令、协议配置方案、原始通信协议生成软件更新指令,以更新待更新设备中的软件。本申请通过预先内置不同类型的通信协议,并通过测试上位机发送根据协议配置方案与用户指令生成的软件更新命令,以保证待更新设备能够识别软件更新指令,从而防止由于通信协议与嵌入式设备不匹配导致系统中代码无法在线更新。
Description
技术领域
本申请涉及嵌入式编程领域,特别是涉及一种嵌入式设备软件更新方法、装置、介质。
背景技术
随着软件工业化发展,越来越多的软件相关行业开始向软件可重用设计模式转变。但在工业生产中存在大量硬件编程场景,在开发过程中需要借助硬件设备对程序进行编译和仿真。例如,舵机控制系统就是一种基于现场可编程逻辑阵列(Field ProgrammableGate Array,FPGA)芯片实现的系统,在系统代码编写完成中,需要在FPGA中对代码进行仿真测试和板级测试。
目前,由于不同的舵系统存有不同的任务需求,其需要获取的参数数据与输出的参数均不相同,因此舵系统软件在设计过程中不能直接移植使用,常需要设计人员针对任务需求,对舵系统软件进行不同程度的设计与修改。由于FPGA开发的固有属性,其编译、综合、布线时间与代码量成正比,每次修改程序后都需要对代码进行重新编译综合,耗费时间较长。为了提高开发效率,开发人员期望采用通信接口对舵系统中软件程序进行在线修改,但不同的种类和型号的舵系统所使用的通信协议也不相同,可能会出现由于通信协议与舵系统不匹配导致无法正常更新舵系统中的代码的情况。
由此可见,如何提供一种嵌入式设备软件更新方法,以防止由于通信协议与嵌入式设备不匹配导致系统中代码无法在线更新,是本领域技术人员亟需解决的问题。
发明内容
本申请的目的是提供一种嵌入式设备软件更新方法、装置、介质,以减少不同任务需求的舵系统的软件修改过程中的工作量。
为了解决上述技术问题,本申请提供了一种嵌入式设备软件更新方法,应用于测试上位机,所述方法包括:
获取任务需求和与所述任务需求对应的待更新设备;
确定与所述任务需求和所述待更新设备对应的协议配置方案,并将所述协议配置方案发送至所述待更新设备;
获取用户发送的用户指令,并根据所述用户指令、所述协议配置方案、原始通信协议生成软件更新指令,其中,所述原始通信协议为根据协议数据库中数据种类确定的协议,所述协议数据库中至少包含两种嵌入式通信协议;
将所述软件更新指令发送至所述待更新设备,以更新所述待更新设备中的软件。
优选的,所述协议配置方案为包括与所述待更新设备对应的目标通信协议中的数据类型和数据长度的方案。
优选的,所述根据所述用户指令、所述协议配置方案和原始通信协议生成软件更新指令包括:
解析所述用户指令以获取所述用户指令中包括的更新参数,其中,所述更新参数包括参数的数据类型和参数值;
根据所述协议配置方案,将所述更新参数写入所述原始通信协议中,以生成所述软件更新指令。
优选的,所述获取任务需求和与所述任务需求对应的待更新设备的步骤后,还包括:
判断所述协议数据库中是否包括与所述待更新设备对应的嵌入式通信协议;
若否,则将与所述待更新设备对应的嵌入式通信协议存入所述协议数据库。
为了解决上述技术问题,本申请还提供了一种嵌入式设备软件更新方法,应用于待更新设备,所述方法包括:
获取测试上位机所发送的协议配置方案,所述协议配置方案为所述测试上位机根据任务需求和所述待更新设备确定的方案;
获取软件更新指令,其中,所述软件更新指令为根据所述协议配置方案、所述用户指令和原始通信协议生成的指令,其中,所述原始通信协议为根据协议数据库中数据种类确定的协议,所述协议数据库中至少包含两种嵌入式通信协议;
根据所述协议配置方案对所述软件更新指令进行解析,以获取更新参数;
根据所述更新参数对软件进行更新。
优选的,所述根据所述更新参数对软件进行更新包括:
根据所述更新参数修改flash芯片中的参数信息以启动目标软件模块并生成更新软件,其中,所述目标软件模块为与所述任务需求对应的复用代码模块。
优选的,所述获取更新参数的步骤后,还包括:
判断所述更新参数的值是否满足预设条件;
若不满足所述预设条件,向所述测试上位机发送参数异常信号。
为了解决上述技术问题,本申请还提供了一种嵌入式设备软件更新装置,应用于测试上位机,所述装置包括:
获取模块,用于获取任务需求和与所述任务需求对应的待更新设备;
确定模块,用于确定与所述任务需求和所述待更新设备对应的协议配置方案,并将所述协议配置方案发送至所述待更新设备;
生成模块,用于获取用户发送的用户指令,并根据所述用户指令、所述协议配置方案、原始通信协议生成软件更新指令;其中,所述原始通信协议为根据协议数据库中数据种类确定的协议,所述协议数据库中至少包含两种嵌入式通信协议;
发送模块,用于将所述软件更新指令发送至所述待更新设备,以更新所述待更新设备中的软件。
为了解决上述技术问题,本申请还提供了一种嵌入式设备软件更新装置,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述的嵌入式设备软件更新方法的步骤。
为了解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的嵌入式设备软件更新方法的步骤。
本申请提供了一种嵌入式设备软件更新方法,应用于测试上位机,该方法包括:获取任务需求和与任务需求对应的待更新设备,以便于后续根据任务需求和待更新设备信息确定相应的协议信息。确定与任务需求和待更新设备对应的协议配置方案,并将协议配置方案发送至待更新设备,以便于待更新设备根据协议配置方案解析通信内容。获取用户发送的用户指令,并根据用户指令、协议配置方案、原始通信协议生成软件更新指令,其中,原始通信协议为根据协议数据库中数据种类确定的协议,协议数据库中至少包含两种嵌入式通信协议,并将软件更新指令发送至待更新设备,以更新待更新设备中的软件。由此可见,本申请所提供的技术方案通过预先在待更新设备中内置不同类型的通信协议,并通过测试上位机发送根据协议配置方案与用户指令生成的软件更新命令,以保证待更新设备能够识别软件更新指令并根据软件更新指令更新软件。从而防止由于通信协议与嵌入式设备不匹配导致系统中代码无法在线更新。
此外,本申请还提供了一种嵌入式设备软件更新装置、介质,与上述方法对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种常用嵌入式开发流程的示意图;
图2为本申请实施例所提供的一种嵌入式设备软件更新方法的流程图;
图3为本申请实施例所提供的另一种嵌入式设备软件更新方法的流程图;
图4为本申请实施例所提供的一种嵌入式设备软件更新装置的结构图;
图5为本申请实施例所提供的另一种嵌入式设备软件更新装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种嵌入式设备软件更新方法、装置、介质,从而防止由于通信协议与嵌入式设备不匹配导致系统中代码无法在线更新,从而提高嵌入式设备中软件更新的效率和可靠性。
图1为本申请实施例所提供的一种常用嵌入式开发流程的示意图,如图1所示,在嵌入式开发场景中,程序开发流程包括:分析舵系统以获取舵系统需求;根据舵系统需求编写代码并对代码进行功能仿真,当功能仿真正确后,对代码进行综合优化和综合优化后仿真;若优化仿真结果均正确,则对嵌入式平台进行布局布线操作,并在嵌入式平台中进行时序仿真;若时序仿真结果正确,则进行开发板级仿真与调试和烧录至嵌入式平台中调试,最终获取目标程序。在这一开发过程中,任意一个环节出现错误均需要开发人员手动修改,导致开发人员工作量过大,开发效率降低。且当应用于舵机系统时,嵌入式平台(例如FPGA开发板)需要装入舵机中并对舵机封盖处理,以保证舵机正常运行。但若代码在封盖后的实验过程中暴露出舵系统的性能不足等问题,此时若再想对FPGA进行程序更新,就只能重新开盖,不仅耽误研制进程,更容易引入多余物,导致舵机受损。为了解决这一问题,通常采用外接通信接口的方式控制设备内软件更新。但由于设备种类众多,不同的种类和型号的待更新设备所使用的通信协议也不相同,可能会出现由于通信协议与待更新设备不匹配导致无法正常更新待更新设备中的代码的情况。为了解决这一问题,本申请提供了一种嵌入式设备软件更新方法,应用于测试上位机,该方法包括:获取任务需求和与任务需求对应的待更新设备,以便于后续根据任务需求和待更新设备信息确定相应的协议信息。确定与任务需求和待更新设备对应的协议配置方案,并将协议配置方案发送至待更新设备,以便于待更新设备根据协议配置方案解析通信内容。获取用户发送的用户指令,并根据用户指令、协议配置方案、原始通信协议生成软件更新指令,其中,原始通信协议为根据协议数据库中数据种类确定的协议,协议数据库中至少包含两种嵌入式通信协议,并将软件更新指令发送至待更新设备,以更新待更新设备中的软件。由此可见,本申请所提供的技术方案通过预先在待更新设备中内置不同类型的通信协议,并通过测试上位机发送根据协议配置方案与用户指令生成的软件更新命令,以保证待更新设备能够识别软件更新指令并根据软件更新指令更新软件。从而防止由于通信协议与嵌入式设备不匹配导致系统中代码无法在线更新。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
图2为本申请实施例所提供的一种嵌入式设备软件更新方法的流程图,如图2所示,本申请所提供的嵌入式设备软件更新方法应用于测试上位机,包括:
S10:获取任务需求和与任务需求对应的待更新设备;
S11:确定与任务需求和待更新设备对应的协议配置方案,并将协议配置方案发送至待更新设备;
S12:获取用户发送的用户指令,并根据用户指令、协议配置方案、原始通信协议生成软件更新指令,其中,原始通信协议为根据协议数据库中数据种类确定的协议,协议数据库中至少包含两种嵌入式通信协议;
S13:将软件更新指令发送至待更新设备,以更新待更新设备中的软件。
在具体实施中,测试上位机可以通过有线通信方式(例如:串口)等将协议配置方案发送给待更新设备,也可以通过无线通信方式(例如:蓝牙)发送协议配置方案,此处不做限定。
在本实施例中,以舵系统作为待更新设备为例,对嵌入式设备软件更新方法进行说明。在具体实施中,可以通过读取目标舵系统的需求文档确定需求信息,也可以由开发人员预先对目标舵系统进行分析以确定需求信息。确定需求信息后,将于需求信息对应的复用代码模块确定为目标软件模块。
可以理解的是,本申请所提供的嵌入式设备软件更新方法应用于预先设置好复用代码模块或复用代码模块库中的嵌入式平台。本申请所提供的方案中,复用代码模块库中包含舵系统中各种常用的代码模块,因此,当需要根据目标舵系统的需求信息确定目标软件时,仅需启动复用代码模块库中的相应模块即可。需要注意的时,本申请所提供的方案无法解决复用代码模块存在错误或模块库中不存在于目标舵系统的需求信息对应的复用代码模块的情况。
需要注意的是,在获取目标舵系统的需求信息前,还需要根据各种类舵系统的资料创建复用代码模块,并将各复用代码模块存入复用代码模块库中,以便于使用。具体的,将各代码模块中所有需要修改的信号全部提出并进行参数化设置,以生成复用代码模块。
可以理解的是,
在具体实施中,修改flash芯片中的参数信息以启动目标软件模块。例如:目标软件模块的启动标识设为1,将其他软件模块的启动标识设为0即可。在调试过程中,只需要通过通讯接口即可实现对软件模块的在线配置,即可修改成名,不需要反复编译和烧写程序。
可以理解的是,本实施例中所提供的flash芯片可以为嵌入式平台(例如FPGA开发板)中的flash芯片,也可以为单独设置的flash芯片,此处不做限定。
需要注意的是,生成目标软件后,还需要使用目标软件生成控制指令以控制舵机工作。具体的,利用目标软件所对应的通信协议将舵系统的工作状态信息发送至目标软件中,目标软件根据获取的工作状态信息控制舵系统工作。
本实施例提供了一种嵌入式设备软件更新方法,应用于测试上位机,该方法包括:获取任务需求和与任务需求对应的待更新设备,以便于后续根据任务需求和待更新设备信息确定相应的协议信息。确定与任务需求和待更新设备对应的协议配置方案,并将协议配置方案发送至待更新设备,以便于待更新设备根据协议配置方案解析通信内容。获取用户发送的用户指令,并根据用户指令、协议配置方案、原始通信协议生成软件更新指令,其中,原始通信协议为根据协议数据库中数据种类确定的协议,协议数据库中至少包含两种嵌入式通信协议,并将软件更新指令发送至待更新设备,以更新待更新设备中的软件。由此可见,本申请所提供的技术方案通过预先在待更新设备中内置不同类型的通信协议,并通过测试上位机发送根据协议配置方案与用户指令生成的软件更新命令,以保证待更新设备能够识别软件更新指令并根据软件更新指令更新软件。从而防止由于通信协议与嵌入式设备不匹配导致系统中代码无法在线更新。
在具体实施中,作为优选的实施例,协议配置方案为包括与待更新设备对应的目标通信协议中的数据类型和数据长度的方案。可以理解的是,根据用户指令、协议配置方案和原始通信协议生成软件更新指令包括:解析用户指令以获取用户指令中包括的更新参数,其中,更新参数包括参数的数据类型和参数值;根据协议配置方案,将更新参数写入原始通信协议中,以生成软件更新指令。
为了保证协议库中的数据的全面,还需要对协议库进行更新,因此获取任务需求和与任务需求对应的待更新设备的步骤后,还包括:
判断协议数据库中是否包括与待更新设备对应的嵌入式通信协议;
若否,则将与待更新设备对应的嵌入式通信协议存入协议数据库。
此外,当工作人员检测到不包含在数据库中的嵌入式设备通信协议后,还可以手动将新的协议增加至协议数据库中,以保证协议数据库能够尽可能的适用于任意通信协议。
图3为本申请实施例所提供的另一种嵌入式设备软件更新方法的流程图,如图3所示,该方法应用于待更新设备,该方法包括:
S20:获取测试上位机所发送的协议配置方案,协议配置方案为测试上位机根据任务需求和待更新设备确定的方案;
S21:获取软件更新指令,其中,软件更新指令为根据协议配置方案、用户指令和原始通信协议生成的指令,其中,原始通信协议为根据协议数据库中数据种类确定的协议,协议数据库中至少包含两种嵌入式通信协议;
S22:根据协议配置方案对软件更新指令进行解析,以获取更新参数;
S23:根据更新参数对软件进行更新。
本申请提供了一种嵌入式设备软件更新方法,应用于测试上位机,该方法包括:获取测试上位机所发送的协议配置方案,协议配置方案为测试上位机根据任务需求和待更新设备确定的方案;获取软件更新指令,其中,软件更新指令为根据协议配置方案、用户指令和原始通信协议生成的指令,其中,原始通信协议为根据协议数据库中数据种类确定的协议,协议数据库中至少包含两种嵌入式通信协议;根据协议配置方案对软件更新指令进行解析,以获取更新参数;根据更新参数对软件进行更新。由此可见,本申请所提供的技术方案通过预先在待更新设备中内置不同类型的通信协议,并通过测试上位机发送根据协议配置方案与用户指令生成的软件更新命令,以保证待更新设备能够识别软件更新指令并根据软件更新指令更新软件。从而防止由于通信协议与嵌入式设备不匹配导致系统中代码无法在线更新,提高设备程序更新的效率和可靠性。
作为优选的实施例,根据更新参数对软件进行更新包括:根据更新参数修改flash芯片中的参数信息以启动目标软件模块并生成更新软件,其中,目标软件模块为与任务需求对应的复用代码模块。进一步的,获取更新参数的步骤后,还包括:判断更新参数的值是否满足预设条件;若不满足预设条件,向测试上位机发送参数异常信号。
作为优选的实施例,复用代码模块中的每个参数信号均可通过修改flash芯片中的参数自行配置。在上述实施例的基础上,获取舵系统的需求信息的步骤前,还包括:
获取舵机控制代码中的参数信息;
根据参数信息对舵机控制代码进行参数化处理,以生成复用代码模块。
在具体实施中,将舵系统软件中所有需要设计修改的信号全部提出并进行参数化设计,使得软件本身成为可直接重复利用的软件模块,并形成可重复调用的复用软件模块库。可以理解的是,复用软件模块库中仅包含目前已知的舵系统的控制代码模块,当检测到新的舵系统控制代码时,开发人员可以将新的控制代码模块参数化处理后,加入复用代码模块库中。
在具体实施中,上位机通过设置在舵机处的传感器获取舵机运行状态后,还需要将舵机运行状态数据通过通信协议发送至flash芯片中,以便于目标软件读取后根据状态数据生成舵机控制指令。
在上述实施例的基础上,生成目标软件的步骤后,还包括:
根据目标通信协议将舵机工作状态数据输入flash芯片,以便于目标软件生成的控制指令控制目标舵系统。
可以理解的是,不同型号、不同需求的舵系统,其通信协议也不相同。为了保证通信协议能够适用于不同需求的舵系统控制场景,需要使通信协议具有兼容性。为了解决这一问题,在上述实施例的基础上,获取舵机常用协议中的各种类信号数据;确定通信协议中各字节所对应的信号数据以生成初始通信协议。
具体的,通信协议的长度为可变长度(取值为3~99),每一个字节所对应的内容都可通过通信接口在线配置,从而获取初始通信协议。需要注意的是,各字节所对应的内容均为不同种类的舵系统协议信息,目前常用的舵系统协议信息包括:时钟信号、舵机控制指令、舵机位置反馈信号等25种。在初始通信协议中为目前已知的各种通信协议分配对应字节(每个通信协议的信号占用四个字节)。可以理解的是,当存在初始通信协议中未包含的协议信息时,对初始通信协议进行更新。
作为优选的实施例,在确定目标舵系统的需求信息后,还需要为目标舵系统生成目标通信协议,以实现数据的传输。
在上述实施例的基础上,确定通信协议中各字节所对应的信号数据以生成初始通信协议的步骤后,还包括:
根据需求信息确定通信协议需求,通信协议需求包括通信协议长度和通信协议内容;根据通信协议需求对初始通信协议进行处理,以生成目标通信协议。
具体的,根据通信协议需求对初始通信协议进行处理包括:上位机向目标软件发送通信协议配置指令,将协议长度设为于通信协议需求对应的长度,并从协议的首字节开始,依次配置各字节所对应的通信协议信号。
生成目标通信协议后,还需要判断目标通信协议与目标舵系统的通信协议需求是否对应,若对应则使用该协议将状态数据发送至flash芯片。
可以理解的是,为了保证目标软件所生成的舵系统控制指令的正确性,还需要对舵机工作状态数据的合法性和目标通信协议的是否正确进行检验,检验过程可以由生成的目标软件实现,也可以由上位机实现,本实施例中以目标软件实现为例进行说明。通过生成的目标软件对舵机工作状态数据的合法性进行检验包括:上电时,通过对以下内容进行自检,确保通信协议是否正确且舵机工作状态数据为合法数据。
(1)自检配置的字节长度是否与设定值相同;
(2)X1为帧头:设定帧头为S1,自检S1的值不等于0xFF、0x00;
(3)X2为信号ID:设定信号ID的取值为S2,自检的S2值不等于0xFF、0x00;
(4)X3为航机控制信号限幅范围:设定舵机控制信号限幅范围的取值为S3,自检时检查置范围值不得超过±2048;该值需要在设计之初固化至代码下,该值根据所采用的硬件不同,可以设置不同值。
(5)X4为舵机位置反馈信号限幅范围:设定舵机位置反馈信号限幅范围的取值为S4自检时检查其范围值不得超过±2048(该值需要在设计之初固化至代码中,该值根据所采用的硬件不同,可以设置不同值)
(6)部分信号无法直接自检,通过参数装订时将所有参数的累加校验和记录到地址末端。在上电回读参数时同步对所有回读参数进行累加和计算,若该值与地址末端值相同,表示参数正确。
需要同时满足上述6点,则表明当前工作状态数据自检正确,否则出现错误,发出示警信号。
进一步的,若工作状态数据不为合法数据,则向管理人员发送警报。若目标通信协议不正确,则再次执行根据通信协议需求对初始通信协议进行处理,以生成目标通信协议的步骤。
在上述实施例中,对于嵌入式设备软件更新方法进行了详细描述,本申请还提供嵌入式设备软件更新装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图4为本申请实施例所提供的一种嵌入式设备软件更新装置的结构图,如图4所示,该装置应用于测试上位机,装置包括:
获取模块10,用于获取任务需求和与任务需求对应的待更新设备;
确定模块11,用于确定与任务需求和待更新设备对应的协议配置方案,并将协议配置方案发送至待更新设备;
生成模块12,用于获取用户发送的用户指令,并根据用户指令、协议配置方案、原始通信协议生成软件更新指令;其中,原始通信协议为根据协议数据库中数据种类确定的协议,协议数据库中至少包含两种嵌入式通信协议;
发送模块13,用于将软件更新指令发送至待更新设备,以更新待更新设备中的软件。
本申请提供了一种嵌入式设备软件更新装置,应用于测试上位机,该装置包括:获取测试上位机所发送的协议配置方案,协议配置方案为测试上位机根据任务需求和待更新设备确定的方案;获取软件更新指令,其中,软件更新指令为根据协议配置方案、用户指令和原始通信协议生成的指令,其中,原始通信协议为根据协议数据库中数据种类确定的协议,协议数据库中至少包含两种嵌入式通信协议;根据协议配置方案对软件更新指令进行解析,以获取更新参数;根据更新参数对软件进行更新。由此可见,本申请所提供的技术方案通过预先在待更新设备中内置不同类型的通信协议,并通过测试上位机发送根据协议配置方案与用户指令生成的软件更新命令,以保证待更新设备能够识别软件更新指令并根据软件更新指令更新软件。从而防止由于通信协议与嵌入式设备不匹配导致系统中代码无法在线更新,提高设备程序更新的效率和可靠性。
图5为本申请实施例所供的另一种嵌入式设备软件更新装置的结构图,如图5所示,该嵌入式设备软件更新装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例嵌入式设备软件更新方法的步骤。
本实施例提供的嵌入式设备软件更新装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的嵌入式设备软件更新方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于目标舵系统的需求信息、等。
在一些实施例中,嵌入式设备软件更新装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图5中示出的结构并不构成对嵌入式设备软件更新装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的嵌入式设备软件更新装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:
获取任务需求和与任务需求对应的待更新设备;
确定与任务需求和待更新设备对应的协议配置方案,并将协议配置方案发送至待更新设备;
获取用户发送的用户指令,并根据用户指令、协议配置方案、原始通信协议生成软件更新指令;其中,原始通信协议为根据协议数据库中数据种类确定的协议,协议数据库中至少包含两种嵌入式通信协议;
将软件更新指令发送至待更新设备,以更新待更新设备中的软件。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的嵌入式设备软件更新方法、装置、介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种嵌入式设备软件更新方法,其特征在于,应用于测试上位机,所述方法包括:
获取任务需求和与所述任务需求对应的待更新设备;
确定与所述任务需求和所述待更新设备对应的协议配置方案,并将所述协议配置方案发送至所述待更新设备;
获取用户发送的用户指令,并根据所述用户指令、所述协议配置方案、原始通信协议生成软件更新指令,其中,所述原始通信协议为根据协议数据库中数据种类确定的协议,所述协议数据库中至少包含两种嵌入式通信协议;
将所述软件更新指令发送至所述待更新设备,以更新所述待更新设备中的软件。
2.根据权利要求1所述的嵌入式设备软件更新方法,其特征在于,所述协议配置方案为包括与所述待更新设备对应的目标通信协议中的数据类型和数据长度的方案。
3.根据权利要求2所述的嵌入式设备软件更新方法,其特征在于,所述根据所述用户指令、所述协议配置方案和原始通信协议生成软件更新指令包括:
解析所述用户指令以获取所述用户指令中包括的更新参数,其中,所述更新参数包括参数的数据类型和参数值;
根据所述协议配置方案,将所述更新参数写入所述原始通信协议中,以生成所述软件更新指令。
4.根据权利要求1所述的嵌入式设备软件更新方法,其特征在于,所述获取任务需求和与所述任务需求对应的待更新设备的步骤后,还包括:
判断所述协议数据库中是否包括与所述待更新设备对应的嵌入式通信协议;
若否,则将与所述待更新设备对应的嵌入式通信协议存入所述协议数据库。
5.一种嵌入式设备软件更新方法,其特征在于,应用于待更新设备,所述方法包括:
获取测试上位机所发送的协议配置方案,所述协议配置方案为所述测试上位机根据任务需求和所述待更新设备确定的方案;
获取软件更新指令,其中,所述软件更新指令为根据所述协议配置方案、所述用户指令和原始通信协议生成的指令,其中,所述原始通信协议为根据协议数据库中数据种类确定的协议,所述协议数据库中至少包含两种嵌入式通信协议;
根据所述协议配置方案对所述软件更新指令进行解析,以获取更新参数;
根据所述更新参数对软件进行更新。
6.根据权利要求5所述的嵌入式设备软件更新方法,其特征在于,所述根据所述更新参数对软件进行更新包括:
根据所述更新参数修改flash芯片中的参数信息以启动目标软件模块并生成更新软件,其中,所述目标软件模块为与所述任务需求对应的复用代码模块。
7.根据权利要求6所述的嵌入式设备软件更新方法,其特征在于,所述获取更新参数的步骤后,还包括:
判断所述更新参数的值是否满足预设条件;
若不满足所述预设条件,向所述测试上位机发送参数异常信号。
8.一种嵌入式设备软件更新装置,其特征在于,应用于测试上位机,所述装置包括:
获取模块,用于获取任务需求和与所述任务需求对应的待更新设备;
确定模块,用于确定与所述任务需求和所述待更新设备对应的协议配置方案,并将所述协议配置方案发送至所述待更新设备;
生成模块,用于获取用户发送的用户指令,并根据所述用户指令、所述协议配置方案、原始通信协议生成软件更新指令;其中,所述原始通信协议为根据协议数据库中数据种类确定的协议,所述协议数据库中至少包含两种嵌入式通信协议;
发送模块,用于将所述软件更新指令发送至所述待更新设备,以更新所述待更新设备中的软件。
9.一种嵌入式设备软件更新装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的嵌入式设备软件更新方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的嵌入式设备软件更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211412092.5A CN115658123A (zh) | 2022-11-11 | 2022-11-11 | 一种嵌入式设备软件更新方法、装置、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211412092.5A CN115658123A (zh) | 2022-11-11 | 2022-11-11 | 一种嵌入式设备软件更新方法、装置、介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658123A true CN115658123A (zh) | 2023-01-31 |
Family
ID=85020940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211412092.5A Pending CN115658123A (zh) | 2022-11-11 | 2022-11-11 | 一种嵌入式设备软件更新方法、装置、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658123A (zh) |
-
2022
- 2022-11-11 CN CN202211412092.5A patent/CN115658123A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190258460A1 (en) | Method and system for generating a software component | |
JP2008293488A (ja) | Plcのシミュレーション装置 | |
CN112541310B (zh) | 逻辑综合控制方法及装置 | |
CN110930131A (zh) | 一种车辆维修方法、装置、设备及介质 | |
CN111309734B (zh) | 自动生成表数据的方法及系统 | |
CN113835643B (zh) | 数据存储方法、装置、电子设备及可读存储介质 | |
CN112328305B (zh) | 一种眼图测试方法、装置、电子设备及可读存储介质 | |
JP2017084082A (ja) | シミュレーション装置、試験シナリオファイル作成方法、及び試験シナリオファイルを用いた試験方法 | |
CN112631618A (zh) | 应用程序打包方法、应用程序测试方法、终端及存储介质 | |
CN115544604A (zh) | 应用软件层模型的生成方法、生成装置与电子设备 | |
CN111291443B (zh) | 整车控制器软件的i/o模块模型自动生成方法、装置及设备 | |
CN111290802A (zh) | Bmc内部设备的信息解析方法、装置及可读存储介质 | |
US11126408B2 (en) | Incremental code generation method | |
CN102193860B (zh) | 微控制器在线调试电路及方法、微控制器 | |
CN110765008B (zh) | 一种数据处理方法及装置 | |
CN112667442A (zh) | 基于非易失内存器件启动系统的控制方法、装置及设备 | |
CN111295658B (zh) | 模拟装置、模拟方法和计算机能读取的存储介质 | |
CN115658123A (zh) | 一种嵌入式设备软件更新方法、装置、介质 | |
CN116775061A (zh) | 微服务应用的部署方法、装置、设备及存储介质 | |
CN111813702B (zh) | 调试系统、调试方法、设备及计算机可读存储介质 | |
CN114297088A (zh) | 前端vue框架组件的测试方法、装置、设备及介质 | |
CN112885403A (zh) | 一种Flash控制器的功能测试方法、装置及设备 | |
CN113849229A (zh) | 服务器开机方法、装置、电子设备及可读存储介质 | |
US20030110415A1 (en) | System and method for creating a customized Power On Self Test (POST) program for use in a computing system | |
CN111930387A (zh) | 一种集成包的集成方法及装置、电子设备和存储介质 |
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 |