本发明涉及程序升级,特别涉及一种嵌入式在线升级方法及系统。
背景技术:
1、目前,在运行操作系统的嵌入式设备中,在线升级只需要通过网络将新程序传输至设备的存储器中,而航天地面电源嵌入式软件大多是不运行操作系统的裸机程序,因此其升级需要采用在线仿真器和外引烧写端口来实现,而现有的通过在线仿真器和外引烧写端口实现程序升级,需要到现场进行操作,这样从时间到成本上都造成了很大的开销,非常不方便且不灵活。
2、因此,如何提供一种能够对航天地面电源嵌入式软件进行在线升级的方法及系统,是目前亟待解决的问题。
技术实现思路
1、本发明实施例提供了一种嵌入式在线升级方法及系统,以实现航天地面电源嵌入式软件的在线远程程序升级,解决现有航天地面电源嵌入式软件在升级时,需要到达现场操作的问题。
2、为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
3、根据本发明实施例的第一方面,提供了一种嵌入式在线升级方法,所述嵌入式在线升级方法用于航天地面电源嵌入式软件在线升级,且所述航天地面电源上配置升级芯片,所述升级芯片内具有bootloader程序。
4、在一个实施例中,所述嵌入式在线升级方法,包括:
5、接收上位机发送的在线升级命令,并对所述在线升级命令进行解析,得到在线升级命令所包含的升级信息和升级数据;
6、根据所述升级信息,生成升级标记,并将所述升级标记、所述升级信息和所述升级数据写入至所述航天地面电源的flashb分区;
7、在所述航天地面电源上电后,读取所述flashb分区,并判断所述flashb分区是否具有升级标记,在判断结果为具有升级标记的情况下,启动bootloader程序调用所述升级信息和所述升级数据进行在线程序升级。
8、在一个实施例中,将所述升级标记、所述升级信息和所述升级数据写入至所述航天地面电源的flashb分区时,通过以太网udp传输协议将所述升级标记、所述升级信息和所述升级数据写入至所述航天地面电源的flashb分区。
9、在一个实施例中,在启动bootloader程序时,通过所述航天地面电源内置的软件看门狗程序触发并调用bootloader程序。
10、在一个实施例中,在判断结果为无升级标记的情况下,所述航天地面电源正常启动。
11、在一个实施例中,所述升级芯片为dsp28335芯片。
12、在一个实施例中,所述嵌入式在线升级方法,还包括:在在线程序升级完成后,读取在线程序升级时所写入的数据内容,并将写入的数据内容与升级数据进行对比,在对比结果为写入的数据内容与升级数据一致的情况下,擦除所述flashb分区的升级标记。
13、根据本发明实施例的第二方面,提供了一种嵌入式在线升级系统,所述嵌入式在线升级系统用于航天地面电源嵌入式软件在线升级,且所述航天地面电源上配置升级芯片,所述升级芯片内具有bootloader程序。
14、在一个实施例中,所述嵌入式在线升级系统,包括:
15、命令解析模块,用于接收上位机发送的在线升级命令,并对所述在线升级命令进行解析,得到在线升级命令所包含的升级信息和升级数据;
16、标记设置模块,用于根据所述升级信息,生成升级标记,并将所述升级标记、所述升级信息和所述升级数据写入至所述航天地面电源的flashb分区;
17、在线升级模块,用于在所述航天地面电源上电后,读取所述flashb分区,并判断所述flashb分区是否具有升级标记,在判断结果为具有升级标记的情况下,启动bootloader程序调用所述升级信息和所述升级数据进行在线程序升级。
18、在一个实施例中,所述标记设置模块将所述升级标记、所述升级信息和所述升级数据写入至所述航天地面电源的flashb分区时,通过以太网udp传输协议将所述升级标记、所述升级信息和所述升级数据写入至所述航天地面电源的flashb分区。
19、在一个实施例中,所述在线升级模块在启动bootloader程序时,通过所述航天地面电源内置的软件看门狗程序触发并调用bootloader程序。
20、在一个实施例中,所述在线升级模块在判断结果为无升级标记的情况下,正常启动所述航天地面电源。
21、在一个实施例中,所述升级芯片为dsp28335芯片。
22、在一个实施例中,所述嵌入式在线升级系统,还包括:
23、程序校验模块,用于在在线程序升级完成后,读取在线程序升级时所写入的数据内容,并将写入的数据内容与升级数据进行对比,在对比结果为写入的数据内容与升级数据一致的情况下,擦除所述flashb分区的升级标记。
24、本发明实施例提供的技术方案可以包括以下有益效果:
25、本发明解决了通过在线仿真器和外引烧写端口对航天地面电源嵌入式软件进行升级时,需要达到现场的麻烦,实现了航天地面电源的远程在线程序升级,大大的提高了升级的效率,并且也有效的提高了升级的安全性,降低了升级时的成本。
26、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
1.一种嵌入式在线升级方法,其特征在于,所述嵌入式在线升级方法用于航天地面电源嵌入式软件在线升级,且所述航天地面电源上配置升级芯片,所述升级芯片内具有bootloader程序,该方法包括:
2.根据权利要求1所述的嵌入式在线升级方法,其特征在于,将所述升级标记、所述升级信息和所述升级数据写入至所述航天地面电源的flashb分区时,通过以太网udp传输协议将所述升级标记、所述升级信息和所述升级数据写入至所述航天地面电源的flashb分区。
3.根据权利要求1所述的嵌入式在线升级方法,其特征在于,在启动bootloader程序时,通过所述航天地面电源内置的软件看门狗程序触发并调用bootloader程序。
4.根据权利要求1所述的嵌入式在线升级方法,其特征在于,所述升级芯片为dsp28335芯片。
5.根据权利要求1所述的嵌入式在线升级方法,其特征在于,还包括:
6.一种嵌入式在线升级系统,其特征在于,所述嵌入式在线升级系统用于航天地面电源嵌入式软件在线升级,且所述航天地面电源上配置升级芯片,所述升级芯片内具有bootloader程序,该系统包括:
7.根据权利要求6所述的嵌入式在线升级系统,其特征在于,所述标记设置模块将所述升级标记、所述升级信息和所述升级数据写入至所述航天地面电源的flashb分区时,通过以太网udp传输协议将所述升级标记、所述升级信息和所述升级数据写入至所述航天地面电源的flashb分区。
8.根据权利要求6所述的嵌入式在线升级系统,其特征在于,所述在线升级模块在启动bootloader程序时,通过所述航天地面电源内置的软件看门狗程序触发并调用bootloader程序。
9.根据权利要求6所述的嵌入式在线升级系统,其特征在于,所述升级芯片为dsp28335芯片。
10.根据权利要求6所述的嵌入式在线升级系统,其特征在于,还包括: