CN111506351A - 片上系统的深度休眠方法、唤醒方法和休眠与唤醒方法 - Google Patents
片上系统的深度休眠方法、唤醒方法和休眠与唤醒方法 Download PDFInfo
- Publication number
- CN111506351A CN111506351A CN202010259413.7A CN202010259413A CN111506351A CN 111506351 A CN111506351 A CN 111506351A CN 202010259413 A CN202010259413 A CN 202010259413A CN 111506351 A CN111506351 A CN 111506351A
- Authority
- CN
- China
- Prior art keywords
- chip
- identifier
- processor unit
- storage unit
- nonvolatile storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000007958 sleep Effects 0.000 title claims abstract description 69
- 230000002093 peripheral effect Effects 0.000 claims abstract description 79
- 230000015654 memory Effects 0.000 claims abstract description 39
- 230000005059 dormancy Effects 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 9
- 230000003446 memory effect Effects 0.000 claims description 6
- 238000011084 recovery Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006266 hibernation Effects 0.000 description 2
- 230000002618 waking effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
Abstract
本发明公开片上系统的深度休眠方法、唤醒方法和休眠与唤醒方法,包括:在接收到休眠命令后,将处理器单元的现场信息保存入非易失性存储单元中,并暂停除了电源控制线程外的其他线程,通过电源控制线程关闭外部电源,以实现片上系统进入深度休眠状态;接收到唤醒命令后,给电源上电,然后判断非易失性存储单元中是否存储有对应外设的工作标识符,是则基于该工作标识符对应保存的现场信息,恢复处理器单元、片上外设和片外外设的运行状态;否则初始化所述片上系统,使得所述片上系统重新初始化运行。本发明根据片内非易失性存储单元在休眠前设置的正常工作标识符,不需要在每次唤醒时都重载初始化代码,从而提升了开机速度,实现快速响应。
Description
技术领域
本发明涉及片上系统的休眠及唤醒技术领域,尤其涉及一种片上系统的深度休眠方法、一种深度休眠的片上系统的唤醒方法和一种片上系统的休眠与唤醒方法。
背景技术
半导体片上系统(SOC),指的是在单个芯片上集成了处理器、总线、存储器、各种外设等模块,是一个复杂完整的系统,它的休眠和唤醒是其中的重要的功能。休眠大致包括深度休眠,深度休眠,一般关闭大部分数字逻辑电源,只保留实时时钟,这种休眠具有非常低的功耗,但唤醒时间比较长,需要把所有存储器、外设、时钟都初始化一遍才能达到唤醒的目的。无论是进入休眠还是唤醒休眠,现有技术都需设置专门的易失性存储器作为数据备份区来转移内存数据,并涉及到内存块的序号、页号、索引的判断查找操作,整体工作量较大,影响系统的运行效率。
发明内容
针对现有技术存在的问题,为了让处于深度休眠状态下的片上系统快速启动,公开以下具体技术方案:
一种片上系统的深度休眠方法,包括:在接收到休眠命令后,将处理器单元的现场信息保存入非易失性存储单元中,同时暂停除了电源控制线程外的其他线程,通过电源控制线程关闭外部电源,以实现片上系统进入深度休眠状态;其中,片上系统在单个芯片上集成了处理器单元、片上外设和片外外设,片上外设包括片上系统在单个芯片集成的非易失性存储单元。该片上系统的休眠方式降低传统嵌入式系统休眠的数据备份量,节省数据交换的内存空间,进而减小片上系统进入休眠的工作量;还关闭外部电源,实现低功耗进入休眠。
进一步地,所述电源控制线程接收到所述休眠命令后,进入深度休眠状态之前,至少包括:判断处理器单元的现场信息是否正常保存入所述非易失性存储单元中,是则通过处理器单元设置所述工作标识符为所述正常工作标识符,否则不将所述工作标识符设置为所述正常工作标识符;将所述工作标识符写入所述非易失性存储单元中;其中,所述工作标识符是用于确认保存入所述非易失性存储单元中的现场信息是否完整,且是否支持直接运行程序的一种软件现场属性信息。本技术方案以写入工作标识符的方式标记片上系统在休眠前的工作状态情况,有利于提高系统唤醒时的工作效率。
进一步地,所述暂停除了电源控制线程外的其他线程的具体方式是:挂起除了所述电源控制线程外的其他线程,并将这些线程对应的工作状态信息保存到所述非易失存储单元,完成关闭所述片外外设所包括的具有记忆效应的外部设备。其中,这些线程对应的工作状态信息包括寄存器、指针地址信息等处理器单元的现场信息。该技术方案在挂起线程过程中只需要将线程对应的工作状态信息加载进非易失存储单元,不需要额外的线程属性判断,使得线程的休眠管理更加方便。
进一步地,除了所述电源控制线程外的其他线程为包括处理外部通信的线程、处理显示功能的线程、处理传感器的线程以及相关应用线程,对应地,具有记忆效应的外部设备包括所述片上系统外部连接的通信接口模块、显示屏接口模块、传感器总线接口模块以及相关应用的接口模块,这些接口模块内置非易失性存储器件。该技术方案适用的设备类型较广,具有产业利用价值。
进一步地,所述工作标识符不设置为所述正常工作标识符的情况包括:所述片上系统还没有将处理器单元的现场信息完整地保存入非易失性存储单元时,断电或重启;所述片上系统在工作过程中被触发重启,然后关机;所述片上系统在工作过程中出现断电,没有保存任何数据信息。本技术方案利用休眠前设置的工作标识符作为单一的衡量各线程正常工作的标识符,提高系统工作状态的判断效率。
一种深度休眠的片上系统的唤醒方法,包括:接收到唤醒命令后,给外部电源上电,然后判断非易失性存储单元内存储的工作标识符是否为正常工作标识符,是则基于该正常工作标识符对应的处理器单元的现场信息,恢复处理器单元、片上外设和片外外设在休眠前的运行状态;否则初始化所述片上系统,使得所述片上系统重新初始化运行。其中,片上系统包括处理器单元、片上外设和片外外设,片上外设包括非易失性存储单元。该技术方案唤醒休眠状态下的片上系统不需要数据在不同的内存间交换,降低片上系统的工作量;不需要每次唤醒都需要重载系统代码,只需要恢复外设和处理器现场,使得软件可以正常运行,提升了开机速度,实现快速响应。
进一步地,所述电源控制线程接收到所述唤醒命令后,唤醒过程至少包括:通过指定的通信接口给外部电源上电,并恢复所述片上系统的时钟系统;然后读取所述非易失性存储单元中保存的所述工作标识符,判断所述工作标识符是否为所述正常工作标识符,是则直接从所述非易失性存储单元恢复所述正常工作标识符对应的处理器单元的现场信息,唤醒挂起的线程,实现将处理器单元、片上外设和片外外设恢复到休眠前的运行状态,再清除所述工作标识符;否则,从所述非易失性存储单元加载初始化代码,再清除所述工作标识符。本技术方案通过判断读取对应外设的工作标识符的方式,来决定是否通过加载代码来重新初始化处理器单元的现场信息、片上外设和片外外设,并在读取判断完成后清除掉工作标识符,这样保证不会影响下次的正常工作标识符的判断操作;同时不需要像传统操作系统那样:只要重启就需要用到额外的交换内存空间,并加载到该交换内存空间内完成初始化操作;与现有技术相比,缩短片上系统的唤醒时间。
进一步地,所述正常工作标识符用于表示:所述处理器单元的运行代码完整;所述处理器单元与所述片上外设和所述片外外设通信握手同步;系统硬件支持正常执行软件代码,没有出现硬件电路故障。
一种片上系统的休眠与唤醒方法,包括:先执行所述深度休眠方法,然后执行所述唤醒方法。本技术方案根据片内非易失性存储单元在休眠前设置的正常工作标识符,快速恢复休眠的系统,不需要每次唤醒都重载初始化代码,减轻系统的工作量。提升了开机速度,实现快速响应。
附图说明
图1是本发明实施例三公开一种片上系统的休眠与唤醒方法的流程图。
图2是本发明实施例一公开的片上系统的深度休眠过程的流程图。
图3是本发明实施例二公开的片上系统的唤醒过程的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。
本发明实施例公开的片上系统,是结合目前开始比较成熟的非易失性存储器,如铁电存储、相变存储、磁变存储等。这类型的存储器被集成到片上系统SOC里面后,SOC可以对它进行高速随机访问,掉电后,修改的内容也不会丢失,上电后还可以保留原有的内容。
本发明实施例一公开一种片上系统的深度休眠方法,包括:在接收到休眠命令后,将处理器单元的现场信息保存入非易失性存储单元中,包括保存堆栈寄存器指针、CPU 寄存器的值等现场信息,实现处理器单元保存完软件现场。暂停除了电源控制线程外的其他线程,让其他线程对应的应用程序暂时不运行,但无需关闭,等待处理器单元调度;然后电源控制线程执行程序,通过指定的通信接口发出命令关闭片上系统的外部电源,让片上系统进入深度休眠状态;其中,片上系统是在单个芯片上集成了处理器单元、片上外设和片外外设的完整系统,片上外设包括片上系统在单个芯片集成的非易失性存储单元,即片上系统包括处理器单元、片上外设和片外外设,片上外设包括非易失性存储单元。所述片上系统在非易失性存储单元等硬件操作结束后,线程在休眠前所包含的数据和CPU 状态已经完整地保存在非易失性存储单元,然后断电关闭系统,进入深度休眠模式,深度休眠模式下非易失性存储单元也不用供电,功耗可以降低很多,当下次加电启动时,直接从非易失性存储单元恢复内存数据和现场环境,片上系统可以回到上次保留的工作状态,从而有效地避免了工作成果的丢失。与现有技术相比,本实施例的深度休眠方法不需要把易失性存储器中的内容保存到非易失性的存储器中,该片上系统的休眠方式降低传统嵌入式系统休眠的数据备份量,节省数据交换的内存空间,进而减小片上系统进入休眠的工作量;还关闭外部电源,实现低功耗休眠。
在实施例一中,如图2所示,所述深度休眠方法,具体流程包括:
步骤S11、所述片上系统接收到所述休眠命令,所述休眠命令是所述片上系统集成的处理器单元针对各个线程发出的,然后进入步骤S12;
步骤S12、判断处理器单元的现场信息是否全部保存入所述非易失性存储单元中,是则进入步骤S13,否则进入步骤S14。
步骤S13、通过处理器单元设置所述工作标识符为所述正常工作标识符,然后进入步骤S15。当所述工作标识符设置为所述正常工作标识符时,支持所述片上系统去加载运行所述非易失性存储单元中的应用线程,也表示保存入所述非易失性存储单元中的现场信息完整,不需更新所述非易失性存储单元中的数据。
步骤S14、不将所述工作标识符设置为所述正常工作标识符,然后进入步骤S15。
步骤S15、将处理器单元的现场信息包括所述工作标识符写入非易失性存储单元,然后进入步骤S16。
其中,所述工作标识符是用于确认保存入所述非易失性存储单元中的现场信息是否完整的一种软件现场属性信息;当所述工作标识符被设置为所述正常工作标识符时,表示保存入所述非易失性存储单元中的现场信息是完整的,则可以支持处理器单元去运行各个线程对应的应用程序,否则需要后续更新这个非易失性存储内存的数据。另外,所述处理器单元与片上外设和/或片外外设是否同步通信,不影响所述工作标识符的设置。
值得注意的是,软件程序在休眠前因某种原因而停止运行时,也将不正常工作的标识符信息也保存在非易失性存储器内。其中,具体的异常停止执行的场景包括:在所述处理器单元的现场信息没有完全保存入所述非易失性存储单元之前,当所述片上系统出现断电或重启时,停止将所述处理器单元的现场信息保存入所述非易失性存储单元,然后不将所述工作标识符设置为所述正常工作标识符;当所述片上系统在运行过程中被触发重启时,进入关机状态,则确定所述处理器单元的现场信息没有全部保存入所述非易失性存储单元中,不将所述工作标识符设置为所述正常工作标识符;当所述片上系统在工作过程中出现断电时,不保存任何数据信息,则不将所述工作标识符设置为所述正常工作标识符。上述的场景都不能够正常保存完整的状态信息。
步骤S16、将除了电源控制线程外的其他线程(应用进程)都暂停,所述处理器单元相应发出线程挂起或关闭命令。然后进入步骤S17。优选地,所述暂停除了电源控制线程外的其他线程的具体方式是:挂起除了所述电源控制线程外的其他线程,而将这些线程对应的工作状态信息,包括这些线程对应的数据和运行程序备份保存到所述非易失存储单元,使得这些线程挂到所述非易失存储单元内,完成关闭所述片外外设所包括的具有记忆效应的外部设备。本实施例在挂起线程过程中只需要将线程对应的工作状态信息加载进非易失存储单元,不需要额外的线程属性判断,使得线程的休眠管理更加方便。
步骤S17、通过电源控制线程关闭外部电源,实现片上系统进入深度休眠状态,降低系统功耗。
前述步骤以写入工作标识符的方式标记片上系统在休眠前的工作状态情况,有利于提高系统唤醒时的工作效率。
优选地,所述电源控制线程是系统线程,除了所述电源控制线程外的其他线程为子线程,所述电源控制线程可以控制调度子线程。子线程包括处理外部通信的线程、处理显示功能的线程、处理传感器的线程以及相关应用线程,对应地,具有记忆效应的外部设备包括所述片上系统外部连接的通信接口模块、显示屏接口模块、传感器总线接口模块以及相关应用的接口模块,这些接口模块内置非易失性存储器件。所述深度休眠方法适用的设备类型较广,上述接口模块能够与片上系统的外设资源建立起连接关系,让所述深度休眠方法在片上系统领域的运用具有产业价值。
本实施例中片上系统休眠时,涉及到多线程的休眠。此时,片上系统将保存当前所有挂起但无需关闭的应用线程的工作状态相对应的程序控制信息到非易失性存储单元。
本发明实施例二公开一种深度休眠的片上系统的唤醒方法,包括:接收到唤醒命令后,给外部电源上电,然后判断非易失性存储单元内存储的工作标识符是否为正常工作标识符,是则基于该正常工作标识符对应的处理器单元的现场信息,恢复处理器单元、片上外设和片外外设在休眠前的运行状态,通过从非易性存储单元中恢复现场信息,不需要执行初始化代码;否则利用代码去初始化所述片上系统,包括初始化处理器单元的现场信息、片上外设和片外外设,使得所述片上系统重新初始化运行。其中,片上系统是在单个芯片上集成了处理器单元、片上外设和片外外设的系统,片上外设包括片上系统在单个芯片集成的非易失性存储单元,,则片上系统包括处理器单元、片上外设和片外外设,片上外设包括非易失性存储单元。本实施例唤醒片上系统不需要数据在不同的内存间交换,降低片上系统的工作量;不需要每次唤醒都重载系统代码,只需要恢复外设和处理器现场,上电开机后软件可以快速启动运行。
在实施例二中,如图3所示,所述唤醒方法,具体流程包括:
步骤S21、接收到所述唤醒命令,所述唤醒命令是所述片上系统集成的处理器单元针对各个线程发出的,然后进入步骤S22。
步骤S22、所述电源控制线程指定通信接口给外部电源上电,并恢复所述片上系统的时钟系统,以保证所述处理器单元与所述片上外设和/或所述片外外设具备同步通信的条件。然后进入步骤S23。
步骤S23、读取所述非易失性存储单元中保存的所述工作标识符,该步骤先读取出相应的工作标识符再进入步骤S24进行判断,而不是直接在所述非易失性存储单元内逐个比特位地查找检测相应的工作标识符,从而保证唤醒工作的效率。
步骤S24、判断所述工作标识符是否为所述正常工作标识符,是则确定休眠前的片上系统正常工作,进入步骤S25,否则确定片上系统上次遇到了严重错误而不能正常工作,需进入步骤S26。
步骤S25、直接从所述非易失性存储单元恢复所述正常工作标识符对应的处理器单元的现场信息,包括设置系统堆栈,从系统数据恢复过程中取回堆栈寄存器指针,再从此栈中恢复CPU 寄存器的值,从而恢复处理器单元的现场环境,唤醒已挂起的线程,重新执行该线程下的应用程序,实现将处理器单元、片上外设和片外外设恢复到休眠前的运行状态,这不需要重新重载系统代码,只需要恢复外设和处理器现场,软件就可以正常运行,减少现有技术中多步重复的初始化操作而带来的内存浪费、时效性差等问题。然后进入步骤S27。
步骤S26、从所述非易失性存储单元加载初始化代码,通过加载初始化代码来初始化所述片上系统。具体地,当从深度休眠模式返回此处时,开始片上系统的处理器单元的现场信息、片上外设和片外外设的初始化操作,其中,相关硬件寄存器的初始化和恢复工作,主要操作包括:使能内存访问计数中断,内存初始化;锁相环模块初始化;AD 和DA( 模数和数模接口)模块初始化;GPIO 初始化,恢复寄存器状态;显示模块初始化;SDIO接口模块初始化;Timer (走时器)模块初始化;SD存储模块初始化;频率管理复位;恢复所有中断状态,并开启中断;重新申请被释放的DMA 内存,恢复DMA 虚拟地址到物理地址的映射,等效于系统的正常重启开机过程。然后进入步骤S27。
步骤S27、清除所述工作标识符,即清除所述正常工作标识符的相关信息,克服所述工作标识符历史预留的置位信息对后续唤醒过程的影响,避免下次进入休眠与唤醒过程中出现误判。
然后所述处理器单元、所述片上外设和所述片外外设正常运行,即所述处理器单元与所述片上外设和/或所述片外外设都做到同步通信成功。
本实施例通过判断读取对应外设的工作标识符的方式,来决定是否通过加载代码来重新初始化处理器单元的现场信息、片上外设和片外外设,不需要像传统操作系统那样:只要重启就得在交换内存空间内重新执行一次代码完成初始化操作,与现有技术相比,本实施例不需要用到存储区中保存的索引记录,也不需要将其它镜像数据保存区中保存的进程控制块备份数据加载到DRAM 内存以快速启动该进程,而是直接从所述非易失性存储单元中启动相关线程,直接基于该线程对应的应用程序恢复正常运行状态,从而缩短片上系统的唤醒时间,提升了开机速度,实现快速响应。
优选地,所述正常工作标识符用于表示:所述处理器单元的运行代码完整;所述处理器单元与所述片上外设和所述片外外设通信握手同步;系统硬件支持正常执行软件代码,没有出现硬件电路故障。本实施例利用前述工作标识符作为单一的衡量各线程正常工作的标识符。当所述处理器单元没有通过所述工作标识符判断到休眠之前是正常工作时,有可能是所述片上系统上次遇到了严重错误,如电源系统短路等,此时,代码可能被破坏,片上外设和/或片外外设可能不与所述处理器单元同步通信,则需要进行重载初始化代码,对相关硬件资源全部重新初始化。
本发明实施例三公开一种片上系统的休眠与唤醒方法,包括:先执行前述实施例一公开的深度休眠方法,然后执行前述实施例二公开的所述唤醒方法。相关流程如图1所示,包括:步骤S1、在接收到休眠命令后,将处理器单元的现场信息保存入非易失性存储单元中,并暂停除了电源控制线程外的其他线程,通过电源控制线程关闭外部电源,以实现片上系统进入深度休眠状态,然后进入步骤S2。步骤S1涉及的休眠方法可参照前述实施例一和图2所示的具体步骤,在此不再赘述。该步骤省去备份数据区,只使用非易失性存储单元去保存软件现场信息。可实现多线程的休眠,使片上系统的休眠管理更加灵活、方便,可降低传统嵌入式系统休眠的数据备份及系统休眠时数据各份所占用的大量存储空间,从而提高片上系统的运行效率。所以,本实施例有效克服了现有技术中的种种缺点而具高度产业利用价值。
步骤S2、接收到唤醒命令后,给电源上电,然后判断非易失性存储单元中是否存储有对应外设的工作标识符,是则基于该工作标识符对应保存的现场信息,恢复处理器单元、片上外设和片外外设的运行状态;否则通过重新加载代码,初始化所述片上系统,使得所述片上系统重新初始化运行,从而达到唤醒所述片上系统的目的。步骤S2涉及的休眠方法可参照前述实施例二和图3所示的具体步骤,在此不再赘述。需要注意的是,步骤S2结束后需要清除所述工作标识符,即清除所述正常工作标识符的相关信息,保证下次不会错误判断。步骤S2系统只需加载保存在片内的非易失性存储单元的现场信息内容和进行必要的有效的选择机制,不需要数据在内存间交换的工作且节省备份数据的存储空间,片上系统恢复速度会大幅度地提升。
前述实施例中提及的工作标识符是由字母(A-Z,a-z)、数字(0-9)、下划线“_”编码组成,能够由计算机系统装置识别处理,当所述工作标识符设置为所述正常工作标识符时,表示正常保存现场信息,保存好的完整信息能够支持片上系统的各个应用线程运行,所述工作标识符可以通过改变其中的编码数值来设置为所述正常工作标识符。前述的工作标识符也等效于工作标志位。
本实施例涉及的片上系统从单一的片内非易失性存储单元中选择有效的标识符信息,进行快速恢复的操作,不需要在片上系统每一次唤醒开机时都重载初始化代码,从而提高系统恢复速度,提升了开机速度,实现快速响应。
本实施例以智能移动终端产品为例,对本发明的片上系统的休眠和唤醒方法进行验证,验证结果如下:
(1)系统设置
在系统设置的任何一个界面,进入深度休眠模式,重新上电后系统可以回到原来的界面,按键操作正常。
在系统设置的任何一个界面,进入深度休眠模式之前,系统还没有保存完现场信息,就突然断电或重启,重新上电后系统回到初始化界面。
(2) 导航语音
从导航语音播放匹配的箭头指向界面,进入深度休眠模式,重新上电后系统可以回到原来的界面,按键操作正常,同时自动按照进入深度休眠模式前保存的进度继续播放。
在同一导航位置处,导航语音不播放导航方向信息,突然断电,没来得及保存任何东西,重新上电后系统则先回到地图的初始化导航界面,箭头回归到标准地磁方向,并正常播放对应的导航语音。
(3) 地图浏览
在浏览地图时,进入深度休眠模式,重新上电后系统回到地图的导航界面,当前地图界面上的导航方标方向是休眠前导航方向,按键操作正常,继续浏览正常。
在同一位置处浏览地图,地图界面突然消失,系统进入重启,重新上电后系统回到地图的初始化导航界面,导航方标回归到标准地磁方向。
通过以上验证例子说明,在本发明实施例公开的一种片上系统的休眠与唤醒方法可以使内置片上系统芯片的智能移动终端在系统进入深度休眠模式后功耗大大降低,达到和掉电关机一样的效果,在重新加电开机后,如果休眠前没有出现代码执行异常或电路故障,则能自动恢复之前保存的状态和现场环境,可以很好的回到深度休眠模式前的界面,然后能正常进行下一步操作,从而可靠地保存了工作成果,提升了开机速度。实际验证中发现再开机的速度很快。如果休眠前出现代码执行异常或电路故障,则能自动初始化处理器单元的现场环境和外设,然后能正常进行下一步操作。
以上实施例仅为充分公开而非限制本发明,凡基于本发明的创作主旨、未经创造性劳动的等效技术特征的替换,应当视为本申请揭露的范围。
Claims (9)
1.一种片上系统的深度休眠方法,其特征在于,包括:
在接收到休眠命令后,将处理器单元的现场信息保存入非易失性存储单元中;
暂停除了电源控制线程外的其他线程,通过电源控制线程关闭外部电源,以实现片上系统进入深度休眠状态;
其中,片上系统包括处理器单元、片上外设和片外外设,片上外设包括非易失性存储单元。
2.根据权利要求1所述深度休眠方法,其特征在于,接收到所述休眠命令后,进入深度休眠状态之前,至少包括:
判断处理器单元的现场信息是否全部保存入所述非易失性存储单元中,是则通过处理器单元设置所述工作标识符为所述正常工作标识符,否则不将所述工作标识符设置为所述正常工作标识符;
将所述工作标识符写入所述非易失性存储单元中;
其中,所述工作标识符是用于确认保存入所述非易失性存储单元中的现场信息是否完整的一种软件现场属性信息。
3.根据权利要求2所述深度休眠方法,其特征在于,在所述处理器单元的现场信息没有完全保存入所述非易失性存储单元之前,当所述片上系统出现断电或重启时,停止将所述处理器单元的现场信息保存入所述非易失性存储单元,然后不将所述工作标识符设置为所述正常工作标识符;
当所述片上系统在运行过程中被触发重启时,进入关机状态,则确定所述处理器单元的现场信息没有全部保存入所述非易失性存储单元中,不将所述工作标识符设置为所述正常工作标识符;
当所述片上系统在工作过程中出现断电时,不保存任何数据信息,则不将所述工作标识符设置为所述正常工作标识符。
4.根据权利要求2所述深度休眠方法,其特征在于,所述暂停除了电源控制线程外的其他线程的具体方式是:挂起除了所述电源控制线程外的其他线程,并将这些线程对应的工作状态信息保存到所述非易失存储单元,完成关闭所述片外外设所包括的具有记忆效应的外部设备。
5.根据权利要求4所述深度休眠方法,其特征在于,除了所述电源控制线程外的其他线程为包括处理外部通信的线程、处理显示功能的线程、处理传感器的线程以及相关应用线程,对应地,具有记忆效应的外部设备包括所述片上系统外部连接的通信接口模块、显示屏接口模块、传感器总线接口模块以及相关应用的接口模块,这些接口模块内置非易失性存储器件。
6.一种深度休眠的片上系统的唤醒方法,其特征在于,包括:
接收到唤醒命令后,给外部电源上电,然后判断非易失性存储单元内存储的工作标识符是否为正常工作标识符,是则基于该正常工作标识符对应的处理器单元的现场信息,恢复处理器单元、片上外设和片外外设在休眠前的运行状态;否则初始化所述片上系统,使得所述片上系统重新初始化运行;
其中,片上系统包括处理器单元、片上外设和片外外设,片上外设包括非易失性存储单元。
7.根据权利要求6所述唤醒方法,其特征在于,接收到所述唤醒命令后,唤醒过程至少包括:
通过指定的通信接口给外部电源上电,并恢复所述片上系统的时钟系统;
然后读取所述非易失性存储单元中保存的所述工作标识符,判断所述工作标识符是否为所述正常工作标识符,是则直接从所述非易失性存储单元恢复所述正常工作标识符对应的处理器单元的现场信息,唤醒挂起的线程,实现将处理器单元、片上外设和片外外设恢复到休眠前的运行状态,再清除所述工作标识符;否则,从所述非易失性存储单元加载初始化代码,再清除所述工作标识符。
8.根据权利要求7所述唤醒方法,其特征在于,所述正常工作标识符用于表示:所述处理器单元的运行代码完整;所述处理器单元与所述片上外设和所述片外外设通信握手同步;系统硬件支持正常执行软件代码,没有出现硬件电路故障。
9.一种片上系统的休眠与唤醒方法,其特征在于,包括:先执行权利要求1至5任一项所述深度休眠方法,然后执行权利要求6至7任一项所述唤醒方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010259413.7A CN111506351A (zh) | 2020-04-03 | 2020-04-03 | 片上系统的深度休眠方法、唤醒方法和休眠与唤醒方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010259413.7A CN111506351A (zh) | 2020-04-03 | 2020-04-03 | 片上系统的深度休眠方法、唤醒方法和休眠与唤醒方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111506351A true CN111506351A (zh) | 2020-08-07 |
Family
ID=71875925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010259413.7A Pending CN111506351A (zh) | 2020-04-03 | 2020-04-03 | 片上系统的深度休眠方法、唤醒方法和休眠与唤醒方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506351A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231629A (zh) * | 2020-10-22 | 2021-01-15 | 扬州大学 | 一种面向机电产品的关键元动作单元提取方法 |
CN113452750A (zh) * | 2021-05-14 | 2021-09-28 | 江铃汽车股份有限公司 | 车载信息娱乐系统控制方法及系统 |
CN115576258A (zh) * | 2022-12-08 | 2023-01-06 | 小米汽车科技有限公司 | 车辆芯片系统控制方法、系统级芯片以及车辆 |
CN116745768A (zh) * | 2022-01-10 | 2023-09-12 | 华为技术有限公司 | 一种数据处理方法及电子设备 |
CN117008980A (zh) * | 2022-04-29 | 2023-11-07 | 华为技术有限公司 | 系统休眠方法及装置、系统唤醒方法及装置 |
WO2024036452A1 (zh) * | 2022-08-15 | 2024-02-22 | 华为技术有限公司 | 一种处理装置及相关低功耗待机控制方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101710253A (zh) * | 2009-11-25 | 2010-05-19 | 安凯(广州)微电子技术有限公司 | 嵌入式系统的深度休眠方法 |
CN102779072A (zh) * | 2012-06-18 | 2012-11-14 | 中国科学院上海微系统与信息技术研究所 | 一种嵌入式系统及其应用进程的休眠与唤醒方法 |
CN103197750A (zh) * | 2012-01-09 | 2013-07-10 | 银灿科技股份有限公司 | 内嵌式记忆卡控制系统及其内嵌式记忆卡 |
CN105912481A (zh) * | 2015-02-25 | 2016-08-31 | 德州仪器公司 | 用于具有非易失性逻辑存储器的处理装置的电力损失中计算方法 |
US20190065752A1 (en) * | 2017-08-23 | 2019-02-28 | Qualcomm Incorporated | System And Method For Booting Within A Heterogeneous Memory Environment |
-
2020
- 2020-04-03 CN CN202010259413.7A patent/CN111506351A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101710253A (zh) * | 2009-11-25 | 2010-05-19 | 安凯(广州)微电子技术有限公司 | 嵌入式系统的深度休眠方法 |
CN103197750A (zh) * | 2012-01-09 | 2013-07-10 | 银灿科技股份有限公司 | 内嵌式记忆卡控制系统及其内嵌式记忆卡 |
CN102779072A (zh) * | 2012-06-18 | 2012-11-14 | 中国科学院上海微系统与信息技术研究所 | 一种嵌入式系统及其应用进程的休眠与唤醒方法 |
CN105912481A (zh) * | 2015-02-25 | 2016-08-31 | 德州仪器公司 | 用于具有非易失性逻辑存储器的处理装置的电力损失中计算方法 |
US20190065752A1 (en) * | 2017-08-23 | 2019-02-28 | Qualcomm Incorporated | System And Method For Booting Within A Heterogeneous Memory Environment |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231629A (zh) * | 2020-10-22 | 2021-01-15 | 扬州大学 | 一种面向机电产品的关键元动作单元提取方法 |
CN113452750A (zh) * | 2021-05-14 | 2021-09-28 | 江铃汽车股份有限公司 | 车载信息娱乐系统控制方法及系统 |
CN113452750B (zh) * | 2021-05-14 | 2023-02-24 | 江铃汽车股份有限公司 | 车载信息娱乐系统控制方法及系统 |
CN116745768A (zh) * | 2022-01-10 | 2023-09-12 | 华为技术有限公司 | 一种数据处理方法及电子设备 |
CN117008980A (zh) * | 2022-04-29 | 2023-11-07 | 华为技术有限公司 | 系统休眠方法及装置、系统唤醒方法及装置 |
WO2024036452A1 (zh) * | 2022-08-15 | 2024-02-22 | 华为技术有限公司 | 一种处理装置及相关低功耗待机控制方法 |
CN115576258A (zh) * | 2022-12-08 | 2023-01-06 | 小米汽车科技有限公司 | 车辆芯片系统控制方法、系统级芯片以及车辆 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111506351A (zh) | 片上系统的深度休眠方法、唤醒方法和休眠与唤醒方法 | |
EP2581826B1 (en) | Method and device for cold starting android mobile terminal | |
CN109739563B (zh) | 终端的控制方法、装置、系统及存储介质 | |
US6732280B1 (en) | Computer system performing machine specific tasks before going to a low power state | |
CN109885343B (zh) | 一种控制器低功耗启动方法、装置、计算机设备及存储介质 | |
JP2988866B2 (ja) | コンピュータシステム | |
US20090292934A1 (en) | Integrated circuit with secondary-memory controller for providing a sleep state for reduced power consumption and method therefor | |
US6405320B1 (en) | Computer system performing machine specific tasks before going to a low power state | |
JPH1097353A (ja) | コンピュータシステム及び同システムに適用するレジューム処理方法 | |
US20140325197A1 (en) | Specialized boot path for speeding up resume from sleep state | |
WO2011063584A1 (zh) | 嵌入式系统的深度休眠方法与装置 | |
US20030070065A1 (en) | Suspending to nonvolatile storage | |
US20140013140A1 (en) | Information processing apparatus and computer program product | |
US20120117364A1 (en) | Method and System for Operating a Handheld Calculator | |
US20040250147A1 (en) | Uninterrupted system operation | |
CN114661368B (zh) | 一种芯片及其启动方法 | |
TWI485623B (zh) | 快速喚醒電腦系統方法與電腦系統 | |
CN103927145A (zh) | 一种基于混合内存的系统休眠、唤醒方法及装置 | |
US9652259B2 (en) | Apparatus and method for managing register information in a processing system | |
JPH10133714A (ja) | 集積回路装置 | |
JP2003085041A (ja) | ディスクキャッシュシステム | |
CN111176408B (zh) | 一种SoC的低功耗处理方法和装置 | |
CN110058973B (zh) | 数据储存装置的测试系统与数据储存装置的测试方法 | |
JP3427010B2 (ja) | コンピュータシステム | |
JP3699947B2 (ja) | マイクロコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 519000 2706, No. 3000, Huandao East Road, Hengqin new area, Zhuhai, Guangdong Applicant after: Zhuhai Yiwei Semiconductor Co.,Ltd. Address before: Room 105-514, No.6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant before: AMICRO SEMICONDUCTOR Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200807 |