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

嵌入式多媒体存储器的下电方法、下电装置和电子设备与流程

2023-09-15 07:24:24 来源:中国专利 TAG:


1.本技术涉及操作系统下电领域,具体而言,涉及一种嵌入式多媒体存储器的下电方法、下电装置、计算机可读存储介质和电子设备。


背景技术:

2.emmc(嵌入式多媒体存储器,embeded multimedia card,简称emmc)是操作系统中的一种存储设备。在自动驾驶的域控制器开发过程中,域控芯片常常是异构多核心的,对linxu的核心下电一般是依赖freertos(小型实时操作系统内核)进行控制,这样会使系统中的所有设备整体都下电,从而导致嵌入式多媒体存储器异常断电,对其造成冲击,长此以往,会导致嵌入式多媒体存储器的寿命缩短问题。
3.因此,亟需一种对嵌入式多媒体存储器进行安全下电的方法。


技术实现要素:

4.本技术的主要目的在于提供一种嵌入式多媒体存储器的下电方法、下电装置、计算机可读存储介质和电子设备,以至少解决现有技术中不能对嵌入式多媒体存储器进行单独下电导致的嵌入式多媒体存储器寿命缩短的问题。
5.为了实现上述目的,根据本技术的一个方面,提供了一种嵌入式多媒体存储器的下电方法,包括:至少根据重新启动命令生成下电管理程序,其中,所述下电管理程序用于对嵌入式多媒体存储器进行下电,所述重新启动命令用于重新启动所述嵌入式多媒体存储器所在的系统;在接收到下电指令的情况下,执行所述下电管理程序,以对所述嵌入式多媒体存储器下电,其中,所述下电指令为指示所述嵌入式多媒体存储器所在的所述系统下电的指令。
6.可选地,至少根据重新启动命令生成下电管理程序,包括:根据所述重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令生成所述下电管理程序,其中,所述嵌入式多媒体存储器关机命令用于确定所述嵌入式多媒体存储器的总线地址,所述总线关机命令用于对所述嵌入式多媒体存储器的所述总线地址对应的总线进行下电。
7.可选地,根据所述重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令生成所述下电管理程序,包括:将所述重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令按照先后顺序生成所述下电管理程序。
8.可选地,执行所述下电管理程序,以对所述嵌入式多媒体存储器下电,包括:执行所述下电管理程序,得到所述总线的地址;根据所述总线的地址调用所述总线关机命令,以利用所述总线关机命令对所述嵌入式多媒体存储器进行下电。
9.可选地,执行所述下电管理程序,得到所述总线的地址,包括:调用所述下电管理程序中的所述重新启动命令,以触发调用所述嵌入式多媒体存储器关机命令;所述嵌入式多媒体存储器关机命令遍历所述嵌入式多媒体存储器所在的所述系统的总线地址,确定所述嵌入式多媒体存储器的所述总线地址。
10.可选地,在接收到下电指令的情况下,至少根据重新启动命令生成下电管理程序,包括以下之一:在所述嵌入式多媒体存储器所在的所述系统为linux系统的情况下,至少根据所述linux系统中的reboot重新启动命令生成所述下电管理程序;在所述嵌入式多媒体存储器所在的所述系统为windows系统的情况下,至少根据所述windows系统中的restart重新启动命令生成所述下电管理程序。
11.可选地,在对所述嵌入式多媒体存储器下电之后,还包括:对所述嵌入式多媒体存储器所在的所述系统进行下电。
12.根据本技术的另一方面,提供了一种嵌入式多媒体存储器的下电装置,包括:生成单元,用于至少根据重新启动命令生成下电管理程序,其中,所述下电管理程序用于对嵌入式多媒体存储器进行下电,所述重新启动命令用于重新启动所述嵌入式多媒体存储器所在的系统;执行单元,用于在接收到下电指令的情况下,执行所述下电管理程序,以对所述嵌入式多媒体存储器下电,其中,所述下电指令为指示所述嵌入式多媒体存储器所在的所述系统下电的指令。
13.根据本技术的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的下电方法。
14.根据本技术的又一方面,提供了一种电子设备,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的下电方法。
15.应用本技术的技术方案,至少根据重新启动命令生成下电管理程序,在接收到系统下电指令的情况下,首先执行下电管理程序以对嵌入式多媒体存储器进行安全下电之后,再对系统进行下电。与现有技术中,系统在接收到下电指令的情况下,直接对系统整体进行下电,包含于系统中的嵌入式多媒体存储器突然断电,会造成寿命缩短的方法相比,本技术能够在系统整体下电之前,首先对嵌入式多媒体存储器按照下电管理程序的步骤进行安全下电,避免突然断电情况的发生,因此,可以解决现有技术中只能对嵌入式多媒体存储器所在的系统进行整体下电而不能对嵌入式多媒体存储器进行单独下电导致的嵌入式多媒体存储器寿命缩短的问题,达到对嵌入式多媒体存储器进行安全下电的目的。
附图说明
16.构成本技术的一部分的说明书附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
17.图1示出了本技术的实施例提供的一种执行嵌入式多媒体存储器下电方法的移动终端的硬件结构框图;
18.图2示出了本技术的实施例提供的一种嵌入式多媒体存储器下电方法的流程示意图;
19.图3示出了本技术的实施例提供的一种具体的嵌入式多媒体存储器下电方法的流程示意图;
20.图4示出了本技术的实施例提供的一种嵌入式多媒体存储器下电装置的结构框
图。
21.其中,上述附图包括以下附图标记:
22.102、处理器;104、存储器;106、传输设备;108、输入输出设备。
具体实施方式
23.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
24.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
25.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
26.为了便于描述,以下对本技术实施例涉及的部分名词或术语进行说明:
27.emmc:嵌入式存储器,embedded multi media card,简称emmc。
28.正如背景技术中所介绍的,现有技术中只能对嵌入式多媒体存储器所在的系统进行整体下电而不能对嵌入式多媒体存储器进行单独下电导致的嵌入式多媒体存储器寿命缩短,为解决不能对嵌入式多媒体存储器进行单独下电导致嵌入式多媒体存储器寿命缩短的问题,本技术的实施例提供了一种嵌入式多媒体存储器下电方法、下电装置、计算机可读存储介质和电子设备。
29.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
30.本技术实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种嵌入式多媒体存储器的下电方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
31.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的嵌入式多媒体存储器的下电方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存
储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
32.在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的嵌入式多媒体存储器的下电方法、下电装置、计算机可读存储介质和电子设备,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
33.图2是根据本技术实施例的一种嵌入式多媒体存储器的下电方法的流程图。如图2所示,该方法包括以下步骤:
34.步骤s201,至少根据重新启动命令生成下电管理程序,其中,上述下电管理程序用于对嵌入式多媒体存储器进行下电,上述重新启动命令用于重新启动上述嵌入式多媒体存储器所在的系统;
35.具体地,emmc(嵌入式存储器,embedded multi media card,简称emmc)为linux系统中用于存储数据的嵌入式存储器,作为linux系统中实现存储功能的器件,在linux下电(与电源断开)时,linux系统整体都进行了下电,因此,嵌入式多媒体存储器在没有任何“准备”的前提下,就与电源断开了,长此以往,不仅会影响到嵌入式多媒体存储器工作的稳定性,还会导致嵌入式多媒体存储器的寿命缩短等问题,嵌入式多媒体存储器所在的系统可以为任意可行的操作系统,例如:linux操作系统和windows操作系统等。
36.为了防止嵌入式多媒体存储器寿命缩短的问题,本技术生成了下电管理程序,在接收到系统的下电指令的情况下,在对系统进行整体下电之前,执行下电管理程序以对嵌入式多媒体存储器首先按照程序进行下电,之后系统再进行下电。即本技术首先通过下电管理程序对嵌入式多媒体存储器断电,后续系统进行整体下电时,就不会对嵌入式多媒体存储器造成冲击,也因此不会对嵌入式多媒体存储器的寿命造成影响。重新启动指令可以使用linux系统下的reboot指令,reboot指令为linux系统下的实现系统的重启、挂机、断电等功能的指令,在实际应用过程中,设置reboot指令的返回参数为“0x454d4d43”,即重新启动指令为reboot(0x454d4d43),然后根据上述重新启动指令生成下电管理程序,下电管理程序可以存储于linux系统的内核中,实现对嵌入式多媒体存储器的下电。
37.步骤s202,在接收到下电指令的情况下,执行上述下电管理程序,以对上述嵌入式多媒体存储器下电,其中,上述下电指令为指示上述嵌入式多媒体存储器所在的上述系统下电的指令。
38.具体地,在系统进行整体下电之前,需要对嵌入式多媒体存储器进行下电,因此,在接收到下电指令的情况下,执行下电管理程序,对嵌入式多媒体存储器进行下电,在嵌入式多媒体存储器下电之后,在对系统进行下电。
39.通过本实施例,至少根据重新启动命令生成下电管理程序,在接收到系统下电指令的情况下,首先执行下电管理程序以对嵌入式多媒体存储器进行安全下电之后,再对系统进行下电。与现有技术中,系统在接收到下电指令的情况下,直接对系统整体进行下电,包含于系统中的嵌入式多媒体存储器突然断电,会造成寿命缩短的方法相比,本技术能够在系统整体下电之前,首先对嵌入式多媒体存储器按照下电管理程序的步骤进行安全下电,避免突然断电情况的发生,因此,可以解决现有技术中只能对嵌入式多媒体存储器所在的系统进行整体下电而不能对嵌入式多媒体存储器进行单独下电导致的嵌入式多媒体存储器寿命缩短的问题,达到对嵌入式多媒体存储器进行安全下电的目的。
40.具体实现过程中,上述步骤s201可以通过以下步骤实现:根据上述重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令生成上述下电管理程序,其中,上述嵌入式多媒体存储器关机命令用于确定上述嵌入式多媒体存储器的总线地址,上述总线关机命令用于对上述嵌入式多媒体存储器的上述总线地址对应的总线进行下电。该方法根据下电相关的函数生成下电管理程序,这样可以在系统整体下电之前对嵌入式多媒体存储器进行安全下电。
41.具体地,如上文所说,重新启动指令可以使用linux系统下的reboot指令,linux系统下的程序通过调用reboot实现系统的重启、挂机、断电等功能,“0x454d4d43”为使用reboot函数对嵌入式多媒体存储器进行下电所对应的参数;嵌入式多媒体存储器关机命令用于确定上述嵌入式多媒体存储器的总线地址,上述总线关机命令用于对上述嵌入式多媒体存储器的上述总线地址对应的总线进行下电,在linux系统中,shutdown函数为linux系统的关机指令。
42.具体实现过程中,当用户进程调用reboot指令时,linux系统会调用nr_reboot指令找到sys_reboot指令,并将参数0x454d4d43的值传递给该函数。sys_reboot指令使用了syscall_define4宏来定义,该宏定义了一个带有4个参数的系统调用处理函数,并将其包装成了一个适合linux内核使用的格式。在sys_reboot指令中,会根据传入的参数调用reboot指令。首先在linux系统的“include/uapi/linux/reboot.h”头文件中添加#define linux_shutdown_cmd_emmc,0x454d4d43,在syscall_define4(reboot,int,magic1,int,magic2,unsigned int,cmd,void__user*,arg)添加case linux_shutdown_cmd_emmc:emmc_shutdown();break;在drivers/base/core.c函数中添加void emmc_shutdown(void)函数,此函数会遍历所有linux系统总线寻找emmc总线并调用emmc总线的shutdown函数,具体程序如下:if(dev-》bus&&dev-》bus-》name=="emmc"&&dev-》bus-》shutdown){
43.if(initcall_debug)
44.dev_info(dev,"shutdown\n");
45.dev-》bus-》shutdown(dev);}。
46.为了保证嵌入式多媒体存储器能够安全下电,本技术的上述步骤s201可以通过以下步骤实现:将上述重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令按照先后顺序生成上述下电管理程序,该方法根据上述三个函数的先后顺序生成下电管理程序,这样可以在执行下电管理程序时按照生成的顺序执行,以对嵌入式多媒体存储器进行下电。
47.具体实现过程中,上述三个函数按照先后顺序即重新启动命令、嵌入式多媒体存
储器关机命令和总线关机命令生成下电管理程序,即遵循从linux系统内核到嵌入式多媒体存储器再到嵌入式多媒体存储器所在的总线这一过程,由于在实际应用过程中,linux系统需要逐步调用不同的指令实现对嵌入式多媒体存储器的安全下电,因此,按照从linux系统内核到多媒体存储器的过程,按照函数之间的调用关系生成下电管理程序,即按照重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令的顺序生成下电管理程序,在具体实现过程中,嵌入式多媒体存储器关机命令为emmc_shutdown命令,总线关机命令为bus_shutdown命令。这样可以在后续程序的执行过程中逐步对嵌入式多媒体存储器的总线地址进行查找,进一步保证了嵌入式多媒体存储器能够安全下电。
48.上述步骤s202可以通过以下步骤实现:执行上述下电管理程序,得到上述总线的地址;根据上述总线的地址调用上述总线关机命令,以利用上述总线关机命令对上述嵌入式多媒体存储器进行下电。该方法按照下电管理程序的生成顺序首先获取emmc的总线地址,再调用总线关机命令,这样可以逐步对嵌入式多媒体存储器进行下电,保证嵌入式多媒体存储器的安全下电。
49.具体地,在对嵌入式多媒体存储器进行下电时,执行下电管理程序,由于下电管理程序按照重新启动命令、总线关机命令的顺序生成,因此,首先调用下电管理程序中的重新启动命令reboot(0x454d4d43),进一步调用总线关机命令找到嵌入式多媒体存储器所在的总线地址,以对嵌入式多媒体存储器进行下电。
50.为了保证下电管理程序执行的完整性,在一些实施例上,执行上述下电管理程序,得到上述总线的地址,包括:调用上述下电管理程序中的上述重新启动命令,以触发调用上述嵌入式多媒体存储器关机命令;上述嵌入式多媒体存储器关机命令遍历上述嵌入式多媒体存储器所在的上述系统的总线地址,确定上述嵌入式多媒体存储器的上述总线地址。这样可以根据重新启动指令触发多媒体存储器关机指令,以遍历系统总线地址,从而确定多媒体存储器的总线地址,确保后续根据总线地址对多媒体存储器进行下电。
51.具体应用过程中,如上文所说,执行上述下电管理程序中的重新启动命令reboot(0x454d4d43),根据参数0x454d4d43调用多媒体存储器关机命令emmc_shutdown命令,多媒体存储器关机命令遍历系统总线,并确定多媒体存储器系统总线地址。
52.在一些实施例上,在上述步骤s202之前,至少根据重新启动命令生成下电管理程序,包括以下之一:在上述嵌入式多媒体存储器所在的上述系统为linux系统的情况下,至少根据上述linux系统中的reboot重新启动命令生成上述下电管理程序;在上述嵌入式多媒体存储器所在的上述系统为windows系统的情况下,至少根据上述windows系统中的restart重新启动命令生成上述下电管理程序。该方法分别根据linux系统和windows系统中的重新启动指令生成下电管理程序,这样可以对不同系统中的嵌入式多媒体存储器进行安全下电。
53.具体地,嵌入式多媒体存储器关机命令会遍历linux系统的所有总线,并确定嵌入式多媒体存储器所在的总线地址,之后总线关机命令通过总线地址对嵌入式多媒体存储器进行下电。重新启动命令可以为linux系统中的reboot重新启动命令,也可以为windows系统中的restart重新启动命令,本领域的技术人员可以根据嵌入式多媒体存储器的实际应用情况确定该系统中具体的重新启动命令。
54.为了进一步确保嵌入式多媒体存储器的安全下电,在一些实施例上,在上述步骤
s202之后,还包括:对上述嵌入式多媒体存储器所在的上述系统进行下电。这样可以在嵌入式多媒体存储器安全下电之后,再对系统下电,确保在系统下点之前首先对多媒体存储器安全下电。
55.具体实现过程中,由上文所说,在对linux系统进行整体下电之前,执行下电管理程序以对嵌入式多媒体存储器首先按照程序进行下电,之后linux系统再进行下电。因此,在对嵌入式多媒体存储器下电之后,再对linux系统进行整体下电,这样不会对嵌入式多媒体存储器造成冲击,进而不会影响嵌入式多媒体存储器的寿命与嵌入式多媒体存储器工作的稳定性。在实际应用过程中,也可以应用于windows系统。
56.为了使得本领域技术人员能够更加清楚地了解本技术的技术方案,以下将结合具体的实施例对本技术的嵌入式多媒体存储器的下电方法的实现过程进行详细说明。
57.本实施例涉及一种具体的嵌入式多媒体存储器的下电方法,如图3所示,包括如下步骤:
58.步骤s1:linux系统收到下电指令;
59.步骤s2:下电管理程序调用reboot(0x454d4d43)(重新启动命令);
60.步骤s3:kernel(linux系统内核)调用下电管理程序中的emmc_shutdown()函数;
61.步骤s4:emmc_shutdown函数会遍历linux系统的总线,并找到emmc总线,然后调用bus-》shutdown(bus_shutdown)函数;
62.步骤s5:bus_shutdown函数会将emmc设备安全下电。
63.本技术实施例还提供了一种嵌入式多媒体存储器的下电装置,需要说明的是,本技术实施例的嵌入式多媒体存储器的下电装置可以用于执行本技术实施例所提供的用于嵌入式多媒体存储器的下电方法。该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
64.以下对本技术实施例提供的嵌入式多媒体存储器的下电装置进行介绍。
65.图4是根据本技术实施例的嵌入式多媒体存储器的下电装置的示意图。如图4所示,该装置包括:
66.生成单元10,至少根据重新启动命令生成下电管理程序,其中,上述下电管理程序用于对嵌入式多媒体存储器进行下电,上述重新启动命令用于重新启动上述嵌入式多媒体存储器所在的系统;
67.具体地,emmc为linux系统中用于存储数据的嵌入式存储器,作为linux系统中实现存储功能的器件,在linux下电(与电源断开)时,linux系统整体都进行了下电,因此,嵌入式多媒体存储器在没有任何“准备”的前提下,就与电源断开了,长此以往,不仅会影响到嵌入式多媒体存储器工作的稳定性,还会导致嵌入式多媒体存储器的寿命缩短等问题。
68.为了防止嵌入式多媒体存储器寿命缩短的问题,本技术生成了下电管理程序,在接收到系统的下电指令的情况下,在对系统进行整体下电之前,执行下电管理程序以对嵌入式多媒体存储器首先按照程序进行下电,之后系统再进行下电。即本技术首先通过下电管理程序对嵌入式多媒体存储器断电,后续系统进行整体下电时,就不会对嵌入式多媒体存储器造成冲击,也因此不会对嵌入式多媒体存储器的寿命造成影响。重新启动指令可以
使用linux系统下的reboot指令,reboot指令为linux系统下的实现系统的重启、挂机、断电等功能的指令,在实际应用过程中,设置reboot指令的返回参数为“0x454d4d43”,即重新启动指令为reboot(0x454d4d43),然后根据上述重新启动指令生成下电管理程序,下电管理程序可以存储于linux系统的内核中,实现对嵌入式多媒体存储器的下电。
69.执行单元20,用于在接收到下电指令的情况下,执行上述下电管理程序,以对上述嵌入式多媒体存储器下电,其中,上述下电指令为指示上述嵌入式多媒体存储器所在的上述系统下电的指令。
70.具体地,在系统进行整体下电之前,需要对嵌入式多媒体存储器进行下电,因此,在接收到下电指令的情况下,执行下电管理程序,对嵌入式多媒体存储器进行下电,在嵌入式多媒体存储器下电之后,在对系统进行下电。
71.通过本实施例,至少根据重新启动命令生成下电管理程序,在接收到系统下电指令的情况下,首先执行下电管理程序以对嵌入式多媒体存储器进行安全下电之后,再对系统进行下电。与现有技术中,系统在接收到下电指令的情况下,直接对系统整体进行下电,包含于系统中的嵌入式多媒体存储器突然断电,会造成寿命缩短的装置相比,本技术能够在系统整体下电之前,首先对嵌入式多媒体存储器按照下电管理程序的步骤进行安全下电,避免突然断电情况的发生,因此,可以解决现有技术中只能对嵌入式多媒体存储器所在的系统进行整体下电而不能对嵌入式多媒体存储器进行单独下电导致的嵌入式多媒体存储器寿命缩短的问题,达到对嵌入式多媒体存储器进行安全下电的目的。
72.具体实现过程中,生成单元包括第一生成模块,用于根据上述重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令生成上述下电管理程序,其中,上述嵌入式多媒体存储器关机命令用于确定上述嵌入式多媒体存储器的总线地址,上述总线关机命令用于对上述嵌入式多媒体存储器的上述总线地址对应的总线进行下电。该装置根据下电相关的函数生成下电管理程序,这样可以在系统整体下电之前对嵌入式多媒体存储器进行安全下电。
73.具体地,如上文所说,重新启动指令可以使用linux系统下的reboot指令,linux系统下的程序通过调用reboot实现系统的重启、挂机、断电等功能,“0x454d4d43”为使用reboot函数对嵌入式多媒体存储器进行下电所对应的参数;嵌入式多媒体存储器关机命令用于确定上述嵌入式多媒体存储器的总线地址,上述总线关机命令用于对上述嵌入式多媒体存储器的上述总线地址对应的总线进行下电,在linux系统中,shutdown函数为linux系统的关机指令。
74.具体实现过程中,当用户进程调用reboot指令时,linux系统会调用nr_reboot指令找到sys_reboot指令,并将参数0x454d4d43的值传递给该函数。sys_reboot指令使用了syscall_define4宏来定义,该宏定义了一个带有4个参数的系统调用处理函数,并将其包装成了一个适合linux内核使用的格式。在sys_reboot指令中,会根据传入的参数调用reboot指令。首先在linux系统的“include/uapi/linux/reboot.h”头文件中添加#define linux_shutdown_cmd_emmc,0x454d4d43,在syscall_define4(reboot,int,magic1,int,magic2,unsigned int,cmd,void__user*,arg)添加case linux_shutdown_cmd_emmc:emmc_shutdown();break;在drivers/base/core.c函数中添加void emmc_shutdown(void)函数,此函数会遍历所有linux系统总线寻找emmc总线并调用emmc总线的shutdown
函数,具体程序如下:if(dev-》bus&&dev-》bus-》name=="mmc"&&dev-》bus-》shutdown){
75.if(initcall_debug)
76.dev_info(dev,"shutdown\n");
77.dev-》bus-》shutdown(dev);}。
78.为了保证嵌入式多媒体存储器能够安全下电,生成模块包括生成子模块,用于将上述重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令按照先后顺序生成上述下电管理程序,该装置根据上述三个函数的先后顺序生成下电管理程序,这样可以在执行下电管理程序时按照生成的顺序执行,以对嵌入式多媒体存储器进行下电。
79.具体实现过程中,上述三个函数按照先后顺序即重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令生成下电管理程序,即遵循从linux系统内核到嵌入式多媒体存储器再到嵌入式多媒体存储器所在的总线这一过程,由于在实际应用过程中,linux系统需要逐步调用不同的指令实现对嵌入式多媒体存储器的安全下电,因此,按照从linux系统内核到多媒体存储器的过程,按照函数之间的调用关系生成下电管理程序,即按照重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令的顺序生成下电管理程序,在具体实现过程中,嵌入式多媒体存储器关机命令为emmc_shutdown命令,总线关机命令为bus_shutdown命令。这样可以在后续程序的执行过程中逐步对嵌入式多媒体存储器的总线地址进行查找,进一步保证了嵌入式多媒体存储器能够安全下电。
80.执行单元包括执行模块和调用模块,其中,执行模块用于执行上述下电管理程序,得到上述总线的地址;调用模块用于根据上述总线的地址调用上述总线关机命令,以利用上述总线关机命令对上述嵌入式多媒体存储器进行下电。该装置按照下电管理程序的生成顺序首先获取emmc的总线地址,再调用总线关机命令,这样可以逐步对嵌入式多媒体存储器进行下电,保证嵌入式多媒体存储器的安全下电。
81.具体地,在对嵌入式多媒体存储器进行下电时,执行下电管理程序,由于下电管理程序按照重新启动命令、总线关机命令的顺序生成,因此,首先调用下电管理程序中的重新启动命令reboot(0x454d4d43),进一步调用总线关机命令找到嵌入式多媒体存储器所在的总线地址,以对嵌入式多媒体存储器进行下电。
82.为了保证下电管理程序执行的完整性,在一些实施例上,执行模块包括调用子模块和确定子模块,其中,调用子模块用于调用上述下电管理程序中的上述重新启动命令,以触发调用上述嵌入式多媒体存储器关机命令;确定子模块用于上述嵌入式多媒体存储器关机命令遍历上述嵌入式多媒体存储器所在的上述系统的总线地址,确定上述嵌入式多媒体存储器的上述总线地址。这样可以根据重新启动指令触发多媒体存储器关机指令,以遍历系统总线地址,从而确定多媒体存储器的总线地址,确保后续根据总线地址对多媒体存储器进行下电。
83.具体应用过程中,如上文所说,执行上述下电管理程序中的重新启动命令reboot(0x454d4d43),根据参数0x454d4d43调用多媒体存储器关机命令emmc_shutdown命令,多媒体存储器关机命令遍历系统总线,并确定多媒体存储器系统总线地址。
84.在一些实施例上,生成单元还包括第二生成模块和第三生成模块,其中,第二生成模块用于至少在上述嵌入式多媒体存储器所在的上述系统为linux系统的情况下,至少根据上述linux系统中的reboot重新启动命令生成上述下电管理程序;第三生成模块用于在
上述嵌入式多媒体存储器所在的上述系统为windows系统的情况下,至少根据上述windows系统中的restart重新启动命令生成上述下电管理程序。该装置分别根据linux系统和windows系统中的重新启动指令生成下电管理程序,这样可以对不同系统中的嵌入式多媒体存储器进行安全下电。
85.具体地,嵌入式多媒体存储器关机命令会遍历linux系统的所有总线,并确定嵌入式多媒体存储器所在的总线地址,之后总线关机命令通过总线地址对嵌入式多媒体存储器进行下电。重新启动命令可以为linux系统中的reboot重新启动命令,也可以为windows系统中的restart重新启动命令,本领域的技术人员可以根据嵌入式多媒体存储器的实际应用情况确定该系统中具体的重新启动命令。
86.为了进一步确保嵌入式多媒体存储器的安全下电,在一些实施例上,上述装置还包括下电模块,用于对上述嵌入式多媒体存储器所在的上述系统进行下电。这样可以在嵌入式多媒体存储器安全下电之后,再对系统下电,确保在系统下点之前首先对多媒体存储器安全下电。
87.具体实现过程中,由上文所说,在对linux系统进行整体下电之前,执行下电管理程序以对嵌入式多媒体存储器首先按照程序进行下电,之后linux系统再进行下电。因此,在对嵌入式多媒体存储器下电之后,再对linux系统进行整体下电,这样不会对嵌入式多媒体存储器造成冲击,进而不会影响嵌入式多媒体存储器的寿命与嵌入式多媒体存储器工作的稳定性。在实际应用过程中,也可以应用于windows系统。
88.上述嵌入式多媒体存储器的下电装置包括处理器和存储器,上述生成单元和执行单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
89.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来对嵌入式多媒体存储器进行安全下电。
90.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
91.本发明实施例提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行上述嵌入式多媒体存储器的下电方法。
92.具体地,嵌入式多媒体存储器的下电方法包括:
93.步骤s201,至少根据重新启动命令生成下电管理程序,其中,上述下电管理程序用于对嵌入式多媒体存储器进行下电,上述重新启动命令用于重新启动上述嵌入式多媒体存储器所在的系统;
94.具体地,emmc为linux系统中用于存储数据的嵌入式存储器,作为linux系统中实现存储功能的器件,在linux下电(与电源断开)时,linux系统整体都进行了下电,因此,嵌入式多媒体存储器在没有任何“准备”的前提下,就与电源断开了,长此以往,不仅会影响到嵌入式多媒体存储器工作的稳定性,还会导致嵌入式多媒体存储器的寿命缩短等问题。
95.为了防止嵌入式多媒体存储器寿命缩短的问题,本技术生成了下电管理程序,在
接收到系统的下电指令的情况下,在对系统进行整体下电之前,执行下电管理程序以对嵌入式多媒体存储器首先按照程序进行下电,之后系统再进行下电。即本技术首先通过下电管理程序对嵌入式多媒体存储器断电,后续系统进行整体下电时,就不会对嵌入式多媒体存储器造成冲击,也因此不会对嵌入式多媒体存储器的寿命造成影响。重新启动指令可以使用linux系统下的reboot指令,reboot指令为linux系统下的实现系统的重启、挂机、断电等功能的指令,在实际应用过程中,设置reboot指令的返回参数为“0x454d4d43”,即重新启动指令为reboot(0x454d4d43),然后根据上述重新启动指令生成下电管理程序,下电管理程序可以存储于linux系统的内核中,实现对嵌入式多媒体存储器的下电。
96.步骤s202,在接收到下电指令的情况下,执行上述下电管理程序,以对上述嵌入式多媒体存储器下电,其中,上述下电指令为指示上述嵌入式多媒体存储器所在的上述系统下电的指令。
97.具体地,在系统进行整体下电之前,需要对嵌入式多媒体存储器进行下电,因此,在接收到下电指令的情况下,执行下电管理程序,对嵌入式多媒体存储器进行下电,在嵌入式多媒体存储器下电之后,在对系统进行下电。
98.可选地,至少根据重新启动命令生成下电管理程序,包括:根据上述重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令生成上述下电管理程序,其中,上述嵌入式多媒体存储器关机命令用于确定上述嵌入式多媒体存储器的总线地址,上述总线关机命令用于对上述嵌入式多媒体存储器的上述总线地址对应的总线进行下电。
99.可选地,根据上述重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令生成上述下电管理程序,包括:将上述重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令按照先后顺序生成上述下电管理程序。
100.可选地,执行上述下电管理程序,以对上述嵌入式多媒体存储器下电,包括:执行上述下电管理程序,得到上述总线的地址;根据上述总线的地址调用上述总线关机命令,以利用上述总线关机命令对上述嵌入式多媒体存储器进行下电。
101.可选地,执行上述下电管理程序,得到上述总线的地址,包括:调用上述下电管理程序中的上述重新启动命令,以触发调用上述嵌入式多媒体存储器关机命令;上述嵌入式多媒体存储器关机命令遍历上述嵌入式多媒体存储器所在的上述系统的总线地址,确定上述嵌入式多媒体存储器的上述总线地址。
102.可选地,至少根据重新启动命令生成下电管理程序,包括以下之一:在上述嵌入式多媒体存储器所在的上述系统为linux系统的情况下,至少根据上述linux系统中的reboot重新启动命令生成上述下电管理程序;在上述嵌入式多媒体存储器所在的上述系统为windows系统的情况下,至少根据上述windows系统中的restart重新启动命令生成上述下电管理程序。
103.可选地,在对上述嵌入式多媒体存储器下电之后,还包括:对上述嵌入式多媒体存储器所在的上述系统进行下电。
104.本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
105.步骤s201,至少根据重新启动命令生成下电管理程序,其中,上述下电管理程序用于对嵌入式多媒体存储器进行下电,上述重新启动命令用于重新启动上述嵌入式多媒体存
储器所在的系统;
106.步骤s202,在接收到下电指令的情况下,执行上述下电管理程序,以对上述嵌入式多媒体存储器下电,其中,上述下电指令为指示上述嵌入式多媒体存储器所在的上述系统下电的指令。
107.本文中的设备可以是服务器、pc、pad、手机等。
108.可选地,至少根据重新启动命令生成下电管理程序,包括:根据上述重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令生成上述下电管理程序,其中,上述嵌入式多媒体存储器关机命令用于确定上述嵌入式多媒体存储器的总线地址,上述总线关机命令用于对上述嵌入式多媒体存储器的上述总线地址对应的总线进行下电。
109.可选地,根据上述重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令生成上述下电管理程序,包括:将上述重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令按照先后顺序生成上述下电管理程序。
110.可选地,执行上述下电管理程序,得到上述总线的地址,包括:调用上述下电管理程序中的上述重新启动命令,以触发调用上述嵌入式多媒体存储器关机命令;上述嵌入式多媒体存储器关机命令遍历上述嵌入式多媒体存储器所在的上述系统的总线地址,确定上述嵌入式多媒体存储器的上述总线地址。
111.可选地,至少根据重新启动命令生成下电管理程序,包括以下之一:在上述嵌入式多媒体存储器所在的上述系统为linux系统的情况下,至少根据上述linux系统中的reboot重新启动命令生成上述下电管理程序;在上述嵌入式多媒体存储器所在的上述系统为windows系统的情况下,至少根据上述windows系统中的restart重新启动命令生成上述下电管理程序。
112.可选地,在接收到下电指令的情况下,上述嵌入式多媒体存储器所在的上述系统包括linux系统和windows系统,至少根据重新启动命令生成下电管理程序,包括:至少根据上述linux系统中的reboot重新启动命令生成上述下电管理程序;至少根据上述windows系统中的restart重新启动命令生成上述下电管理程序。
113.可选地,在对上述嵌入式多媒体存储器下电之后,还包括:对上述嵌入式多媒体存储器所在的上述系统进行下电。
114.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
115.步骤s201,至少根据重新启动命令生成下电管理程序,其中,上述下电管理程序用于对嵌入式多媒体存储器进行下电,上述重新启动命令用于重新启动上述嵌入式多媒体存储器所在的系统;
116.步骤s202,在接收到下电指令的情况下,执行上述下电管理程序,以对上述嵌入式多媒体存储器下电,其中,上述下电指令为指示上述嵌入式多媒体存储器所在的上述系统下电的指令。
117.可选地,至少根据重新启动命令生成下电管理程序,包括:根据上述重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令生成上述下电管理程序,其中,上述嵌入式多媒体存储器关机命令用于确定上述嵌入式多媒体存储器的总线地址,上述总线关机命令用于对上述嵌入式多媒体存储器的上述总线地址对应的总线进行下电。
118.可选地,根据上述重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令生成上述下电管理程序,包括:将上述重新启动命令、嵌入式多媒体存储器关机命令和总线关机命令按照先后顺序生成上述下电管理程序。
119.可选地,执行上述下电管理程序,得到上述总线的地址,包括:调用上述下电管理程序中的上述重新启动命令,以触发调用上述嵌入式多媒体存储器关机命令;上述嵌入式多媒体存储器关机命令遍历上述嵌入式多媒体存储器所在的上述系统的总线地址,确定上述嵌入式多媒体存储器的上述总线地址。
120.可选地,至少根据重新启动命令生成下电管理程序,包括以下之一:在上述嵌入式多媒体存储器所在的上述系统为linux系统的情况下,至少根据上述linux系统中的reboot重新启动命令生成上述下电管理程序;在上述嵌入式多媒体存储器所在的上述系统为windows系统的情况下,至少根据上述windows系统中的restart重新启动命令生成上述下电管理程序。
121.可选地,在接收到下电指令的情况下,上述嵌入式多媒体存储器所在的上述系统包括linux系统和windows系统,至少根据重新启动命令生成下电管理程序,包括:至少根据上述linux系统中的reboot重新启动命令生成上述下电管理程序;至少根据上述windows系统中的restart重新启动命令生成上述下电管理程序。
122.可选地,在对上述嵌入式多媒体存储器下电之后,还包括:对上述嵌入式多媒体存储器所在的上述系统进行下电。
123.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
124.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
125.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
126.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
127.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
128.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
129.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
130.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
131.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
132.从以上的描述中,可以看出,本技术上述的实施例实现了如下技术效果:
133.1)、本技术的嵌入式多媒体存储器下电方法中,至少根据重新启动命令生成下电管理程序,在接收到系统下电指令的情况下,首先执行下电管理程序以对嵌入式多媒体存储器进行安全下电之后,再对系统进行下电。与现有技术中,系统在接收到下电指令的情况下,直接对系统整体进行下电,包含于系统中的嵌入式多媒体存储器突然断电,会造成寿命缩短的方法相比,本技术能够在系统整体下电之前,首先对嵌入式多媒体存储器按照下电管理程序的步骤进行安全下电,避免突然断电情况的发生,因此,可以解决现有技术中只能对嵌入式多媒体存储器所在的系统进行整体下电而不能对嵌入式多媒体存储器进行单独下电导致的嵌入式多媒体存储器寿命缩短的问题,达到对嵌入式多媒体存储器进行安全下电的目的。
134.2)、本技术的嵌入式多媒体存储器下电装置中,至少根据重新启动命令生成下电管理程序,在接收到系统下电指令的情况下,首先执行下电管理程序以对嵌入式多媒体存储器进行安全下电之后,再对系统进行下电。与现有技术中,系统在接收到下电指令的情况下,直接对系统整体进行下电,包含于系统中的嵌入式多媒体存储器突然断电,会造成寿命缩短的方法相比,本技术能够在系统整体下电之前,首先对嵌入式多媒体存储器按照下电管理程序的步骤进行安全下电,避免突然断电情况的发生,因此,可以解决现有技术中只能对嵌入式多媒体存储器所在的系统进行整体下电而不能对嵌入式多媒体存储器进行单独
下电导致的嵌入式多媒体存储器寿命缩短的问题,达到对嵌入式多媒体存储器进行安全下电的目的。
135.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

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

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