本发明涉及数据处理,尤其涉及一种基于嵌入式芯片的数据处理方法及系统。
背景技术:
1、对于嵌入式芯片的在线升级,常通过移除或物理更换芯片的方式,以在写入新的程序代码以对嵌入式芯片中的固件或软件进行更新和升级。由于需要移动嵌入式芯片,且嵌入式芯片易受外部坏境的影响,从而导致嵌入式芯片出现损坏的情况。
技术实现思路
1、有鉴于此,本发明实施例提供一种基于嵌入式芯片的数据处理方法及系统,以解决嵌入式芯片出现损坏的情况。
2、为实现上述目的,本发明实施例提供如下技术方案:
3、本发明实施例第一方面示了一种基于嵌入式芯片的数据处理方法,应用于基于嵌入式芯片的数据处理系统,所述数据处理系统包括第一分区处理器、引导加载处理器、芯片处理器、第一分区、第二分区和引导装载程序分区,所述方法包括:
4、所述第一分区处理器接收程序升级指令,若确定当前所述第一分区内与所述程序升级指令中待升级应用的程序代码处于执行状态,将所述程序升级指令中携带的待升级应用的新程序代码写入所述第二分区,并将写入完成的信息发送给所述芯片处理器;
5、所述引导加载处理器接收到所述芯片处理器发送给写入完成的信息时,基于所述第一分区内的程序代码和所述第二分区内新程序代码进行分区跳转,以执行所述第二分区内新程序代码。
6、可选的,所述第一分区处理器确定当前第一分区内与所述程序升级指令中待升级应用的程序代码处于执行状态,包括:
7、遍历所述第一分区中所有正在运行的应用,确定是否存在所述程序升级指令中待升级应用的标识相同的应用;
8、若存在,确定当前所述第一分区内与所述程序升级指令中待升级应用的程序代码处于执行状态。
9、可选的,所述引导加载处理器基于所述第一分区内的程序代码和所述第二分区内新程序代码进行分区跳转,以执行所述第二分区内新程序代码,包括:
10、所述引导加载处理器停止所述程序升级指令中待升级应用的程序代码的运行;
11、在第一时间内引导第一引导程序执行所述第二分区的新程序代码。
12、可选的,在第一时间内引导第一引导程序执行所述第二分区的新程序代码之后,还包括:
13、所述引导加载处理器判断第一时间段内所述新程序代码的运行是否存在异常;
14、若存在,则切换执行所述第一分区内所述待升级应用的程序代码;
15、若不存在,继续执行第二分区内新程序代码;
16、在第一时间段后删除所述第一分区内待升级应用的程序代码。
17、可选的,还包括:
18、所述第一分区处理器接收程序升级指令之后,对接收到的所述程序升级指令中携带的待升级应用的新程序代码进行校验,得到校准结果;
19、基于校准结果指示数据校准是否通过;
20、若是,将所述程序升级指令中携带的新程序代码写入所述第二分区,并将写入完成的信息和所述校准结果发送给所述芯片处理器;
21、所述引导加载处理器接收到所述芯片处理器发送给写入完成的信息和所述校准结果时,控制执行引导装载程序分区中的第一引导程序,以对所述第二分区内写入的所述新程序代码进行数据校验值第二计算,得到第二校验值;基于所述校准结果中的第一校验值和所述第二校验值确定是否验证通过;
22、若是,则执行基于所述第一分区内的程序代码和所述第二分区内新程序代码进行分区跳转,以执行第二分区内新程序代码的步骤。
23、可选的,对接收到的所述程序升级指令中携带的待升级应用的新程序代码进行校验,得到校准结果,包括:
24、判断接收到的所述程序升级指令中携带的待升级应用的新程序代码是否完整;
25、若是,生成数据校准通过的信息;
26、若否,生成数据校准失败的信息;
27、基于所述新程序代码进行数据校验值第一计算,得到第一校验值;
28、将所述数据校准通过的信息或数据校准失败的信息,以及第一校验值生成校准结果。
29、可选的,所述引导装载程序分区还包括第二引导程序,所述方法还包括:
30、所述引导加载处理器接收到程序升级指令时,将所述第一引导程序切换至第二引导程序;
31、基于所述程序升级指令对所述第一引导程序执行升级;
32、在确定升级后的第一引导程序校验通过时,切换至第一引导程序。
33、本发明实施例第二方面示出了一种基于嵌入式芯片的数据处理系统,包括第一分区处理器、引导加载处理器、芯片处理器、第一分区、第二分区和引导装载程序分区;
34、所述第一分区处理器,用于接收程序升级指令,若确定当前所述第一分区内与所述程序升级指令中待升级应用的程序代码处于执行状态,将所述程序升级指令中携带的待升级应用的新程序代码写入所述第二分区,并将写入完成的信息发送给所述芯片处理器;
35、所述引导加载处理器,用于接收到所述芯片处理器发送给写入完成的信息时,基于所述第一分区内的程序代码和所述第二分区内新程序代码进行分区跳转,以执行所述第二分区内新程序代码。
36、可选的,确定当前第一分区内与所述程序升级指令中待升级应用的程序代码处于执行状态的第一分区处理器,具体用于:
37、遍历所述第一分区中所有正在运行的应用,确定是否存在所述程序升级指令中待升级应用的标识相同的应用;
38、若存在,确定当前所述第一分区内与所述程序升级指令中待升级应用的程序代码处于执行状态。
39、可选的,基于所述第一分区内的程序代码和所述第二分区内新程序代码进行分区跳转,以执行第二分区内新程序代码的所述引导加载处理器,具体用于:
40、停止所述程序升级指令中待升级应用的程序代码的运行;
41、在第一时间内引导第一引导程序执行所述第二分区的新程序代码。
42、基于上述本发明实施例提供的一种基于嵌入式芯片的数据处理方法及系统,所述数据处理系统包括第一分区处理器、引导加载处理器、芯片处理器、第一分区、第二分区和引导装载程序分区,所述方法包括:第一分区处理器接收程序升级指令,若确定当前第一分区内与所述程序升级指令中待升级应用的程序代码处于执行状态,将所述程序升级指令中携带的待升级应用的新程序代码写入第二分区,并将写入完成的信息发送给所述芯片处理器;所述引导加载处理器接收到所述芯片处理器发送给写入完成的信息时,基于所述第一分区内的程序代码和所述第二分区内新程序代码进行分区跳转,以执行第二分区内新程序代码。本发明嵌入式芯片的应用进行在线升级时,在不移除或物理更换芯片的情况下,第一分区处理器接收程序升级指令,若确定当前第一分区内与所述程序升级指令中待升级应用的程序代码处于执行状态,将所述程序升级指令中携带的新程序代码写入第二分区,并将写入完成的信息发送给所述芯片处理器;引导加载处理器接收到所述芯片处理器发送给写入完成的信息时,基于所述第一分区内的程序代码和所述第二分区内新程序代码进行分区跳转,以执行第二分区内新程序代码;通过外部设备写入的方式进行芯片上的固件或软件,即应用进行更新和升级,不仅保证了在线升级的高效性,进而提升了应用的可靠性和安全性。
1.一种基于嵌入式芯片的数据处理方法,其特征在于,应用于基于嵌入式芯片的数据处理系统,所述数据处理系统包括第一分区处理器、引导加载处理器、芯片处理器、第一分区、第二分区和引导装载程序分区,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,第一分区处理器确定当前第一分区内与所述程序升级指令中待升级应用的程序代码处于执行状态,包括:
3.根据权利要求1所述的方法,其特征在于,引导加载处理器基于所述第一分区内的程序代码和所述第二分区内新程序代码进行分区跳转,以执行所述第二分区内新程序代码,包括:
4.根据权利要求3所述的方法,其特征在于,在第一时间内引导第一引导程序执行所述第二分区的新程序代码之后,还包括:
5.根据权利要求1所述的方法,其特征在于,还包括:
6.根据权利要求5所述的方法,其特征在于,对接收到的所述程序升级指令中携带的待升级应用的新程序代码进行校验,得到校准结果,包括:
7.根据权利要求1所述的方法,其特征在于,所述引导装载程序分区还包括第二引导程序,所述方法还包括:
8.一种基于嵌入式芯片的数据处理系统,其特征在于,包括第一分区处理器、引导加载处理器、芯片处理器、第一分区、第二分区和引导装载程序分区;
9.根据权利要求8所述的系统,其特征在于,确定当前第一分区内与所述程序升级指令中待升级应用的程序代码处于执行状态的第一分区处理器,具体用于:
10.根据权利要求8所述的系统,其特征在于,基于所述第一分区内的程序代码和所述第二分区内新程序代码进行分区跳转,以执行第二分区内新程序代码的所述引导加载处理器,具体用于:
