本申请公开了一种存储器控制方法、系统及相关组件,涉及设备编程领域,应用于控制器,控制器的第一侧端口与处理器连接,控制器的第二侧端口与待编程的存储器连接,存储器控制方法包括:接收处理器的控制指令;确定控制指令对应的目标状态位;获取存储器的当前状态位;根据目标状态位和当前状态位的逻辑跳转关系,调整存储器的状态位,以使处理器对存储器执行控制指令。本申请将外设的控制器连接于处理器和存储器之间,根据处理器的控制指令按照逻辑跳转关系控制存储器的状态位,控制过程中存储器不会出现处于编程状态时要被读取数据的情况,避免处理器在编程过程中对存储器的编程读写发生冲突,提高了编程的效率和成功率。提高了编程的效率和成功率。提高了编程的效率和成功率。
【技术实现步骤摘要】
一种存储器控制方法、系统及相关组件
[0001]本专利技术涉及设备编程领域,特别涉及一种存储器控制方法、系统及相关组件。
技术介绍
[0002]目前运算装置(如MCU,Microcontroller Unit,微控制单元)的运行流程,是由内部处理器(如CPU,Central Processing Unit,中央处理器)执行程序时,自动从某个存储器中不断获取运行程序相关的指令数据,常用的存储器包括嵌入式闪存、静态RAM(Random Access Memory,随机存取存储器)等,其中闪存属于非易失存储器,数据不会因断电丢失,是主要的程序存放存储器,静态RAM作为缓存区域,在运算装置上电后从其他的存储器中间移到缓存区域为处理器提供指令数据。
[0003]基于以上运行流程,运算装置的编程操作,也即改变其存储器中的运行程序的动作,既要读取存储器中运行程序,又要对运行程序进行重新写入,一旦存储器处于编程状态中无法读取正确指令,则会造成死机。
[0004]为了解决这个问题,通常将运算装置中编程操作需要的程序转移到其他的存储器中,然后再对运算装置内部的存储器进行写入操作,在一定程度上解决了编程冲突的问题。但是,编程过程中依然存在对内部存储器的中断向量表的读取需求,该中断向量表需要占用处理器的启动地址,默认存储在存储器的特定区域,通常无法更改,使得编程过程中依然存在发生冲突死机的可能。
[0005]因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。
技术实现思路
[0006]有鉴于此,本专利技术的目的在于提供一种避免编程过程中发生冲突死机的存储器控制方法、系统及相关组件。其具体方案如下:
[0007]一种存储器控制方法,应用于控制器,所述控制器的第一侧端口与处理器连接,所述控制器的第二侧端口与待编程的存储器连接,所述存储器控制方法包括:
[0008]接收所述处理器的控制指令;
[0009]确定所述控制指令对应的目标状态位;
[0010]获取所述存储器的当前状态位;
[0011]根据所述目标状态位和所述当前状态位的逻辑跳转关系,调整所述存储器的状态位,以使所述处理器对所述存储器执行所述控制指令。
[0012]优选的,所述状态位包括互相可跳转的等待状态和占用状态,根据所述目标状态位和所述当前状态位的逻辑跳转关系,调整所述存储器的状态位的过程,包括:
[0013]判断所述当前状态位是否为所述等待状态;
[0014]若否,等待所述存储器的状态位从所述当前状态位跳转至所述等待状态后,再根据所述目标状态位调整所述存储器的状态位;
[0015]若是,根据所述目标状态位调整所述存储器的状态位。
[0016]优选的,所述等待状态包括第一等待状态、第二等待状态,所述占用状态包括编程写操作对应的第一占用状态和非编程写操作的其他占用对应的第二占用状态,所述状态位还包括中间状态,所述中间状态包括第一中间状态和第二中间状态;
[0017]所述逻辑跳转关系包括:所述第一等待状态的跳转对象包括所述第一中间状态和所述第二占用状态,所述第二等待状态的跳转对象包括所述第一占用状态和所述第二中间状态,所述第一中间状态的跳转对象为所述第一占用状态,所述第二中间状态的跳转对象为所述第二中间状态,所述第一占用状态的跳转对象为所述第二等待状态,所述第二占用状态的跳转对象为所述第一等待状态。
[0018]优选的,所述第一中间状态具体为准备编程状态,所述第二中间状态具体为退出编程状态。
[0019]优选的,根据所述目标状态位调整所述存储器的状态位的过程,包括:
[0020]根据所述逻辑跳转关系及每个所述状态位对应的预设时间段,将所述存储器的状态位调整为所述目标状态位。
[0021]优选的,所述预设时间段根据所述逻辑跳转关系和所述控制指令确定。
[0022]优选的,所述控制指令包括写指令、和/或读指令、和/或擦除指令。
[0023]相应的,本申请还公开了一种存储器控制系统,应用于控制器,所述控制器的第一侧端口与处理器连接,所述控制器的第二侧端口与待编程的存储器连接,所述存储器控制系统包括:
[0024]接收模块,用于接收所述处理器的控制指令;
[0025]确定模块,用于确定所述控制指令对应的目标状态位;
[0026]获取模块,用于获取所述存储器的当前状态位;
[0027]控制模块,用于根据所述目标状态位和所述当前状态位的逻辑跳转关系,调整所述存储器的状态位,以使所述处理器对所述存储器执行所述控制指令。
[0028]相应的,本申请还公开了一种电子设备,包括:
[0029]存储器,用于存储计算机程序;
[0030]处理器,用于执行所述计算机程序时实现如上文任一项所述存储器控制方法的步骤。
[0031]相应的,本申请还公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一项所述存储器控制方法的步骤。
[0032]本申请将外设的控制器连接于处理器和存储器之间,根据处理器的控制指令按照逻辑跳转关系控制存储器的状态位,根据不同的执行指令控制存储器的状态位,如果存储器在编程状态时处理器发出了读取数据的控制指令,则控制器会将存储器的状态位从编程状态设置为读取状态,然后处理器再对存储器执行读取数据的动作,控制过程中存储器不会出现处于编程状态时要被读取数据的情况,从而保证处理器能够对存储器顺利执行控制指令,避免处理器在编程过程中对存储器的编程读写发生冲突,提高了编程的效率和成功率。
附图说明
[0033]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0034]图1为本专利技术实施例中一种存储器控制方法的步骤流程图;
[0035]图2为本专利技术实施例中一种存储器控制方法的硬件连接图;
[0036]图3为本专利技术实施例中一种逻辑跳转关系的结构分布图;
[0037]图4为本专利技术实施例中一种存储器控制方法的硬件结构图;
[0038]图5为本专利技术实施例中一种存储器控制系统的结构分布图。
具体实施方式
[0039]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0040]编程过程中依然存在对内部存储器的中断向量表的读取需求,该中断向量表需要占用处理器的启动地址,默认存储在存储器的特定区域,通常无法更改,使得编程过程中依然存在发生冲突死机的可能。...
【技术保护点】
【技术特征摘要】
1.一种存储器控制方法,其特征在于,应用于控制器,所述控制器的第一侧端口与处理器连接,所述控制器的第二侧端口与待编程的存储器连接,所述存储器控制方法包括:接收所述处理器的控制指令;确定所述控制指令对应的目标状态位;获取所述存储器的当前状态位;根据所述目标状态位和所述当前状态位的逻辑跳转关系,调整所述存储器的状态位,以使所述处理器对所述存储器执行所述控制指令。2.根据权利要求1所述存储器控制方法,其特征在于,所述状态位包括互相可跳转的等待状态和占用状态,根据所述目标状态位和所述当前状态位的逻辑跳转关系,调整所述存储器的状态位的过程,包括:判断所述当前状态位是否为所述等待状态;若否,等待所述存储器的状态位从所述当前状态位跳转至所述等待状态后,再根据所述目标状态位调整所述存储器的状态位;若是,根据所述目标状态位调整所述存储器的状态位。3.根据权利要求2所述存储器控制方法,其特征在于,所述等待状态包括第一等待状态、第二等待状态,所述占用状态包括编程写操作对应的第一占用状态和非编程写操作的其他占用对应的第二占用状态,所述状态位还包括中间状态,所述中间状态包括第一中间状态和第二中间状态;所述逻辑跳转关系包括:所述第一等待状态的跳转对象包括所述第一中间状态和所述第二占用状态,所述第二等待状态的跳转对象包括所述第一占用状态和所述第二中间状态,所述第一中间状态的跳转对象为所述第一占用状态,所述第二中间状态的跳转对象为所述第二中间状态,所述第一占用状态的跳转对象为所述第二等待状态,所述第二占用状态的跳转...
【专利技术属性】
技术研发人员:王锐,李志华,李建军,莫军,王亚波,
申请(专利权)人:广芯微电子苏州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。