CN113934454A - 数据读写方法及微控制单元mcu芯片、车辆、存储介质 - Google Patents

数据读写方法及微控制单元mcu芯片、车辆、存储介质 Download PDF

Info

Publication number
CN113934454A
CN113934454A CN202111217172.0A CN202111217172A CN113934454A CN 113934454 A CN113934454 A CN 113934454A CN 202111217172 A CN202111217172 A CN 202111217172A CN 113934454 A CN113934454 A CN 113934454A
Authority
CN
China
Prior art keywords
indication value
data
read
storage address
target
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
Application number
CN202111217172.0A
Other languages
English (en)
Inventor
尚志燚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Xiaopeng Motors Technology Co Ltd
Original Assignee
Guangzhou Xiaopeng Motors Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Xiaopeng Motors Technology Co Ltd filed Critical Guangzhou Xiaopeng Motors Technology Co Ltd
Priority to CN202111217172.0A priority Critical patent/CN113934454A/zh
Publication of CN113934454A publication Critical patent/CN113934454A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例公开了一种数据读写方法及微控制单元MCU芯片、车辆、存储介质,该方法包括:接收目标数据;将目标数据写入写指针指向的目标存储地址;当检测到读取指令时,从读指针指向的目标存储地址读取目标数据;通过预置写指针和读指针指向同一目标存储地址,保证在数据写入时,总是写入到目标存储地址,而在数据读取时,总是从目标存储地址读取数据,无需监控读写指针,却保证读指针地址和写指针地址的一致性,提高数据读写的准确率。

Description

数据读写方法及微控制单元MCU芯片、车辆、存储介质
技术领域
本申请涉及芯片技术领域,尤其涉及一种数据读写方法及微控制单元MCU芯片、车辆、存储介质。
背景技术
目前,国内的汽车行业在使用一些芯片进行零部件开发时,发现芯片在数据读写过程中无法主动监控写指针和读指针,例如,在整车控制器局域网络(Controller AreaNetwork,CAN)接收到数据后发给微控制单元(Microcontroller Unit,MCU)芯片,微控制单元MCU芯片会将数据写入芯片寄存器,同时写指针+1(对应地址+1),写入后允许芯片读取对应数据,读取后读指针+1(对应地址+1),以保证下次读取地址与写入地址一致,在指针指向最后一个地址并写入读完后,读写指针循环回位到第一个地址,开始新一轮循环。但是,芯片只是在初始化时会主动将读指针和写指针置于同一个地址,之后是通过写指针遵循写入后+1和读指针读取后+1的同一规律以控制下次读取地址和写入地址一致,而一旦两个指针中的某一个出现差错,就会使得读写不同步,直至下一次芯片初始化才能恢复。可见,现有汽车使用的一些微控制单元MCU芯片在读写数据过程中,无法监控写指针和读指针以控制读写同步,导致数据读写可能出现错误偏差。
发明内容
本发明实施例公开了一种数据读写方法及微控制单元MCU芯片、车辆、存储介质,能够在数据读写过程中保持读指针和写指针一致,以提高数据读写的准确率。
本发明实施例第一方面公开了一种数据读写方法,应用于微控制单元MCU芯片,所述微控制单元MCU芯片预置写指针和读指针指向同一目标存储地址,所述方法包括:
接收目标数据;
将所述目标数据写入所述写指针指向的所述目标存储地址;
当检测到读取指令时,从所述读指针指向的所述目标存储地址读取所述目标数据。
作为一种可选的实施方式,在本发明实施例第一方面中,所述将所述目标数据写入所述写指针指向的所述目标存储地址之前,所述方法还包括:
检测写状态标记位的当前值是否为第三指示值,且所述目标存储地址是否处于空闲状态,所述第三指示值用于指示所述目标存储地址可写入数据;
当确定所述写状态标记位的当前值为所述第三指示值且所述目标存储地址处于空闲状态时,执行所述将所述目标数据写入所述写指针指向的所述目标存储地址的步骤。
作为一种可选的实施方式,在本发明实施例第一方面中,所述将所述目标数据写入所述写指针指向的所述目标存储地址之后,所述方法还包括:
将所述写状态标记位从所述第三指示值置为第一指示值,所述第一指示值用于指示已写入数据及可从所述目标存储地址读取数据。
作为一种可选的实施方式,在本发明实施例第一方面中,所述将所述写状态标记位从所述第三指示值置为第一指示值之后,所述方法还包括:
在监测到所述写状态标记位的当前值为所述第一指示值后,将读状态标记位置为第二指示值,所述第二指示值用于指示正在从所述目标存储地址读取数据;
所述当检测到读取指令时,从所述读指针指向的所述目标存储地址读取所述目标数据,包括:
当监测到所述读状态标记位的当前值为所述第二指示值时,从所述读指针指向的所述目标存储地址读取所述目标数据。
作为一种可选的实施方式,在本发明实施例第一方面中,所述当监测到所述读状态标记位的当前值为所述第二指示值时,从所述读指针指向的所述目标存储地址读取所述目标数据之后,所述方法还包括:
在处理完所述目标数据后,将所述读状态标记位从所述第二指示值置为第四指示值,所述第四指示值用于指示已读取完数据。
作为一种可选的实施方式,在本发明实施例第一方面中,所述在处理完所述目标数据后,将所述读状态标记位从所述第二指示值置为第四指示值之后,所述方法还包括:
在监测到所述读状态标记位的当前值为所述第四指示值后,将所述写状态标记位从所述第一指示值置为所述第三指示值。
作为一种可选的实施方式,在本发明实施例第一方面中,所述在处理完所述目标数据后,将所述读状态标记位从所述第二指示值置为第四指示值之后,所述方法还包括:
将所述目标数据从所述目标存储地址清除,以使所述目标存储地址处于空闲状态。
本发明实施例第二方面公开了一种微控制单元MCU芯片,所述微控制单元MCU芯片预置写指针和读指针指向同一目标存储地址,所述微控制单元MCU芯片包括:
接收模块,用于接收目标数据;
写入模块,用于将所述目标数据写入所述写指针指向的所述目标存储地址;
读取模块,用于当检测到读取指令时,从所述读指针指向的所述目标存储地址读取所述目标数据。
作为一种可选的实施方式,在本发明实施例第二方面中,所述微控制单元MCU芯片还包括:
检测模块,用于在所述写入模块将所述目标数据写入所述写指针指向的所述目标存储地址之前,检测写状态标记位的当前值是否为第三指示值,且所述目标存储地址是否处于空闲状态,所述第三指示值用于指示所述目标存储地址可写入数据;
所述写入模块,具体用于当所述检测模块确定所述写状态标记位的当前值为所述第三指示值且所述目标存储地址处于空闲状态时,将所述目标数据写入所述写指针指向的所述目标存储地址。
作为一种可选的实施方式,在本发明实施例第二方面中,所述微控制单元MCU芯片还包括:
设置模块,用于在所述写入模块将所述目标数据写入所述写指针指向的所述目标存储地址之后,将所述写状态标记位从所述第三指示值置为第一指示值,所述第一指示值用于指示已写入数据及可从所述目标存储地址读取数据。
作为一种可选的实施方式,在本发明实施例第二方面中,所述设置模块,还用于在将所述写状态标记位从所述第三指示值置为第一指示值之后,在监测到所述写状态标记位的当前值为所述第一指示值后,将读状态标记位置为第二指示值,所述第二指示值用于指示正在从所述目标存储地址读取数据;
所述读取模块,具体用于当监测到所述读状态标记位的当前值为所述第二指示值时,从所述读指针指向的所述目标存储地址读取所述目标数据。
作为一种可选的实施方式,在本发明实施例第二方面中,所述设置模块,还用于在所述读取模块监测到所述读状态标记位的当前值为所述第二指示值时,从所述读指针指向的所述目标存储地址读取所述目标数据之后,在处理完所述目标数据后,将所述读状态标记位从所述第二指示值置为第四指示值,所述第四指示值用于指示已读取完数据。
作为一种可选的实施方式,在本发明实施例第二方面中,所述设置模块,还用于在处理完所述目标数据后,将所述读状态标记位从所述第二指示值置为第四指示值之后,在监测到所述读状态标记位的当前值为所述第四指示值后,将所述写状态标记位从所述第一指示值置为所述第三指示值。
作为一种可选的实施方式,在本发明实施例第二方面中,所述微控制单元MCU芯片还包括:
清除模块,用于在所述设置模块在处理完所述目标数据后,将所述读状态标记位从所述第二指示值置为第四指示值之后,将所述目标数据从所述目标存储地址清除,以使所述目标存储地址处于空闲状态。
本发明实施例第三方面公开了一种车辆,可包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明实施例第一方面公开的一种数据读写方法。
本发明实施例第四方面公开一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例第一方面的任意一种方法的步骤。
本发明实施例第五方面公开一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面的任意一种方法的部分或全部步骤。
本发明实施例第六方面公开一种应用发布平台,所述应用发布平台用于发布计算机程序产品,其中,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面的任意一种方法的部分或全部步骤。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例公开的数据读写方法应用于微控制单元MCU芯片,该微控制单元MCU芯片预置写指针和读指针指向同一目标存储地址,在接收到目标数据后,将目标数据写入写指针指向的目标存储地址,在检测到读取指令后,然后从读指针指向的目标存储地址读取写入的目标数据;可见,实施本发明实施例,由于预置写指针和读指针指向同一目标存储地址,保证在数据写入时,总是写入到目标存储地址,而在数据读取时,总是从目标存储地址读取数据,无需监控读写指针,却保证了读指针地址和写指针地址的一致性,提高数据读写的准确率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一公开的数据读写方法的流程示意图;
图2为本发明实施例二公开的数据读写方法的流程示意图;
图3为本发明实施例一公开的数据读取应用示意图;
图4为本发明实施例二公开的数据读取应用示意图;
图5为本发明实施例一公开的微控制单元MCU芯片的结构示意图;
图6为本发明实施例二公开的微控制单元MCU芯片的结构示意图;
图7为本发明实施例公开的车辆的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书中的术语“第一”、“第二”、“第三”及“第四”等是用于区别不同的对象,而不是用于描述特定顺序。本发明实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例公开了一种数据读写方法及微控制单元MCU芯片、车辆、存储介质,用于在数据读写过程中,保证读指针地址和写指针地址的一致性,提高数据读写的准确率。
下面将从微控制单元MCU芯片角度出发,通过具体实施例对本发明技术方案进行详细介绍。
请参阅图1,图1为本发明实施例一公开的数据读写方法的流程示意图;如图1所示,该数据读写方法可包括:
101、接收目标数据。
本发明实施例的执行主体为微控制单元MCU芯片,该微控制单元MCU芯片预置写指针和读指针指向同一目标存储地址,使得写指针和读指针始终指向该目标存储地址,确保在数据读写过程中,写指针地址和读指针地址的一致性,实现对目标存储地址的数据写入和数据读取。
可选的,目标数据可以为微控制单元MCU芯片从整车CAN网络接收到的,示例性的,可以为各类传感器采集的数据。
102、将目标数据写入写指针指向的目标存储地址。
其中,获取到目标数据后,根据写指针的指向确定出目标存储地址,然后将接收到的目标数据写入到该目标存储地址。
在本发明实施例中,目标存储地址,可以是寄存器地址,将目标数据写入写指针指向的目标存储地址,具体是将目标数据写入到目标存储地址对应的存储区域。
103、当检测到读取指令时,从读指针指向的目标存储地址读取目标数据。
当检测到读取指令后,根据读指针的指向确定出目标存储地址,然后从目标存储地址读取该目标数据,实现在一个目标存储地址上进行数据写入和数据读取,保证写指针和读指针始终一致。
通过实施上述实施例,在获取到目标数据后,将目标数据写入写指针指向的目标存储地址,在检测到读取指令后,然后从读指针指向的目标存储地址读取写入的目标数据;可见,实施本发明实施例,由于预置写指针和读指针指向同一目标存储地址,保证在数据写入时,总是写入到目标存储地址,而在数据读取时,总是从目标存储地址读取,无需监控读写指针,却保证了读指针地址和写指针地址的一致性,提高数据读写的准确率。
请参阅图2,图2为本发明实施例二公开的数据读写方法的流程示意图;如图2所示,该数据读写方法可包括以下步骤:
201、接收目标数据。
其中,本发明实施例的执行主体为微控制单元MCU芯片。
202、检测写状态标记位的当前值是否为第三指示值,且目标存储地址是否处于空闲状态,该第三指示值用于指示目标存储地址可写入数据;其中,当写状态标记位的当前值为第三指示值且目标存储地址处于空闲状态时,转向步骤203;当写状态标记位的当前值不是第三指示值和/或目标存储地址未处于空闲状态时,不做任何处理,保持上一次读写状态,结束本流程。
在本发明实施例中,预置有写状态标记位和读状态标记位,该写状态标记位用于指示写入状态,读状态标记位用于指示读取状态,在读写过程中,通过对写状态标记位和读状态标记位赋值来指示相应状态。其中,可以对写状态标记位的当前值赋以第一指示值或者第三指示值,在写状态标记位的当前值为第三指示值时,指示可以在目标存储地址写入数据,在写状态标记位的当前值为第一指示值时,指示已经将数据写入目标存储地址,可从目标存储地址读取数据;相似的,可以对读状态标记位的当前值赋以第二指示值或者第四指示值,在读状态标记位的当前值为第二指示值时,指示正在读取数据,在读状态标记位的当前值为第四指示值时,指示已读取完数据。
可选的,可以采用寄存器的标记位实现写状态标记位和读状态标记位,包括指示写入状态的寄存器和指示读取状态的寄存器,在目标存储地址写入目标数据后,指示写入状态的寄存器的标记位被置为第一指示值,表示已经将数据写入目标存储地址,可从目标存储地址读取数据,在指示写入状态的寄存器的标记位被置为第三指示值时,表示可将数据写入目标存储地址;在指示读取状态的寄存器的标记位的当前值为第二指示值时,指示正在读取数据,在指示读取状态的寄存器的标记位的当前值为第四指示值时,指示已读取完数据;通过该可选方式,利用寄存器可以简单便捷地指示出写入状态和读取状态,以实现有序准确的数据读写操作。
示例性的,第一指示值可以为1,第三指示值可以为0,第二指示值可以为1,第四指示值可以为0。
203、将目标数据写入写指针指向的目标存储地址。
其中,根据写指针的指向确定出目标存储地址,将目标数据写入到目标存储地址。
204、将写状态标记位从第三指示值置为第一指示值,该第一指示值用于指示已写入数据及可从目标存储地址读取数据。
其中,在目标存储地址写入目标数据后,将相应的写状态标记位置从第三指示值置为第一指示值,以用于指示已写入数据至目标存储地址及可从目标存储地址读取数据。
可选的,在采用寄存器实现写状态标记位时,在目标存储地址写入目标数据后,将寄存器的标记位从第三指示值置为第一指示值。
205、在监测到写状态标记位的当前值为第一指示值后,将读状态标记位置为第二指示值,该第二指示值用于指示正在从目标存储地址读取数据。
206、当监测到读状态标记位的当前值为第二指示值时,从读指针指向的目标存储地址读取目标数据。
在监测到写状态标记位的当前值为第一指示值时,将读状态标记位置为第二指示值,触发读取指令,然后根据读指针的指向,确定出目标存储地址,从目标存储地址读取目标数据,由于写指针和读指针保持指向目标存储地址,能够始终维持写指针地址和读指针地址的一致性,提高数据读写的准确率。
可选的,在采用寄存器实现读状态标记位时,在写状态标记位置为第一指示值后,将寄存器标记位置为第二指示值,以指示在读取数据,不能写入数据。
207、在处理完目标数据后,将读状态标记位从第二指示值置为第四指示值,该第四指示值用于指示已读取完数据。
需要说明的是,处理完目标数据可以是将目标数据转发出去,或者是完成目标数据的分析并转发,或者是对目标数据分析并生成相应指令发送出去,示例性的,微控制单元MCU芯片从CAN网络接收摄像头采集的环境图像信息,写入目标存储地址缓存后,又从目标存储地址读取出来,完成对环境图像信息的分析并结合其它传感器的数据以获得自动驾驶的控制指令,将控制指令发送给电子控制单元(Electronic Control Unit,ECU),以实现自动驾驶。
在处理完步骤207后,转向步骤208和步骤209。
208、在监测到读状态标记位的当前值为第四指示值后,将写状态标记位从第一指示值置为第三指示值。
209、将目标数据从目标存储地址清除,以使目标存储地址处于空闲状态。
需要说明的是,步骤208和步骤209可以同时执行,或者先后执行,且先后顺序不受限制。
其中,微控制单元MCU芯片在完成目标数据的处理后,可以读取下一个目标数据,通过将读状态标记位从第二指示值置为第四指示值,以指示已读取完目标存储地址的目标数据,不需要再读取,然后便于重新在目标存储地址写入新数据。需要说明的是,微控制单元MCU芯片在处理目标数据时,可能需要多次从目标存储地址读取该目标数据,因此,为了确保微控制单元MCU芯片能够读取到正确的目标数据,只有在完成目标数据的处理后,或者说在准备读取下一个目标数据之前,才会将读状态标记位置为第四指示值。
示例性的,第四指示值可以为0,以用于指示可以往目标存储地址写入新的目标数据。
通过步骤208及步骤209,微控制单元MCU芯片在确定读状态标记位从第二指示值置为第四指示值后,明确不再需要该目标数据,将目标数据从目标存储地址清除,同时将写状态标记位从第一指示值置为第三指示值,以指示可以往目标存储地址写入新数据,实现在目标存储地址为空的情况下再往目标存储地址写入新数据,不进行写入数据的覆盖操作,有利于提高读写的一致性,提升读写准确率。
可见,通过实施本发明实施例,微控制单元MCU芯片预置写指针和读指针指向同一目标存储地址,同时通过配合写状态标记位和读状态标记位,无需改变写指针地址和读指针的地址,就达到了有序进行数据写入和数据读取,保持读写一致性。
请参阅图3,图3为本发明实施例一公开的数据读取应用示意图;结合图3,在一些实施方式中,寄存器只对应一个存储地址0,将该唯一的一个存储地址0作为目标存储地址,写指针和读指针预置指向该目标存储地址,在写入数据时,根据写指针的指向直接将目标数据写入到目标存储地址(目标存储地址对应的存储区域),在读取数据时,根据读指针的指向直接从目标存储地址(目标存储地址对应的存储区域)读取目标数据。
请参阅图4,图4为本发明实施例二公开的数据读取应用示意图;结合图4,在一些实施方式中,寄存器对应多个存储地址(多个存储区域,即将对应的存储区域划分成多个相等的存储子区域获得多个存储地址),分别包括存储地址0-存储地址15共16个存储地址,将存储地址5作为目标存储地址,并预置写指针和读指针均指向目标存储地址(存储地址5),在写入数据时,先根据写指针的指向确定出目标存储地址,然后从目标存储地址开始写入目标数据(目标数据包括数据1至数据m,m为正整数),当目标存储地址未能写完目标数据时(目标存储地址只写入目标数据中的数据1、数据2和数据3),对剩余的数据起点做标记(对数据4做标记),依序获取下一个存储地址6,在存储地址6上接着从标记对应的数据开始写入,当存储地址6能够写完剩下的数据,将结束流程,当存储地址6未能写完剩下的数据,对剩余的数据起点做标记,将继续获取存储地址7,在存储地址7上接着从标记对应的数据开始写入,---,直至在存储地址n将目标数据全部写完(图中以在存储地址8写完目标数据为例),其中,存储地址n可以为在存储地址7-存储地址15之内(包括存储地址7和存储地址15)的任意一个存储地址,或者存储地址n可以为在存储地址0-存储地址4之内(包括存储地址0和存储地址4)的任意一个存储地址,当存储地址n为存储地址0-存储地址4之内的任意一个存储地址时,说明从地址5至存储地址15共11个存储地址都未能写完目标数据,且在存储地址15依序写入部分数据后,获取的下一个存储地址为存储地址0,即循环回到存储地址0。需要说明的是,在上述写入过程中,无需监控写指针,不会改变写指针的指向。
结合图4,在读取数据时,先根据读指针的指向确定出目标存储地址,从目标存储地址开始读取数据,直至依序从存储地址n读取完目标数据的部分数据后,获得完整的目标数据。需要说明的是,在读取过程中,也无需监控读指针,不会改变读指针的指向,使得写指针和读指针始终指向相同的存储地址。
请参阅图5,图5为本发明实施例一公开的微控制单元MCU芯片的结构示意图;如图5所示,该微控制单元MCU芯片预置写指针和读指针均指向同一目标存储地址,该微控制单元MCU芯片可包括:
接收模块510,用于接收目标数据;
写入模块520,用于将目标数据写入写指针指向的目标存储地址;
读取模块530,用于当检测到读取指令时,从读指针指向的目标存储地址读取目标数据。
可选的,接收模块510用于从整车CAN网络接收得到。
实施上述微控制单元MCU芯片,在接收到目标数据后,将目标数据写入写指针指向的目标存储地址,在检测到读取指令后,然后从读指针指向的目标存储地址读取写入的目标数据;可见,实施本发明实施例,由于预置写指针和读指针指向同一目标存储地址,保证在数据写入时,总是写入到目标存储地址,而在数据读取时,总是从目标存储地址读取,无需监控读写指针,却保证了读指针地址和写指针地址的一致性,提高数据读写的准确率。
请参阅图6,图6为本发明实施例二公开的微控制单元MCU芯片的结构示意图;图6所示的微控制单元MCU芯片是在图4所示的微控制单元MCU芯片的基础上进行优化得到的,图6所示的微控制单元MCU芯片还包括:
检测模块610,用于在写入模块520将目标数据写入写指针指向的目标存储地址之前,检测写状态标记位的当前值是否为第三指示值,且目标存储地址是否处于空闲状态,该第三指示值用于指示目标存储地址可写入数据;
上述写入模块520,具体用于当检测模块610确定写状态标记位的当前值为第三指示值且目标存储地址处于空闲状态时,将目标数据写入写指针指向的目标存储地址。
在上述实施方式中,预置有写状态标记位和读状态标记位,该写状态标记位用于指示写入状态,读状态标记位用于指示读取状态,实现有序数据写入和数据读取,保持读写一致性。
进一步结合图6,该微控制单元MCU芯片还包括:
设置模块620,用于在写入模块520将目标数据写入写指针指向的目标存储地址之后,将写状态标记位从第三指示值置为第一指示值,该第一指示值用于指示已写入数据及可从目标存储地址读取数据。
在上述实施方式中,在目标存储地址写入目标数据后,将相应的写状态标记位置从第三指示值置为第一指示值,以用于指示已写入数据至目标存储地址及可从目标存储地址读取数据。
进一步的,上述设置模块620,还用于在将写状态标记位从第三指示值置为第一指示值之后,在监测到写状态标记位的当前值为第一指示值后,将读状态标记位置为第二指示值,该第二指示值用于指示正在从目标存储地址读取数据;
上述读取模块530,具体用于当监测到读状态标记位的当前值为第二指示值时,从读指针指向的目标存储地址读取目标数据。
通过上述实施方式,结合写状态标记位和读状态标记位,准确地标记写状态和读状态,以提高读写准确率。
进一步的,上述设置模块620,还用于在读取模块530监测到读状态标记位的当前值为第二指示值时,从读指针指向的目标存储地址读取目标数据之后,在处理完目标数据后,将读状态标记位从第二指示值置为第四指示值,该第四指示值用于指示已读取完数据。
进一步的,上述设置模块620,还用于在处理完目标数据后,将读状态标记位从第二指示值置为第四指示值之后,在监测到读状态标记位的当前值为第四指示值后,将写状态标记位从第一指示值置为第三指示值。
在读取完目标数据后,将写状态标记位从第一指示值置为第三指示值,在写状态标记位的当前值为第三指示值时,说明可以在目标存储地址写入新数据。
进一步结合图6,该MCU芯片还包括:
清除模块630,用于在设置模块620在处理完目标数据后,将读状态标记位从第二指示值置为第四指示值之后,将目标数据从目标存储地址清除,以使目标存储地址处于空闲状态。
微控制单元MCU芯片在确定读状态标记位从第二指示值置为第四指示值后,明确不再需要该目标数据,将目标数据从目标存储地址清除,同时将写状态标记位从第一指示值置为第三指示值,以指示可以往目标存储地址写入新数据,实现在目标存储地址为空的情况下再往目标存储地址写入新数据,不进行写入数据的覆盖操作,有利于提高读写的一致性,提升读写准确率。
请参阅图7,图7为本发明实施例公开的车辆的结构示意图;图7所示的车辆可包括:
存储有可执行程序代码的存储器701;
与存储器701耦合的处理器702;
其中,处理器702调用存储器701中存储的可执行程序代码,执行图1至图2任意一种数据读写方法的部分步骤或者全部步骤。
本发明实施例还公开一种计算机可读存储介质,其存储计算机程序,其中,所述计算机程序使得计算机执行图1至图2公开的一种数据读写方法。
本发明实施例还公开一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行图1至图2公开的任意一种方法的部分或全部步骤。
本发明实施例还公开一种应用发布平台,所述应用发布平台用于发布计算机程序产品,其中,当所述计算机程序产品在计算机上运行时,使得所述计算机执行图1至图2公开的任意一种方法的部分或全部步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上对本发明实施例公开的一种数据读写方法及微控制单元MCU芯片、车辆、存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (16)

1.一种数据读写方法,其特征在于,应用于微控制单元MCU芯片,所述微控制单元MCU芯片预置写指针和读指针指向同一目标存储地址,所述方法包括:
接收目标数据;
将所述目标数据写入所述写指针指向的所述目标存储地址;
当检测到读取指令时,从所述读指针指向的所述目标存储地址读取所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标数据写入所述写指针指向的所述目标存储地址之前,所述方法还包括:
检测写状态标记位的当前值是否为第三指示值,且所述目标存储地址是否处于空闲状态,所述第三指示值用于指示所述目标存储地址可写入数据;
当确定所述写状态标记位的当前值为所述第三指示值且所述目标存储地址处于空闲状态时,执行所述将所述目标数据写入所述写指针指向的所述目标存储地址的步骤。
3.根据权利要求2所述的方法,其特征在于,所述将所述目标数据写入所述写指针指向的所述目标存储地址之后,所述方法还包括:
将所述写状态标记位从所述第三指示值置为第一指示值,所述第一指示值用于指示已写入数据及可从所述目标存储地址读取数据。
4.根据权利要求3所述的方法,其特征在于,所述将所述写状态标记位从所述第三指示值置为第一指示值之后,所述方法还包括:
在监测到所述写状态标记位的当前值为所述第一指示值后,将读状态标记位置为第二指示值,所述第二指示值用于指示正在从所述目标存储地址读取数据;
所述当检测到读取指令时,从所述读指针指向的所述目标存储地址读取所述目标数据,包括:
当监测到所述读状态标记位的当前值为所述第二指示值时,从所述读指针指向的所述目标存储地址读取所述目标数据。
5.根据权利要求4所述的方法,其特征在于,所述当监测到所述读状态标记位的当前值为所述第二指示值时,从所述读指针指向的所述目标存储地址读取所述目标数据之后,所述方法还包括:
在处理完所述目标数据后,将所述读状态标记位从所述第二指示值置为第四指示值,所述第四指示值用于指示已读取完数据。
6.根据权利要求5所述的方法,其特征在于,所述在处理完所述目标数据后,将所述读状态标记位从所述第二指示值置为第四指示值之后,所述方法还包括:
在监测到所述读状态标记位的当前值为所述第四指示值后,将所述写状态标记位从所述第一指示值置为所述第三指示值。
7.根据权利要求5或6所述的方法,其特征在于,所述在处理完所述目标数据后,将所述读状态标记位从所述第二指示值置为第四指示值之后,所述方法还包括:
将所述目标数据从所述目标存储地址清除,以使所述目标存储地址处于空闲状态。
8.一种微控制单元MCU芯片,其特征在于,所述微控制单元MCU芯片预置写指针和读指针指向同一目标存储地址,所述微控制单元MCU芯片包括:
接收模块,用于接收目标数据;
写入模块,用于将所述目标数据写入所述写指针指向的所述目标存储地址;
读取模块,用于当检测到读取指令时,从所述读指针指向的所述目标存储地址读取所述目标数据。
9.根据权利要求8所述的微控制单元MCU芯片,其特征在于,所述微控制单元MCU芯片还包括:
检测模块,用于在所述写入模块将所述目标数据写入所述写指针指向的所述目标存储地址之前,检测写状态标记位的当前值是否为第三指示值,且所述目标存储地址是否处于空闲状态,所述第三指示值用于指示所述目标存储地址可写入数据;
所述写入模块,具体用于当所述检测模块确定所述写状态标记位的当前值为所述第三指示值且所述目标存储地址处于空闲状态时,将所述目标数据写入所述写指针指向的所述目标存储地址。
10.根据权利要求9所述的微控制单元MCU芯片,其特征在于,所述微控制单元MCU芯片还包括:
设置模块,用于在所述写入模块将所述目标数据写入所述写指针指向的所述目标存储地址之后,将所述写状态标记位从所述第三指示值置为第一指示值,所述第一指示值用于指示已写入数据及可从所述目标存储地址读取数据。
11.根据权利要求10所述的微控制单元MCU芯片,其特征在于:
所述设置模块,还用于在将所述写状态标记位从所述第三指示值置为第一指示值之后,在监测到所述写状态标记位的当前值为所述第一指示值后,将读状态标记位置为第二指示值,所述第二指示值用于指示正在从所述目标存储地址读取数据;
所述读取模块,具体用于当监测到所述读状态标记位的当前值为所述第二指示值时,从所述读指针指向的所述目标存储地址读取所述目标数据。
12.根据权利要求11所述的微控制单元MCU芯片,其特征在于:
所述设置模块,还用于在所述读取模块监测到所述读状态标记位的当前值为所述第二指示值时,从所述读指针指向的所述目标存储地址读取所述目标数据之后,在处理完所述目标数据后,将所述读状态标记位从所述第二指示值置为第四指示值,所述第四指示值用于指示已读取完数据。
13.根据权利要求12所述的微控制单元MCU芯片,其特征在于:
所述设置模块,还用于在处理完所述目标数据后,将所述读状态标记位从所述第二指示值置为第四指示值之后,在监测到所述读状态标记位的当前值为所述第四指示值后,将所述写状态标记位从所述第一指示值置为所述第三指示值。
14.根据权利要求12或13所述的微控制单元MCU芯片,其特征在于,所述微控制单元MCU芯片还包括:
清除模块,用于在所述设置模块在处理完所述目标数据后,将所述读状态标记位从所述第二指示值置为第四指示值之后,将所述目标数据从所述目标存储地址清除,以使所述目标存储地址处于空闲状态。
15.一种车辆,其特征在于,包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行权利要求1-7任一项所述的一种数据读写方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
CN202111217172.0A 2021-10-19 2021-10-19 数据读写方法及微控制单元mcu芯片、车辆、存储介质 Pending CN113934454A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111217172.0A CN113934454A (zh) 2021-10-19 2021-10-19 数据读写方法及微控制单元mcu芯片、车辆、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111217172.0A CN113934454A (zh) 2021-10-19 2021-10-19 数据读写方法及微控制单元mcu芯片、车辆、存储介质

Publications (1)

Publication Number Publication Date
CN113934454A true CN113934454A (zh) 2022-01-14

Family

ID=79280372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111217172.0A Pending CN113934454A (zh) 2021-10-19 2021-10-19 数据读写方法及微控制单元mcu芯片、车辆、存储介质

Country Status (1)

Country Link
CN (1) CN113934454A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115098454A (zh) * 2022-07-26 2022-09-23 北京天融信网络安全技术有限公司 一种数据处理方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115098454A (zh) * 2022-07-26 2022-09-23 北京天融信网络安全技术有限公司 一种数据处理方法及系统

Similar Documents

Publication Publication Date Title
KR102025556B1 (ko) 처리 장치, 추적 유닛 및 진단 장치
CN101377749B (zh) 存储器数据校验方法、装置、可编程逻辑器件及系统
CN109635053B (zh) 地图的质检方法、装置、系统及存储介质
CN113934454A (zh) 数据读写方法及微控制单元mcu芯片、车辆、存储介质
US20140156978A1 (en) Detecting and Filtering Biased Branches in Global Branch History
EP2977907A1 (en) Data storage device, method for storing data, and onboard control device
CN110245074B (zh) 一种日志记录的生成方法、装置、存储介质和服务器
CN109992511B (zh) 获取代码测试覆盖率的装置及方法
CN114610557B (zh) 设备驱动单元的测试方法及装置
CN109144874B (zh) 一种测试环境的监测方法和装置
JP2007015643A (ja) 車両用電子制御装置
CN108628699B (zh) 一种基于ecc的flash数据异常处理方法及装置
CN117667814A (zh) I2c数据的读写方法、装置、设备及计算机可读介质
CN113752891B (zh) 电动车的电池数据处理方法、装置以及电子设备
CN117785073B (zh) 物联网设备及其时序数据存取方法和相应的装置与介质
CN111694701B (zh) 一种嵌入式系统硬件模块离线状态的检测方法及系统
CN117236277B (zh) 用于检查寄存器的方法及装置、电子设备
CN101201780A (zh) 参数数据测试方法
US20020073260A1 (en) Method for preventing processes between processors from conflicting in a multiprocessor based computer
CN112181301A (zh) 云硬盘的数据导出方法、装置以及服务端设备
CN115842709A (zh) 一种故障检测方法、装置、电子设备及存储介质
CN114461537A (zh) Flash存储器的数据读写方法
CN115809356A (zh) 嵌入式操作系统类型检测方法及装置、存储介质
JPS6227421B2 (zh)
CN115185844A (zh) 一种测试应用程序的方法及装置

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