一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

处理器的数据烧录方法、设备及存储介质与流程

2023-01-15 08:34:13 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种处理器的数据烧录方法、设备及存储介质。


背景技术:

2.目前,电子设备一般由处理器控制,比如mcu(micro controller unit,微控制单元),mcu又称为单片微型计算机或者单片机,是一种芯片级的处理器。mcu产品中烧录有引导程序和应用程序,引导程序负责应用程序的启动和刷新,应用程序负责实现产品的实际功能,在mcu产品的开发时期,在对应用程序进行多次调试和升级之后,需要重新烧录应用程序。
3.由于,重新烧录应用程序需要运行引导程序,若烧录时正在运行的程序为应用程序,则是需要开发者操作开发板上的reset按钮,以使开发板上运行的程序由应用程序切换为引导程序,这降低了烧录的效率,增加了开发人员操作的繁琐度,也不利于开发者进行大规模的烧录测试。


技术实现要素:

4.本技术的主要目的在于提供一种处理器的数据烧录方法、设备及存储介质,旨在运用算法识别烧录请求信号,进而自动复位处理器,实现引导程序与应用程序间的切换,在简化烧录操作流程、提高烧录效率的同时,提高了用户体验。
5.第一方面,本技术提供一种处理器的数据烧录方法,所述处理器的数据烧录方法包括以下步骤:获取串口接收缓冲区内的第一字节数据;获取烧录信号数据;根据所述烧录信号数据对所述第一字节数据进行校验;基于校验结果,判断所述串口接收缓冲区内的数据是否为烧录信号数据;若所述串口接收缓冲区内的数据为所述烧录信号数据,则控制所述处理器复位,并执行数据烧录。
6.第二方面,本技术还提供一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述的计算机程序并在执行所述的计算机程序时实现本技术实施例提供的任一项所述的处理器的数据烧录方法。
7.第三方面,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现本技术实施例提供的任一项所述的处理器的数据烧录方法。
8.本技术提供一种处理器的数据烧录方法、设备及计算机可读存储介质,本技术获取串口接收缓冲区内的第一字节数据;获取烧录信号数据;根据所述烧录信号数据对所述
第一字节数据进行校验;基于校验结果,判断所述串口接收缓冲区内的数据是否为烧录信号数据;若所述串口接收缓冲区内的数据为所述烧录信号数据,则控制所述处理器复位,并执行数据烧录。运用算法识别烧录请求信号,进而自动复位处理器,实现引导程序与应用程序间的切换,在简化烧录操作流程、提高烧录效率的同时,提高了用户体验。
附图说明
9.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
10.图1是本技术实施例提供的一种处理器的数据烧录方法的流程示意图;图2是本技术实施例提供的又一种处理器的数据烧录方法的流程示意图;图3是本技术实施例提供的一种处理器的烧录信号的示意图;图4是本技术实施例提供的另一种处理器的数据烧录方法的流程示意图;图5是本技术一实施例提供的一种计算机设备的示意性框图。
具体实施方式
11.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
12.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
13.在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
14.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
15.请参阅图1,图1是本技术实施例提供的一种处理器的数据烧录方法的示意流程图。
16.当用户发出调用烧录工具开发板的命令后,烧录工具会通过串口向开发板传递准备烧录的信号。若此时开发板运行的程序为引导程序,引导程序会在接收到这个信号后,通过串口向烧录工具发送已准备好进行烧录的信号,烧录工具收到信号后,向开发板发送应用程序数据包,进行数据烧录工作。
17.若此时开发板运行的程序为应用程序,应用程序在接收到这个信号后,并不能执行数据烧录工作,需要将运行权限交给引导程序;烧录工具在预设时间内未收到已准备好进行烧录的信号,则会再次通过串口向开发板传递准备烧录的信号,此时开发板运行的程序已切换为引导程序,引导程序会在接收到这个信号后,通过串口向烧录工具发送已准备好进行烧录的信号,烧录工具收到信号后,向开发板发送应用程序数据包,进行数据烧录工作。
18.请参阅图2,图2是本技术实施例提供的又一种处理器的数据烧录方法的示意流程图。其中,该处理器的数据烧录方法可以通过获取串口接收缓冲区内的第一字节数据;获取烧录信号数据;根据所述烧录信号数据对所述第一字节数据进行校验;基于校验结果,判断所述串口接收缓冲区内的数据是否为烧录信号数据;若所述串口接收缓冲区内的数据为所述烧录信号数据,则控制所述处理器复位,并执行数据烧录。运用算法识别烧录请求信号,进而自动复位处理器,实现引导程序与应用程序间的切换,在简化烧录操作流程、提高烧录效率的同时,提高了用户体验。
19.如图2所示,该处理器的数据烧录方法包括步骤s101至步骤s105。
20.s101、获取串口接收缓冲区内的第一字节数据。
21.其中,串口接收缓冲区是串口内用于接收数据的缓冲空间。
22.需要说明的是,串口是串行接口的简称,也称串行通信接口或串行通讯接口,是指数据一位一位地顺序传送,其特点在于串口是按位(bit)发送和接收字节的。串口使用时,一般包含两个缓冲区,即发送缓冲区和接收缓冲区。发送数据时,先将数据存在发送缓冲区,然后通过串口发送;接收数据时,先将接收的数据存在接收缓冲区,然后再进行读取。由于串口通信模式的局限性需要缓冲空间对数据的接收进行缓冲,以保证数据的完整性。
23.第一字节数据是串口接收缓冲区内的一个字节的数据,应理解,第一字节数据的数据位置在串口接收缓冲区内位于顺序传送的首位。
24.具体地,获取串口接收缓冲区内的一个字节的数据作为第一字节数据,用于与烧录信号数据进行校验。
25.在一些实施例中,所述获取串口接收缓冲区内的第一字节数据,包括:通过中断接收函数接收所述串口接收缓冲区的信号;若所述中断接收函数接收到所述串口接收缓冲区发出中断信号,调用中断处理函数,其中,所述中断信号为所述串口接收缓冲区非空时产生的信号;通过所述中断处理函数访问所述串口接收缓冲区,获取所述第一字节数据。
26.具体地,当串口接收缓冲区内存在数据时,就会产生中断信号,当中断接收函数接收到中断信号时,调动中断处理函数访问串口接收缓冲区,进而获取串口接收缓冲区内的第一字节数据。
27.应理解,由于中断处理函数每次只获取一个字节的数据,所以在串口接收缓冲区内的数据被中断处理函数全部获取之前,串口接收缓冲区一直保持非空状态,每间隔一段时间,就会产生一次中断信号。
28.在一些实施例中,所述处理器的烧录方法还包括:将所述第一字节数据存入第一变量中。
29.具体地,中断函数获取到第一字节数据后,将数据暂存到第一变量中,为后续识别第一字节数据是否为烧录信号数据做准备。
30.s102、获取烧录信号数据。
31.具体地,为了校验串口接收缓冲区内的数据是否为烧录信号数据,需要获取烧录工具发送的烧录信号对应的数据,作为烧录信号数据,其数据可以是固定的由8个字节数据组成,如图3所示,为烧录信号数据,具体包括“0
×
05、0
×
05、0
×
0a、0
×
0a、0
×
01、0
×
00、0
×
08、0
×
27”。
32.s103、根据所述烧录信号数据对所述第一字节数据进行校验。
33.具体地,为了识别烧录信号,进而复位处理器,根据烧录信号数据的数据校验第一字节数据。
34.在一些实施例中,为了得到准确的校验结果,所述根据所述烧录信号数据对所述第一字节数据进行校验之前,还包括:获取第二变量,所述第二变量用于记录字节校验连续通过的次数;基于所述第二变量确定烧录信号数据内的第二字节数据,所述第二字节数据用于对所述第一字节数据进行校验。
35.其中,第二字节数据为烧录信号数据内一个字节的数据。
36.应理解,由于烧录信号数据由8个字节数据组成,而中断处理函数一次只获取一个字节数据,只有连续8次通过校验,才能确认串口接收缓冲区内的数据为烧录信号数据,因此需要第二变量对校验连续通过的次数进行记录,由此控制处理在连续8次通过校验时进行复位。其中,根据校验的连续通过次数的不同,用于校验第一字节数据的第二字节数据也可能不相同。因此,需要根据第二变量的数值来确定当前待校验的第一字节数据对应的第二字节数据,进而得到准确地校验结果。
37.例如,当校验的连续通过二次时,第二变量为2,如图3所示,对应的第二字节数据为“0
×
0a”,若第一字节数据与第二字节数据匹配,连续通过三次,第二变量的数值为3,如图3所示,对应的第二字节数据为“0
×
0a”,此时两次校验中用于校验第一字节数据的第二字节数据相同。又例如,当校验的连续通过三次时,第二变量为3,如图3所示,对应的第二字节数据为“0
×
0a”,若第一字节数据与第二字节数据匹配,连续通过四次,第二变量的数值为4,如图3所示,对应的第二字节数据为“0
×
01”,此时两次校验中用于校验第一字节数据的第二字节数据不相同。
38.在一些实施例中,为了对第一字节数据进行准确地校验,所述基于所述第二变量确定烧录信号数据内的第二字节数据,包括:获取所述第二变量的数值;将所述第二变量的数值增加1,得到顺序数字;基于所述顺序数字,获取烧录信号内对应位置的字节数据,作为所述第二字节数据。
39.具体地,第二变量的数值表示字节校验连续通过的次数,随着第二变量的数值增加,用于校验第一字节数据的第二字节数据在烧录信号数据中的位置也随之变化,第二变量的数值增加1即为第二字节数据的字节在烧录信号数据内的顺序数字,根据顺序数字查找烧录信号内对应位置的字节数据,作为第二字节数据。
40.例如,第二变量的数值为1时,已经通过一次校验,现在进行第二次校验,第二变量的数值增加1,得到第二字节数据的字节在烧录信号数据内的顺序数字为2,如图3所示,烧录信号数据内顺序数字为2的字节数据为“0
×
05”,则第二字节数据为“0
×
05”。
41.在一些实施例中,所述根据所述烧录信号数据对所述第一字节数据进行校验,包括:若所述第一字节数据与所述第二字节数据匹配,则校验通过,所述第二变量的数值增加1;若所述第一字节数据与所述第二字节数据不匹配,则校验未通过,所述第二变量的数值重置为0。
42.具体地,若第一字节数据与第二字节数据相同,则匹配,校验通过,第二变量的数值增加1,若第一字节数据与第二字节数据不相同,则不匹配,校验不通过,第二变量的数值重置为0。
43.应理解,由于第二变量用于记录校验连续通过的次数,当第一字节数据与第二字
节数据不匹配时,即不再符合连续通过校验的要求,第二变量的数值重置为0。
44.例如,当第二变量为1时,已经通过一次校验,现在进行第二次校验,此时第二字节数据为“0
×
05”,若第一字节数据的数据也为“0
×
05”,与第二字节数据相同,则第一字节数据与第二字节数据匹配,则校验通过,第二变量的数值增加1,第二变量的数值变成2。
45.又例如,当第二变量为1时,已经通过一次校验,现在进行第二次校验,此时第二字节数据为“0
×
05”,若第一字节数据的数据为“0
×
0a”,与第二字节数据不相同,则第一字节数据与第二字节数据不匹配,则校验未通过,第二变量的数值重置为0。
46.s104、基于校验结果,判断所述串口接收缓冲区内的数据是否为烧录信号数据。
47.具体地,根据烧录信号数据对第一字节数据进行校验,当第一字节数据与烧录信号的数据匹配,则字节与烧录信号匹配,且第二变量的数值满足预设条件,则串口接收缓冲区内的数据为烧录信号数据;否则串口接收缓冲区内的数据不是烧录信号数据。
48.在一些实施例中,所述基于校验结果,判断所述串口接收缓冲区内的数据是否为烧录信号数据,包括:当所述第二变量的数值等于8时,所述串口接收缓冲区内的数据为烧录信号数据。
49.具体地,将串口接收缓冲区内的数据分多次与烧录信号数据进行校验,只有当连续8次通过校验,才能确认串口接收缓冲区内的数据为烧录信号数据。由于第二变量用于记录校验连续通过的次数,若第二变量的数值等于8,则已连续8次通过校验,可以确定串口接收缓冲区内的数据为烧录信号数据;若第二变量的数值小于8,且串口接收缓冲区不再产生中断信号,则串口接收缓冲区内的数据并不是烧录信号数据。若第二变量的数值小于8,且串口接收缓冲区继续产生中断信号,则当前未校验到烧录信号数据,继续进行校验。
50.应理解,其中,校验结果满足的预设条件可以根据用户对校验的精确度要求而确定,当第二变量的数值等于8时,确定串口接收缓冲区内的数据为烧录信号数据只是一种实施例。由于烧录工具在预设时间内未收到已准备好进行烧录的信号,则会再次通过串口向开发板传递准备烧录的信号,为了提高校验的精确度,也可以将预设条件设置为在预设时间段内第二变量的数值多次等于8,在此不做限定。
51.s105、若所述串口接收缓冲区内的数据为所述烧录信号数据,则控制所述处理器复位,并执行数据烧录。
52.具体地,若串口接收缓冲区内的数据为烧录信号数据,确定烧录工具发送了烧录信号,控制处理器复位。此时开发板运行的引导程序就可以接收烧录工具发送的烧录信号,并且通过串口向烧录工具发送已准备好进行烧录的信号,烧录工具收到信号后,向开发板发送应用程序数据包,引导程序开始进行数据烧录工作。
53.在一些实施例中,所述控制处理器复位,包括:调用复位函数对所述处理器进行复位操作;基于所述复位操作,将运行程序由应用程序切换为引导程序。
54.具体地,调用复位函数将处理器进行复位,代替用户需要手动触碰开发板上的reset按钮来复位处理器,在简化烧录操作流程、提高烧录效率的同时,提高了用户体验。在复位操作之后,应用程序将运行权限交给引导程序,引导程序通过串口向烧录工具发送已准备好进行烧录的信号,即可开始烧录工作。
55.请参阅图4,图4是本技术实施例提供的另一种处理器的数据烧录方法的流程示意图。
56.在一些实施例中,由于中断处理函数每次只能获取一个字节数据,烧录信号数据的识别需要将串口接收缓冲区内的数据分多次与烧录信号数据进行校验,多次的校验流程如图4所示。
57.具体地,步骤一,基于串口接收缓冲区发出的中断信号,调用中断处理函数获取第一字节数据;步骤二,判断第一字节数据是否与对应的第二字节数据匹配,若不匹配则返回步骤一;步骤三,若匹配则,进行第二变量数值判断,若第二变量的数值等于8,则复位处理器,若第二变量的数值不等于8,则则返回步骤一。
58.例如,基于串口接收缓冲区发出的中断信号,调用中断处理函数获取第一字节数据;判断第一字节数据是否与对应的第二字节数据匹配,若第一字节数据与对应的第二字节数据不匹配,则第二变量的数值重置为0;返回步骤一,等待再次接收到串口接收缓冲区发出中断信号;当再次接收到串口接收缓冲区发出中断信号,调用中断处理函数获取新的第一字节数据;判断新的第一字节数据与对应的第二字节数据是否匹配。
59.应理解,当获取到新的第一字节数据后,由于第二变量此时已重置为0,新的第一字节数据与对应的第二字节数据的顺序数据为1,此时,从烧录信号数据的第一个字节开始重新识别,如图3所示,此时对应的第二字节数据为“0
×
05”。
60.例如,基于串口接收缓冲区发出的中断信号,调用中断处理函数获取第一字节数据;判断第一字节数据是否与对应的第二字节数据匹配,若第一字节数据与对应的第二字节数据匹配,则第二变量的数值加1;判断第二变量的数值是否等于8;若第二变量的数值不等于8,返回步骤一,等待串口接收缓冲区再次发出中断信号;当再次接收到串口接收缓冲区发出中断信号,调用中断处理函数获取新的第一字节数据;判断新的第一字节数据与对应的第二字节数据是否匹配。
61.应理解,随着第二变量数值的加1,对烧录信号数据的校验进度增加。例如,当第二变量的数值为3时,如图3所示,对应的第二字节数据为“0
×
0a”,若第一字节数据与第二字节数据匹配,第二变量的数值增加1,第二变量的数值为4,如图3所示,对应的第二字节数据为“0
×
01”。
62.在一些实施例中,获取第一字节数据,判断第一字节数据是否与对应的第二字节数据匹配,若第一字节数据是否与对应的第二字节数据匹配,则第二变量的数值加1,此时判断第二变量的数值是否等于8,若第二变量的数值等于8,则已连续8次通过校验,确定串口接收缓冲区内的数据为烧录信号数据,复位处理器。
63.应理解,在第二变量的数值等于8之前,会不断重复此过程,多次获取串口接收缓冲区内的第一字节数据,并进行校验,直到第二变量的数值等于8时,复位处理器,实现引导程序与应用程序间的切换。提高了烧录信号识别的准确性,在简化烧录操作流程、提高烧录效率的同时,提高了用户体验。
64.示例性的,上述的方法可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
65.请参阅图5,图5是本技术实施例提供的一种计算机设备的示意图。该计算机设备可以是终端设备,比如为手机、平板电脑或可穿戴设备等。
66.如图5所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括易失性存储介质、非易失性存储介质和内存储器。
67.非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种处理器的数据烧录方法。
68.处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
69.内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种处理器的数据烧录方法。
70.该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,该计算机设备的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
71.应当理解的是,处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
72.其中,在一些实施方式中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:获取串口接收缓冲区内的第一字节数据;获取烧录信号数据;根据所述烧录信号数据对所述第一字节数据进行校验;基于校验结果,判断所述串口接收缓冲区内的数据是否为烧录信号数据;若所述串口接收缓冲区内的数据为所述烧录信号数据,则控制所述处理器复位,并执行数据烧录。
73.在一些实施例中,所述处理器还用于:通过中断接收函数接收所述串口接收缓冲区的信号;若所述中断接收函数接收到所述串口接收缓冲区发出中断信号,调用中断处理函数,其中,所述中断信号为所述串口接收缓冲区非空时产生的信号;通过所述中断处理函数访问所述串口接收缓冲区,获取所述第一字节数据。
74.在一些实施例中,所述处理器还用于:将所述第一字节数据存入第一变量中。
75.在一些实施例中,所述处理器还用于:获取第二变量,所述第二变量用于记录字节校验连续通过的次数;基于所述第二变量确定烧录信号数据内的第二字节数据,所述第二字节数据用于对所述第一字节数据进行校验。
76.在一些实施例中,所述处理器还用于:获取所述第二变量的数值;将所述第二变量的数值增加1,得到顺序数字;基于所述顺序数字,获取烧录信号内对应位置的字节数据,作为所述第二字节数据。
77.在一些实施例中,所述处理器还用于:若所述第一字节数据与所述第二字节数据匹配,则校验通过,所述第二变量的数值增加1;若所述第一字节数据与所述第二字节数据不匹配,则校验未通过,所述第二变量的数值重置为0。
78.在一些实施例中,所述处理器还用于:当所述第二变量的数值等于8时,所述串口接收缓冲区内的数据为烧录信号数据。
79.在一些实施例中,所述处理器还用于:调用复位函数对所述处理器进行复位操作;基于所述复位操作,将运行程序由应用程序切换为引导程序。
80.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时实现本技术实施例提供的任一种处理器的数据烧录方法。
81.其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
82.进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
83.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献