一种在线升级程序的方法和电子设备
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的在线升级程序的方法进行详细地说明。
如图1所示,为本申请实施例提供的一种在线升级程序的方法流程图,该方法应用于具有转接板和目标板的电子设备,该方法包括以下步骤:
步骤101,转接板接收来自主机的第一数据包,向目标板发送第二数据包。
步骤102,目标板控制MCU复位并切换到引导模式。
步骤103,转接板向目标板发送代码校验信息,目标板保存代码校验信息。
步骤104,转接板向目标板发送代码长度信息,目标板保存代码长度信息,并通过转接板向主机发送目标板链接状态信息。
步骤105,转接板接收来自主机的代码升级数据包,并将该代码升级数据包发送给目标板。
步骤106,目标板根据代码升级数据包、代码校验信息和代码长度信息,对目标存储区执行写操作。
步骤107,在升级成功后,目标板控制MCU复位并切换到工作模式,锁定目标存储区,并通过转接板向主机发送升级成功信息。
本申请实施例通过转接板向目标板发送代码升级数据包、代码校验信息和代码长度信息,从而实现对目标板上的MCU中的用户程序进行在线升级,提升了在线升级的便利性。
如图2所示,为本申请实施例提供的一种在线升级程序的实现方式流程图,包括以下步骤:
步骤201,主机打开串口,设置串口号和串口波特率。
步骤202,主机生成第一数据包,并通过串口将第一数据包发送给转接板。
其中,第一数据包包括同步头、代码标识信息、代码校验信息和代码长度信息。例如,同步头为0X12345678。
步骤203,转接板向目标板发送第二数据包。
其中,第二数据包可以为命令目标板的MCU进入引导模式的命令包。
步骤204,目标板解除写保护,控制MCU复位并切换到引导模式。
步骤205,转接板向目标板发送第三数据包,该第三数据包包括代码校验信息。
其中,代码校验信息可以是代码的校验和。
步骤206,目标板保存代码校验信息。
步骤207,转接板向目标板发送第四数据包,该第四数据包包括代码长度信息。
步骤208,目标板保存代码长度信息,解锁并擦除目标存储区,向转接板发送状态信息。
步骤209,转接板向主机发送目标板链接状态信息,主机根据目标板连接状态信息,显示相应的内容。
步骤210,在主机链接目标板成功后,主机通过转接板向目标板发送代码升级数据包。
步骤211,目标板根据代码升级数据包,对目标存储区执行写操作,并通过转接板向主机返回升级状态信息。
步骤212,主机根据升级状态信息,显示相应的内容。
本申请实施例通过转接板向目标板发送代码升级数据包、代码校验信息和代码长度信息,从而实现对目标板上的MCU中的用户程序进行在线升级,提升了在线升级的便利性。
如图3所示,为本申请实施例提供的一种在目标板上实现在线升级程序的实现方式流程图,包括以下步骤:
步骤301,目标板从代码升级数据包中读取预设长度的升级数据。
其中,预设长度的升级数据可以为8个字节的升级数据。
步骤302,目标板将预设长度的升级数据进行合并,并根据合并得到的升级数据,对目标存储区执行写操作。
具体地,目标板可以将8个字节的升级数据合并成64位数据,并将64位数据写入到目标存储区。
步骤303,目标板对接收到的升级代码的校验和进行更新,对接收到的升级代码的长度进行更新。
步骤304,目标板判断接收到的升级代码的长度是否等于预先保存的代码长度信息,如果是,则执行步骤306;否则,执行步骤305。
步骤305,目标板对写入到目标存储区中的代码的校验和进行更新。
步骤306,目标板对接收到的升级代码的校验和进行更新。
步骤307,目标板判断写入到目标存储区中的代码的校验和是否等于预先保存的代码校验信息,如果是,则执行步骤308;否则,执行步骤309。
步骤308,目标板控制MCU复位并切换到工作模式,锁定目标存储区,并通过转接板向主机发送升级成功信息。
步骤309,目标板锁定目标存储区,并通过转接板向主机发送升级失败信息。
本申请实施例通过转接板向目标板发送代码升级数据包、代码校验信息和代码长度信息,从而实现对目标板上的MCU中的用户程序进行在线升级,提升了在线升级的便利性。
本申请实施方式的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
如图4所示,为本申请实施例提供的一种电子设备的结构示意图,包括转接板410和目标板420;
其中,转接板410,用于接收来自主机的第一数据包,向目标板420发送第二数据包;
其中,第一数据包包括同步头、代码标识信息、代码校验信息和代码长度信息。第二数据包为命令目标板420的MCU进入引导模式的命令包。
目标板420,用于控制MCU复位并切换到引导模式;
转接板410,还用于向目标板420发送代码校验信息;
目标板420,还用于保存所述代码校验信息;
转接板410,还用于向目标板420发送代码长度信息;
目标板420,还用于保存所述代码长度信息,并通过所述转接板410向所述主机发送目标板链接状态信息;
所述转接板410,还用于接收来自所述主机的代码升级数据包,并将所述代码升级数据包发送给所述目标板420;
所述目标板420,还用于根据所述代码升级数据包、所述代码校验信息和所述代码长度信息,对目标存储区执行写操作;并在升级成功后,控制MCU复位并切换到工作模式,锁定所述目标存储区,并通过所述转接板410向所述主机发送升级成功信息。
具体地,目标板420,具体用于从所述代码升级数据包中读取预设长度的升级数据;将所述预设长度的升级数据进行合并,并根据合并得到的升级数据,对所述目标存储区执行写操作;对接收到的升级代码的校验和进行更新,对接收到的升级代码的长度进行更新;在接收到的升级代码的长度等于预先保存的代码长度信息的情况下,对写入到目标存储区中的代码的校验和进行更新,对接收到的升级代码的校验和进行更新;在写入到目标存储区中的代码的校验和等于预先保存的代码校验信息的情况下,确定升级成功。
本申请实施例通过转接板向目标板发送代码升级数据包、代码校验信息和代码长度信息,从而实现对目标板上的MCU中的用户程序进行在线升级,提升了在线升级的便利性。
本申请实施例中的电子设备可以是终端,也可以是终端中的一个部件或一个芯片。该电子设备可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,非移动电子设备可以为服务器、个人计算机(personalcomputer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的电子设备可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的电子设备能够实现图1至图3的方法实施例中电子设备实现的各个过程,为避免重复,这里不再赘述。
本申请实施例通过转接板向目标板发送代码升级数据包、代码校验信息和代码长度信息,从而实现对目标板上的MCU中的用户程序进行在线升级,提升了在线升级的便利性。
可选的,本申请实施例还提供一种电子设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的程序,该程序被处理器执行时实现上述在线升级程序的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述在线升级程序的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种半导体测试程序阈值更新的方法及系统