The invention discloses a control device, an integrated circuit and a management method of a task stack thereof. The management method of the task stack including running task instructions, including the first task; before running the first function pointers in the internal memory of the stack by pointing to the internal memory change to external memory, the internal memory stack is a task to the stack; the first run function, the temporary storage of information the first operation function during storage need to be stored in external memory function after operation; first, the stack pointer to the internal memory. By the above method, the invention can reduce cost and realize low power consumption.
【技术实现步骤摘要】
控制装置、集成电路及任务栈的管理方法
本专利技术涉及嵌入式
,特别是涉及一种控制装置、集成电路及任务栈的管理方法。
技术介绍
目前嵌入式系统,尤其是运行固件的嵌入式系统,通常搭配主系统实现特定或单一性的功能,同时要具备低功耗、低成本等特点,这类嵌入式系统通常用于运行较为简单的OS(OperatingSystem,操作系统)。随着实用需求的发展,例如智能手机或者穿戴式设备的发展需求,越来越需要嵌入式系统能够独立运作,实现完整的功能,比如GPS定位解算,步态识别等等,以使主系统尽可能处于休眠状态。因此,嵌入式系统需要具备一定运行通用软体的能力,在运行这些通用软体时,需要将局部变量存储到内部存储器中的stack,但是由于内部存储器本身就比较小,stack的尺寸也比较小(比如4kb),而且不能超过预先定义的范围,所以会出现在运行某个通用软体时,stack不够用而溢出的情况。为了解决这个问题,一些已有技术直接扩充了内部存储器的容量,但是如果初始化stack的程序代码已经固化在ROM中,所以即使扩充了内部存储器的容量也无法再加大stack的尺寸,而且由于扩充了内部存储器的容量会导致嵌入式系统的成本大大增加。
技术实现思路
本专利技术主要解决的技术问题是提供一种控制装置、集成电路及任务栈的管理方法,能够解决成本增加的问题。本专利技术一方面提供一种任务栈的管理方法,包括:获得运行任务的指令,所述任务包括第一功能;在运行所述第一功能之前,将内部存储器中栈的指针由指向内部存储器更改为指向外部存储器,其中,所述内部存储器中所述栈是所述任务所使用的栈;运行所述第一功能,其中,运 ...
【技术保护点】
一种任务栈的管理方法,其特征在于,获得运行任务的指令,所述任务包括第一功能;在运行所述第一功能之前,将内部存储器中栈的指针由指向内部存储器更改为指向外部存储器,其中,所述内部存储器中所述栈是所述任务所使用的栈;运行所述第一功能,其中,运行所述第一功能期间需要存储的临时存储信息被存储在所述栈的指针所指向的外部存储器;以及运行所述第一功能结束后,将所述栈的指针指向所述内部存储器。
【技术特征摘要】
1.一种任务栈的管理方法,其特征在于,获得运行任务的指令,所述任务包括第一功能;在运行所述第一功能之前,将内部存储器中栈的指针由指向内部存储器更改为指向外部存储器,其中,所述内部存储器中所述栈是所述任务所使用的栈;运行所述第一功能,其中,运行所述第一功能期间需要存储的临时存储信息被存储在所述栈的指针所指向的外部存储器;以及运行所述第一功能结束后,将所述栈的指针指向所述内部存储器。2.根据权利要求1所述的任务栈的管理方法,其特征在于,所述任务包括第二功能;所述第二功用于调用第一功能;在将内部存储器中栈的指针由指向内部存储器更改为指向外部存储器之前所述方法还包括:运行第二功能中位于调用第一功能之前的代码,并将运行所述代码期间需要存储的临时存储信息存储在栈的当前指针所指向的内部存储器,其中,运行所述代码完成时所述栈的指针指向内部存储器的第一位置;其中,运行所述第一功能结束后,将所述栈的指针指向内部存储器具体为:调用所述第一功能结束后,将所述栈的指针指向内部存储器的所述第一位置。3.根据权利要求1所述的任务栈的管理方法,其特征在于,所述任务包括第二功能;所述第二功能位于第一功能之后;运行所述第一功能结束后,将所述栈的指针指向内部存储器具体为:运行所述第一功能结束后,将所述栈的指针指向内部存储器的第一位置;该管理方法还包括:运行所述第二功能,运行所述第二功能期间需要存储的临时存储信息从所述内部存储器的第一位置开始存储。4.根据权利要求1所述的任务栈的管理方法,其特征在于,该管理方法由微控制器执行,且该方法还包括:微控制器从主处理器接收所述第一功能的代码,或者,所述第一功能的代码烧录在微控制器的可擦除非易失型存储器中。5.根据权利要求1所述的任务栈的管理方法,其特征在于,该管理方法由微控制器执行,所述内部存储器位于所述微控制器中且包括多个栈,该微控制器上并行运行的多个任务中每个任务分别使用各自的栈。6.根据权利要求1所述的任务栈的管理方法,其特征在于,该管理方法还包括:向主处理器发送请求以请求分配所述外部存储器的使用空间;接收主处理器发送的通知消息,所述通知消息指示了所述主处理器分配的所述外部存储器的使用空间,其中,所述外部存储器的使用空间用于存储运行所述第一功能期间需要存储的临时存储信息。7.根据权利要求1所述的任务栈的管理方法,其特征在于,该管理方法还包括:该方法由微控制器执行,该微控制器外挂该外部存储器;该方法还包括:在运行所述第一功能之前,给所述外部存储器上电;在运行所述第一功能结束之后,所述外部存储器被断电。8.根据权利要求1所述的任务栈的管理方法,其特征在于,在运行所述第一功能结束之后,该管理方法还包括:给主处理器发送消息以通知主处理器释放外部存储器中用于存储所述临时存储信息的空间。9.一种集成电路,其特征在于,包括微控制器;所述微控制器包括:内部存储器和处理模块;所述处理模块用于获得执行任务的指令,所述任务包括第一功能;在运行所述第一功能之前,将所述微控制器的内部存储器中栈的指针由指向内部存储器更改为指向外部存储器;运行所述第一功能,输出运行所述第一功能期间需要存储的临时存储信息,其中,所述临时存储信息被存储在所述栈的指针所指向的外部存储器;运行所述第一功能结束后,将所述栈的指针指向所述内部存储器;所述内部存储器,包括...
【专利技术属性】
技术研发人员:付华,
申请(专利权)人:联发科技新加坡私人有限公司,
类型:发明
国别省市:新加坡,SG
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。