空调外机的程序升级方法、装置、设备及可读存储介质与流程

文档序号:31999822发布日期:2022-11-02 10:41阅读:44来源:国知局
空调外机的程序升级方法、装置、设备及可读存储介质与流程

1.本技术实施例涉及程序升级技术领域,具体涉及一种空调外机的程序升级方法、装置、设备及可读存储介质(计算机可读存储介质)。


背景技术:

2.空调外机驱动是空调系统的核心部分,负责压缩机和风机的频率稳定输出。空调外机驱动程序包括eeprom程序和dsp驱动程序,eeprom主要存储的是的掉电之后不会擦除的设置参数。
3.对于空调外机驱动程序的升级优化是时常存在的。然而,目前空调外机驱动程序的升级需要拆开整机来烧写程序,升级效率低,而通过在线升级的方式,由于驱动板的存储空间小,容易出现异常。


技术实现要素:

4.本技术实施例提供一种空调外机的程序升级方法、装置、设备及可读存储介质,直接解决现有的空调外机的程序升级存在的效率低,容易出现异常的问题。
5.一方面,本技术实施例提供一种空调外机的程序升级方法,应用于空调器的外机驱动板上,所述外机驱动板与上位机和外部闪存器通讯连接;
6.所述方法包括:
7.接收所述上位机传输的帧数据,并根据所述帧数据对应的程序类型,将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中;
8.若接收到所述上位机传输的升级标志位,则根据所述升级标志位确定待升级的目标程序,并提取所述外部闪存器中与所述目标程序对应的第一存储扇区中的数据,得到程序升级文件;
9.根据所述程序升级文件对内部闪存器中的预设程序文件进行更新。
10.作为本技术的一种可选实施例,所述根据所述程序升级文件对内部闪存器中的预设程序文件进行更新,包括:
11.根据所述目标程序确定内部闪存器中对应所述目标程序的第二存储扇区;
12.擦除所述第二存储扇区中的预设程序文件,并将所述程序升级文件写入所述第二存储扇区。
13.作为本技术的一种可选实施例,所述根据所述帧数据对应的程序类型,将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中之前,所述方法还包括:
14.将接收到的帧数据缓存在预设的临时存储空间;
15.对缓存的所述帧数据进行校验;
16.若所述帧数据校验无误,则擦除所述临时存储空间中缓存的帧数据,并执行所述根据所述帧数据对应的程序类型,将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中的步骤。
17.作为本技术的一种可选实施例,所述根据所述帧数据对应的程序类型,将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中,包括:
18.获取所述帧数据对应的数据类型;
19.若所述数据类型为参数数据,则根据所述外部闪存器中与所述帧数据的参数类型对应的存储地址以及预设地址偏移量,确定目标存储地址,并将所述帧数据写入至所述目标存储地址;
20.若所述数据类型为程序升级数据,则根据所述帧数据对应的程序类型,将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中。
21.作为本技术的一种可选实施例,所述根据所述外部闪存器中与所述帧数据的参数类型对应的存储地址以及预设地址偏移量,确定目标存储地址之前,所述方法包括:
22.查询预设索引表,获取所述外部闪存器中与所述帧数据的参数类型对应的存储地址;
23.所述将所述帧数据写入至所述目标存储地址之后,所述方法包括:
24.根据所述目标存储地址对所述预设索引表进行更新。
25.作为本技术的一种可选实施例,所述根据所述程序升级文件对内部闪存器中的预设程序文件进行更新,包括:
26.若所述程序升级文件包括eeprom程序升级文件,则根据所述eeprom 程序升级文件对内部闪存器中的预设eeprom程序文件进行更新。
27.作为本技术的一种可选实施例,所述接收所述上位机传输的帧数据,并根据所述帧数据对应的程序类型,将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中,包括:
28.基于485通讯协议接收所述上位机传输的帧数据;
29.根据所述帧数据对应的程序类型,并基于spi通讯协议将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中。
30.另一方面,本技术实施例还提供一种空调外机的程序升级装置,设置于空调器的外机驱动板上,所述外机驱动板与上位机和外部闪存器通讯连接;
31.所述装置包括:
32.存储模块,用于接收所述上位机传输的帧数据,并根据所述帧数据对应的程序类型,将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中;
33.提取模块,用于若接收到所述上位机传输的升级标志位,则根据所述升级标志位确定待升级的目标程序,并提取所述外部闪存器中与所述目标程序对应的第一存储扇区中的数据,得到程序升级文件;
34.升级模块,用于根据所述程序升级文件对内部闪存器中的预设程序文件进行更新。
35.另一方面,本技术实施例还提供一种电子设备,所述电子设备包括处理器、存储器以及存储于所述存储器中并可在所述处理器上运行的程序升级程序,所述处理器执行所述程序升级程序以实现上述的程序升级方法中的步骤。
36.另一方面,本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有程序升级程序,所述程序升级程序被处理器执行以实现上述的程序升级方法中的步骤。
37.本技术提供的空调外机的程序升级方法,通过设置与外机驱动板通讯连接的外部闪存器,并将接收到的上位机的数据发送至外部闪存器进行存储,然后在上位机传输升级标志位后,根据升级标志位确定需要升级的程序,并提取外部闪存器中相应扇区的数据,得到程序升级文件以完成对驱动板内部闪存器中的程序文件的升级更新。通过本技术实施例提供的程序升级方法,能够实现程序的在线升级,提高了升级效率,同时引入外部闪存器存储程序升级文件,避免了因驱动板内部存储空间小而导致的升级异常等问题。
附图说明
38.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1为本技术实施例提供的一种空调外机的程序升级的实现场景示意图;
40.图2为本技术实施例提供的一种空调外机的程序升级方法的步骤流程示意图;
41.图3为本技术实施例提供的一种对内部闪存器中的预设程序文件进行升级更新的步骤流程示意图;
42.图4为本技术实施例提供的一种对接收的帧数据进行校验的步骤流程示意图;
43.图5为本技术实施例提供的一种基于数据类型写入帧数据的步骤流程示意图;
44.图6为本技术实施例提供的一种基于索引表存储帧数据的步骤流程示意图;
45.图7为本技术实施例提供的一种基于不同协议完成数据传输的步骤流程示意图;
46.图8为本技术实施例提供的一种空调外机的程序升级装置的结构示意图;
47.图9为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
48.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明包含的范围。
49.在本技术实施例中,“示例性”一词用来表示“用作例子、例证或说明”。本技术实施例中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本技术实施例所公开的原理和特征的最广范围相一致。
50.本技术实施例中提供一种空调外机的程序升级方法、装置、设备及可读存储介质,以下分别进行详细说明。
51.本技术实施例中程序升级方法是以程序的形式部署在程序升级装置上,程序升级装置是以处理器的形式安装在空调器的外机驱动板中,空调器的外机驱动板中的程序升级
装置通过运行程序升级方法对应的程序,以执行如下步骤:接收上位机传输的帧数据,并根据帧数据对应的程序类型,将帧数据写入至外部闪存器中与程序类型对应的存储扇区中;若接收到上位机传输的升级标志位,则根据升级标志位确定待升级的目标程序,并提取外部闪存器中与目标程序对应的第一存储扇区中的数据,得到程序升级文件;根据程序升级文件对内部闪存器中的预设程序文件进行更新。
52.如图1所示,图1为本技术实施例提供的一种空调外机的程序升级的实现场景示意图,也可以理解为一种空调外机的程序升级系统的架构图。本技术实施例中空调外机的程序升级的实现场景示意图包括上位机100、外机控制板200、外机驱动板300以及外部闪存器400,其中,上位机100通过外机控制板200将帧数据传输给外机驱动板300,并存入外部闪存器400中,而外机驱动板300通过执行对应的计算机存储介质,以执行对外机驱动板的内部闪存器中的程序升级的步骤。
53.本技术实施例中的外机驱动板300主要用于:
54.接收上位机传输的帧数据,并根据帧数据对应的程序类型,将帧数据写入至外部闪存器中与程序类型对应的存储扇区中;
55.若接收到上位机传输的升级标志位,则根据升级标志位确定待升级的目标程序,并提取外部闪存器中与目标程序对应的第一存储扇区中的数据,得到程序升级文件;
56.根据程序升级文件对内部闪存器中的预设程序文件进行更新。
57.需要说明的是,图1所示的空调外机的程序升级的实现场景示意图仅仅是一个示例,本技术实施例描述的程序升级的场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对本技术实施例提供的技术方案的限定。
58.基于上述程序升级方法的场景,提出本技术所公开的程序升级方法的各个实施例。
59.如图2所示,图2为本技术实施例提供的一种空调外机的程序升级方法的步骤流程示意图,本技术实施例中程序升级方法包括步骤201~203:
60.201,接收所述上位机传输的帧数据,并根据所述帧数据对应的程序类型,将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中。
61.本技术实施例中,上位机100会通过外机控制板200将帧数据传输给外机驱动板300,并在接收到帧数据后,将帧数据发送给外部闪存器,以实现在外部闪存器上的存储。具体的,考虑到存储空间的限制,这里的帧数据采用半双工模式进行传输,一问一答,这样虽然会增加传输的时长,但是能够有效保证传输的稳定性,在外机驱动板处于正常工作状态仍能实现数据的传输。进一步的,数据是采用分包形式进行传输,例如,帧数据的大小可以设置为1kb,即每次传输1kb数据,直至完成全部数据的传输。
62.本技术实施例中,外机驱动板在接收到帧数据后,会根据帧数据对应的程序类型,将数据写入到外部闪存器对应的存储扇区当中。具体的,以外机驱动板中一般需要升级的程序包括dsp(digital signal processing,数字信号处理) 程序和eeprom(electrically erasable programmable read only memory,带电可擦可编程只读存储器)程序为例,此时,可以将外部闪存器划分为若干的扇区分别对应dsp程序和eeprom程序。例如,作为本技术的一种可行实施例,可以采用1m大小且4kb对齐方式的外部闪存器,此时,扇区的划分需要以4的倍数进行,即可以划分第一块128kb(0x00000-0x20000)的扇区来存放dsp程序升级
相关的数据,第二块128kb(0x20000-0x40000)的扇区用来存放标志位,例如程序更新的标志位,程序更新的校验码等等,而第三块768kb (0x40000-0x100000)的扇区用来存放eeprom程序升级相关的数据。当然,上述扇区划分的方式仅仅为一种可行实现方案,事实上,用户可以根据自己的实际需求对外部闪存器进行扇区划分,从而得到对应不同程序类型的扇区,以便于接收到上位机通过外机驱动板发送的帧数据后,根据帧数据对应的程序类型将帧数据存入到对应的扇区当中。
63.此外,需要说明的是,由于本技术实施例提供的技术方案是以外部闪存器器的方式来替代驱动板中内置eeprom芯片的形式,从而完成对程序 (eeprom程序)的升级,而内置eeprom芯片还会用于储存一些压机、风机断电后需要保存的eeprom参数数据,因此,外部闪存器除了接收并存储用于外机驱动板中内置程序升级的数据外,同样也会行使内置eeprom芯片的功能,即接收并存储一些压机、风机断电后需要保存的eeprom参数数据。然而,相较于eeprom芯片,外部闪存器的擦除寿命较少,常规的eeprom芯片可以达到100万次的擦除寿命,而外部闪存器一般仅有10万次的擦除寿命,这样由于外部闪存器中存储的eeprom参数数据的修改,会影响到外部闪存器的使用寿命,从而影响空调整机的使用寿命。为了解决上述问题,本技术实施例还采用了另一种方式来实现对eeprom参数的存储,以保证外部闪存器的使用寿命。
64.为更好实现对帧数据的传输,可以在外机控制板和外机驱动板的随机存取存储器(random access memory,ram)上开拓至少1kb的存储空间,作为临时数据存储,以便于实现对帧数据的检验,即外机控制板、外机驱动板以及外部闪存器接收到数据后,都可以通过校验码对帧数据进行校验,以判断接收到的数据是否正确,从而避免后续程序升级异常。进一步的,上位机和外机驱动板以及外部闪存器之间可以是按照设定好的通讯协议进行通讯。
65.202,若接收到所述上位机传输的升级标志位,则根据所述升级标志位确定待升级的目标程序,并提取所述外部闪存器中与所述目标程序对应的第一存储扇区中的数据,得到程序升级文件。
66.本技术实施例中,若外机驱动板接收到了上位机传输的升级标志位,则表明上位机通知外机驱动板需要进行程序升级。具体的,以前述提供的外部闪存器的划分方式为例,外机驱动板会将上位机传输的升级标志位发送给外部闪存器,此时,外部闪存器会更新第二扇区内相应的标志位以确定待升级的目标程序。例如,若dsp程序需要升级,则外机驱动板会提取外部闪存器中第一扇区的数据以得到与dsp程序相关的程序升级文件,若eeprom程序需要升级,则外机驱动板会提取外部闪存器中第三扇区内的数据以得到与eeprom程序相关的程序升级文件。
67.具体的,外机驱动板是通过固化在内部闪存器当中的引导(bootloader) 程序来实现前述步骤。即,当接收到上位机传输的升级标志位后,外机驱动板启动引导程序,并完成对程序升级文件的提取以及后续的烧录以完成对预设程序文件的更新升级。
68.此外,需要说明的是,升级标志位的传输时机可以是用户基于实际需求设定,即上位机可以预先将程序升级文件传输给外部闪存器当中进行存储,并在后续需要进行程序升级的时候,将升级标志位传输给外机驱动板,以使外机驱动板利用外部闪存器中预存的程序升级文件完成对程序的升级,升级更加安全、效率。
69.203,根据所述程序升级文件对内部闪存器中的预设程序文件进行更新。
70.本技术实施例中,对外机驱动板的程序升级是指对外机驱动板的内部闪存器当中存储的程序文件进行更新升级。具体的,结合前述相关描述可知,外机驱动板启动引导程序后,会将外部闪存器当中存储的程序升级文件烧录至内部闪存器当中,以完成对程序文件的更新升级。
71.进一步的,作为本技术的可选实施例,外机驱动板的内部闪存器当中的程序文件也可以是按照不同的程序类型写入至不同的扇区当中,以便于提高升级的效率。
72.进一步的,作为本技术的可选实施例,当存在多个待升级的目标程序,也就是包含多个程序升级文件时,会按照设定好的顺序对程序进行升级。具体的,以前述提供的dsp程序和eeprom程序为例,由于对eeprom程序的烧录是通过dsp程序间接烧录进去的,也就是说在每次烧录eeprom程序成功后,需重新烧录一次dsp程序,因此,若程序升级文件中包含eeprom程序,则会优先对eeprom程序进行更新。具体的,完整的实现方案如下:
73.基于eeprom程序升级标志位判断eeprom程序是否需要升级,若需要,则先对外部驱动板的内部闪存器的eeprom程序区域进行扇区擦除,然后从外部闪存器的第三区域提取eeprom程序升级文件,并烧录至内部闪存器的 eeprom程序区域,成功后返回成功标志位,并存入对应校验码,再基于dsp 程序升级标志位判断dsp程序是否需要升级,同理若需要,则对内部闪存器的dsp区域进行扇区擦除,然后从外部闪存器的第一区域提取dsp程序升级文件,并烧录至内部闪存器的dsp程序区域,成功后返回成功标志位,并存入对应校验码。
74.本技术提供的空调外机的程序升级方法,通过设置与外机驱动板通讯连接的外部闪存器,并将接收到的上位机的数据发送至外部闪存器进行存储,然后在上位机传输升级标志位后,根据升级标志位确定需要升级的程序,并提取外部闪存器中相应扇区的数据,得到程序升级文件以完成对驱动板内部闪存器中的程序文件的升级更新。通过本技术实施例提供的程序升级方法,能够实现程序的在线升级,提高了升级效率,同时引入外部闪存器存储程序升级文件,避免了因驱动板内部存储空间小而导致的升级异常等问题。
75.如图3所示,图3为本技术实施例提供的一种对内部闪存器中的预设程序文件进行升级更新的步骤流程示意图,具体的,包括步骤301~302:
76.301,根据所述目标程序确定内部闪存器中对应所述目标程序的第二存储扇区。
77.本技术实施例中,在外机驱动板确定待升级的目标程序后,会进一步确定其内部闪存器中存储有该目标程序的扇区信息。
78.302,擦除所述第二存储扇区中的预设程序文件,并将所述程序升级文件写入所述第二存储扇区。
79.本技术实施例中,外机驱动板在启动引导程序获取到程序升级文件后,会擦除内部闪存器中对应扇区内的初始预设程序文件,然后通过引导程序将外部闪存器当中的程序升级文件烧录至对应的扇区内,从而完成对程序的升级更新。
80.当然,在将程序升级文件写入内部闪存器相应的存储扇区后,外部闪存器当中的程序升级文件可以立即擦除,当然也可以用于备份,并在预设时间间隔后进行擦除。
81.如图4所示,图4为本技术实施例提供的一种对接收的帧数据进行校验的步骤流程示意图,具体的,包括步骤401~403:
82.401,将接收到的帧数据缓存在预设的临时存储空间。
83.本技术实施例中,外机驱动板会在rom上预先开拓至少1kb大小临时存储空间,来
实现对帧数据的传输。具体的,外部驱动板会将接收到的帧数据缓存的临时存储空间中。
84.402,对缓存的所述帧数据进行校验。
85.本技术实施例中,外部驱动板会对临时存储空间内缓存的帧数据进行校验。具体的,校验可以采用累加校验法或者其他校验方式来判断接收到的帧数据是否准确。
86.403,若所述帧数据校验无误,则擦除所述临时存储空间中缓存的帧数据,并根据所述帧数据对应的程序类型,将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中。
87.本技术实施例中,若外机驱动板校验帧数据无误,则擦除临时存储空间中的数据,并发送给外部闪存器当中,以写入相应的存储扇区当中。若校验不成功,则会返回接收不成功的标志位给上位机,以使上位机重新通过外机控制板传输帧数据给外机驱动板。
88.与之对应的,外机控制板也可以通过类似的通讯规则完成对数据的校验。为更加清楚理解本技术实施例提供的完整传输流程,下面将提供数据由上位机传输至外部闪存器中的完整实现方案,具体如下:
89.上位机发送1kb数据给外机控制板,外机控制板校验正确,接受这一帧数据,校验不成功发送接收不成功标志位给上位机,上位机重新发送数据给外机控制板,重发超过10次报升级失败;外机控制板接受上位机数据成功后,再把数据发送给外机驱动板,外机驱动板校验正确,接受这一帧有效数据,校验不成功发送接收不成功标志位给外机控制板,外机控制板重新发送数据给外机驱动板板,重发超过10次报升级失败;外机驱动板接收成功后,写入外部闪存器中的对应存储地址,写入成功后,返回一帧数据成功标志位到上位机,一帧数据传输完成,然后开始下一帧数据传输。
90.本技术实施例提供的技术方案,通过开拓临时存储空间来完成对数据的传输,同时对数据进行竹镇校验,可以有效提高数据传输的准确率,避免程序升级报错。
91.如图5所示,图5为本技术实施例提供的一种基于数据类型写入帧数据的步骤流程示意图,具体的,包括步骤501~503:
92.501,获取所述帧数据对应的数据类型。
93.本技术实施例中,结合前述相关描述可知,外部闪存器当中,除了存储有程序升级相关的数据外,还会存储有一些压机、风机断电后需要保存的参数数据,而不管是程序升级文件还是参数数据,也都是通过上位机传输得到。因此,通过获取传输的帧数据的数据类型,就可以确定所传输的帧数据为程序升级文件,或是参数数据。
94.502,若所述数据类型为参数数据,则根据所述外部闪存器中与所述帧数据的参数类型对应的存储地址以及预设地址偏移量,确定目标存储地址,并将所述帧数据写入至所述目标存储地址。
95.本技术实施例中,考虑到外部闪存器的写操作只能将数据位从1改写为0,如果想要将数据位从0改为1,则需要进行擦除操作。然而,eeprom参数数据通常都会实时更改,因此,常规对参数数据进行更新的方式需要频繁的对外部闪存器进行擦除写入,影响到外部闪存器的使用寿命,因此,对于此类数据,外部驱动板会根据外部闪存器中与帧数据的参数类型对应的存储地址以及预设地址偏移量,重新确定新的目标存储地址,并将帧数据写入新的目标存储地址,即通过合理利用外部闪存器的存储空间,达到减少擦除次数的操作。具体的,可以在外部闪存器的给定位置写入2字节的变量u16max,用u16max来记录地址偏移
量,用32kb的内存空间去分别记录16kb数据所对应的硬件地址,每次数据需要修改数据,则根据每个数据对应的硬件地址去修改,不需要改变的数据,硬件地址则不做改变,以此减少擦除次数,又可以迅速找到需要修改的数据。具体的,外部闪存器的存储空间大于内置eeprom芯片的存储空间,例如,比较常见的,利用外部闪存器的第三扇区来存储eeprom参数,此时,存储空间大小为768kb,而常规的eeprom芯片的大小为16kb,即外部闪存器的存储容量相较于原始方案的存储容量是48倍,而使用这种方式,每次写入一个字节需要使用2个字节来记录数据所在的地址,也就是存储量可以达到原来的 16倍,结合外部闪存器10万次的擦除寿命,则最终可擦除的次数提高到了160 万次,与常规使用eeprom芯片的擦除寿命相当,即不会影响到外部闪存器的使用寿命,保证了空调的使用寿命。
96.进一步的,为保证准确快读读取对应的存储地址,可以通过索引表的方式,记录不同参数类型的数据所对应的存储地址,并在每次更新数据的存储地址后,对索引表也同步进行更新。
97.503,若所述数据类型为程序升级数据,则根据所述帧数据对应的程序类型,将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中。
98.本技术实施例中,相较于频繁变化的eeprom参数数据,更新程序的次数较少,一般不超过几百次。因此,程序升级并不会显著影响到外部闪存器的使用寿命,也就是说,可以根据帧数据对应的程序类型,对对应存储扇区中的帧数据进行重复擦除写入,即可以每次都从第三次的最开始地址写入程序升级相关的帧数据,以便于后续的提取得到相应的程序升级文件。
99.本技术实施例提供的技术方案,基于帧数据的数据类型,对于不同的数据类型采用不同的方式写入外部闪存器中,对于更新频率较高的参数数据,利用外部闪存器的空间减少擦除次数,保证了外部闪存器的使用寿命,能够在保证程序升级效果的同时,避免因利用外部闪存器替换eeprom芯片而导致的空调使用寿命降低的问题。
100.如图6所示,图6为本技术实施例提供的一种基于索引表存储帧数据的步骤流程示意图,具体的,包括步骤601~602:
101.601,查询预设索引表,获取所述外部闪存器中与所述帧数据的参数类型对应的存储地址。
102.本技术实施例中,结合前述相关描述可知,为提高外部闪存器的使用寿命,会合理使用外部闪存器的存储空间来降低外部闪存器的擦除参数。即某一参数类型的数据会对应存在可变化的存储地址,为便于快读找到对应的数据,可以利用索引表来存储外部闪存器中与帧数据的参数类型对应的存储地址,即通过查询索引表,可以直接得到不同参数类型的帧数据所对应的存储地址,从而完成后续对参数数据的更新。
103.602,根据所述目标存储地址对所述预设索引表进行更新。
104.本技术实施例中,在将帧数据写入至目标存储地址后,会重新根据目标存储地址更新索引表中存储地址与参数类型的关联关系,从而便于在下次对同一参数类型的参数数据进行更新时,能够直接从索引表中读取得到该参数数据对应的存储地址,提高了数据更新的效率。
105.本技术实施例提供的技术方案通过利用索引表存储参数数据的类型与存储地址的关联关系,能够快速确定需要修改的参数的存储地址,从而进一步提高了数据更新的效
率。
106.如图7所示,图7为本技术实施例提供的一种基于不同协议完成数据传输的步骤流程示意图,详述如下。
107.本技术实施例中,具体的,包括步骤701~702:
108.701,基于485通讯协议接收所述上位机传输的帧数据。
109.本技术实施例中,上位机与外部驱动板之间可以是通过485通讯协议实现。具体的,考虑到上位机与外部驱动板之间依赖于外机控制板,事实上,上位机是通过485协议将数据传输给外机控制板,而外机控制板与外机驱动版之间可以是通过串口通讯的方式实现。
110.702,根据所述帧数据对应的程序类型,并基于spi通讯协议将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中。
111.本技术实施例中,外机驱动板和外部闪存器之间采用传输速率更快的spi 通讯协议来实现,也就是使用spi flash来作为外部闪存器。
112.为了更清楚理解本技术实施例提供的程序升级方法,下面将结合图1~图7 的内容提供一种完整的程序升级过程,详述如下。
113.外部闪存器在接收完成需要升级的程序文件后,会可以通过iap(inapplication programming,应用编程)的方式来升级相应程序。具体的,外机驱动板的内部闪存器中的引导程序,是一个已经固化在指定flash空间中的程序,不允许用户修改和擦除,在外机驱动板上电后,先运行bootloader程序,并通过外部闪存器第二区域中的程序下载标志位、程序升级标志位和校验码信息来判断是否需要下载dsp程序,需要则先对外部闪存器的第一扇区进行擦除,并下载dps程序到外部闪存器的第一区域,下载成功后返回下载成功标志,并存入对应校验码,然后判断是否需要下载eeprom程序,需要则同理对外部闪存器的第三扇区进行擦除,并下载eeprom程序到外部闪存器的第三扇区,下载成功后返回下载成功标志,存入对应校验码。
114.判断完下载程序标志,再判断升级标志。具体的,基于eeprom程序升级标志位判断eeprom程序是否需要升级,若需要,则先对外部驱动板的内部闪存器的eeprom程序区域进行扇区擦除,然后从外部闪存器的第三区域提取eeprom程序升级文件,并烧录至内部闪存器的eeprom程序区域,成功后返回成功标志位,并存入对应校验码,再基于dsp程序升级标志位判断dsp程序是否需要升级,同理若需要,则对内部闪存器的dsp区域进行扇区擦除,然后从外部闪存器的第一区域提取dsp程序升级文件,并烧录至内部闪存器的dsp 程序区域,成功后返回成功标志位,并存入对应校验码。
115.为了更好实施本技术实施例中程序升级方法,在程序升级方法基础之上,本技术实施例中还提供一种空调外机的程序升级装置。如图8所示,图8为本技术实施例提供的一种空调外机的程序升级装置的结构示意图。具体的,程序升级装置包括:
116.存储模块801,用于接收所述上位机传输的帧数据,并根据所述帧数据对应的程序类型,将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中;
117.提取模块802,用于若接收到所述上位机传输的升级标志位,则根据所述升级标志位确定待升级的目标程序,并提取所述外部闪存器中与所述目标程序对应的第一存储扇区中的数据,得到程序升级文件;
118.升级模块803,用于根据所述程序升级文件对内部闪存器中的预设程序文件进行更新。
119.作为本技术的一种可选实施例,所述根据所述程序升级文件对内部闪存器中的预设程序文件进行更新,包括:
120.根据所述目标程序确定内部闪存器中对应所述目标程序的第二存储扇区;
121.擦除所述第二存储扇区中的预设程序文件,并将所述程序升级文件写入所述第二存储扇区。
122.作为本技术的一种可选实施例,所述根据所述帧数据对应的程序类型,将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中之前,所述方法还包括:
123.将接收到的帧数据缓存在预设的临时存储空间;
124.对缓存的所述帧数据进行校验;
125.若所述帧数据校验无误,则擦除所述临时存储空间中缓存的帧数据,并执行所述根据所述帧数据对应的程序类型,将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中的步骤。
126.作为本技术的一种可选实施例,所述根据所述帧数据对应的程序类型,将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中,包括:
127.获取所述帧数据对应的数据类型;
128.若所述数据类型为参数数据,则根据所述外部闪存器中与所述帧数据的参数类型对应的存储地址以及预设地址偏移量,确定目标存储地址,并将所述帧数据写入至所述目标存储地址;
129.若所述数据类型为程序升级数据,则根据所述帧数据对应的程序类型,将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中。
130.作为本技术的一种可选实施例,所述根据所述外部闪存器中与所述帧数据的参数类型对应的存储地址以及预设地址偏移量,确定目标存储地址之前,所述方法包括:
131.查询预设索引表,获取所述外部闪存器中与所述帧数据的参数类型对应的存储地址;
132.所述将所述帧数据写入至所述目标存储地址之后,所述方法包括:
133.根据所述目标存储地址对所述预设索引表进行更新。
134.作为本技术的一种可选实施例,所述根据所述程序升级文件对内部闪存器中的预设程序文件进行更新,包括:
135.若所述程序升级文件包括eeprom程序升级文件,则根据所述eeprom 程序升级文件对内部闪存器中的预设eeprom程序文件进行更新。
136.作为本技术的一种可选实施例,所述接收所述上位机传输的帧数据,并根据所述帧数据对应的程序类型,将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中,包括:
137.基于485通讯协议接收所述上位机传输的帧数据;
138.根据所述帧数据对应的程序类型,并基于spi通讯协议将所述帧数据写入至所述外部闪存器中与所述程序类型对应的存储扇区中。
139.本技术实施例还提供一种电子设备,如图9所示,图9为本技术实施例提供的一种
电子设备的结构示意图。
140.电子设备包括存储器、处理器以及存储于存储器中,并可在处理器上运行的程序升级程序,处理器执行程序升级程序时实现本技术任一实施例提供的程序升级方法中的步骤。
141.具体来讲:电子设备可以包括一个或者一个以上处理核心的处理器901、一个或一个以上存储介质的存储器902、电源903和输入单元904等部件。本领域技术人员可以理解,图9中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
142.处理器901是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器902内的软件程序和/或模块,以及调用存储在存储器902内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器901可包括一个或多个处理核心;优选的,处理器901可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器901中。
143.存储器902可用于存储软件程序以及模块,处理器901通过运行存储在存储器902的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器902 可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器902还可以包括存储器控制器,以提供处理器901对存储器902的访问。
144.电子设备还包括给各个部件供电的电源903,优选的,电源903可以通过电源管理系统与处理器901逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源903还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
145.该电子设备还可包括输入单元904,该输入单元904可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
146.尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器901会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器902中,并由处理器901来运行存储在存储器902中的应用程序,从而实现本技术任一实施例所提供的程序升级方法中的步骤。
147.为此,本技术实施例提供一种可读存储介质,该可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,randomaccess memory)、磁盘或光盘等。可读存储介质上存储有程序升级程序,程序升级程序被处理器执行时实现本技术任一实施例所提供的程序升级方法中的步骤。
148.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
149.具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
150.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
151.以上对本技术实施例所提供的一种程序升级方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1