CN107817981B - 一种嵌入式控制器的控制方法及电子设备 - Google Patents
一种嵌入式控制器的控制方法及电子设备 Download PDFInfo
- Publication number
- CN107817981B CN107817981B CN201711184286.3A CN201711184286A CN107817981B CN 107817981 B CN107817981 B CN 107817981B CN 201711184286 A CN201711184286 A CN 201711184286A CN 107817981 B CN107817981 B CN 107817981B
- Authority
- CN
- China
- Prior art keywords
- embedded controller
- flag bit
- data
- writing
- module
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种嵌入式控制器的控制方法及电子设备,所述方法应用在电子设备中,所述方法包括:预设所述嵌入式控制器的标志位;当向所述嵌入式控制器写入数据时,检测所述标志位,并当所述标志位为第一数值时对所述嵌入式控制器进行相应的数据写入操作;更改所述标志位的数值,以禁止对所述嵌入式控制器进行数据写入。该方法能够避免多个操作者(如多个应用程序)同时对嵌入式控制器进行写操作,特别是能够避免恶意程序或设备等对嵌入式控制器进行非法操作,能够避免由于数据冲突造或恶意攻击等使嵌入式控制器发生错误的现象。
Description
技术领域
本发明涉及智能设备控制领域,特别涉及一种嵌入式控制器的控制方法及电子设备。
背景技术
计算机等电子设备具有嵌入式控制器(EC),嵌入式控制器功能十分强大,客户端等输入端可以对其进行数据的写入操作以实现相应的功能,例如可以使用BIOS或多种类型的应用程序对其进行写操作。但是,如果多个客户端或多个其他输入端在对嵌入式控制器写数据时不加控制则会造成错误,例如在同一时间段内对嵌入式控制器进行写入操作,极有可能造成数据冲突,从而出现数据读取错误等状况,会使计算机等电子设备出现死机、重启或温度异常等情况,对计算机等电子设备造成损害。
发明内容
本发明实施例的目的在于提供一种嵌入式控制器的控制方法及电子设备,该方法能够避免多个操作者(如多个应用程序)同时对嵌入式控制器进行写操作,进而避免由于数据冲突造成嵌入式控制器发生错误。
为了解决上述技术问题,本发明实施例采用了如下技术方案:一种嵌入式控制器的控制方法,所述方法应用在电子设备中,所述方法包括:
预设所述嵌入式控制器的标志位;
当向所述嵌入式控制器写入数据时,检测所述标志位,并当所述标志位为第一数值时对所述嵌入式控制器进行相应的数据写入操作;
更改所述标志位的数值,以禁止对所述嵌入式控制器进行数据写入。
作为优选,所述方法还包括:
在所述电子设备开机时,驱动所述电子设备的BIOS将所述标志位设置为第一数值,以使所述BIOS能够对所述嵌入式控制器进行数据写入;
在所述电子设备进入操作系统之前,根据所述BIOS的命令将所述标志位设置为第二数值,避免对所述嵌入式控制器数据写入。
作为优选,所述的当向所述嵌入式控制器写入数据时,检测所述标志位,并当所述标志位为第一数值时对所述嵌入式控制器进行相应的数据写入操作包括:
当接收到第一应用程序发送的对所述嵌入式控制器进行数据写入的请求时,检测所述标志位;
当所述标志位为第二数值时,命令所述第一应用程序等待数据写入的授权;
在给予所述第一应用程序授权后,重新检测所述标志位,并当所述标志位为第一数值时,使所述第一应用程序对所述嵌入式控制器进行数据写入操作。
作为优选,所述的命令所述第一应用程序等待数据写入的授权包括:
通过增加延迟或轮询来使所述第一应用程序等待数据写入的授权;
当第二应用程序完成对所述嵌入式控制器的数据写入后,向所述第一应用程序发放授权。
作为优选,所述的更改所述标志位的数值,以禁止对所述嵌入式控制器进行数据写入包括:当所述嵌入式控制器检测到对其进行的数据写入满足第一预设条件时,将所述标志位设置为第二数值,以激活所述嵌入式控制器的功能但同时禁止对其进行数据写入。
作为优选,所述的更改所述标志位的数值,以禁止对所述嵌入式控制器进行数据写入包括:
当所述嵌入式控制器检测到对其进行的数据写入满足第二预设条件时,将所述标志位设置为第三数值以锁定所述嵌入式控制器。
作为优选,所述的当所述嵌入式控制器检测到对其进行的数据写入满足第二预设条件时,将所述标志位设置为第三数值以锁定所述嵌入式控制器具体为:
当判定第三应用程序对所述嵌入式控制器进行非法写入操作时,
将所述标志位设置为第三数值,以停止所述嵌入式控制器的功能并且禁止对其进行数据写入。
本发明实施例还提供了一种电子设备,所述电子设备具有嵌入式控制器,所述嵌入式控制器包括预设模块、写入模块和修改模块;
所述预设模块配置为预设所述嵌入式控制器的标志位;
所述写入模块配置为当向所述嵌入式控制器写入数据时,检测所述标志位,并当所述标志位为第一数值时对所述嵌入式控制器进行相应的数据写入操作;
所述修改模块与所述写入模块连接,所述修改模块配置为更改所述标志位的数值,以禁止对所述嵌入式控制器进行数据写入。
作为优选,所述嵌入式控制器还包括处理模块;
所述处理模块配置为在所述电子设备开机时,驱动所述电子设备的BIOS将所述标志位设置为第一数值,以使所述BIOS能够对所述嵌入式控制器进行数据写入;
所述处理模块与所述修改模块连接,在所述电子设备进入操作系统之前,所述处理模块发送命令至所述修改模块,以使所述修改模块根据所述BIOS的命令将所述标志位设置为第二数值,避免对所述嵌入式控制器数据写入。
作为优选,所述写入模块包括相互连接的检测单元和授权单元;
所述检测单元配置为当接收到第一应用程序发送的对所述嵌入式控制器进行数据写入的请求时,检测所述标志位,以使所述写入模块在所述标志位为第二数值时,命令所述第一应用程序等待数据写入的授权;
所述授权单元配置为在给予所述第一应用程序授权后,使所述检测单元重新检测所述标志位,并当所述标志位为第一数值时,使所述第一应用程序对所述嵌入式控制器进行数据写入操作。
作为优选,所述写入模块还包括延迟单元,所述延迟单元与所述授权单元连接,所述延迟单元配置为通过增加延迟或轮询来使所述第一应用程序等待数据写入的授权,并使所述授权单元在第二应用程序完成对所述嵌入式控制器的数据写入后,向所述第一应用程序发放授权。
作为优选,所述嵌入式控制器还包括激活模块,所述激活模块分别与所述写入模块和修改模块连接,所述激活模块配置为当所述嵌入式控制器检测到对其进行的数据写入满足第一预设条件时,使所述修改模块将所述标志位设置为第二数值,以激活所述嵌入式控制器的功能但同时禁止所述写入模块对其进行数据写入。
作为优选,所述嵌入式控制器还包括锁定模块,所述锁定模块与所述写入模块连接,所述锁定模块配置为当所述写入模块检测到对所述嵌入式控制器进行的数据写入满足预设条件时,将所述标志位设置为第三数值以锁定所述嵌入式控制器。
作为优选,所述锁定模块具体配置为:当判定第三应用程序对所述嵌入式控制器进行非法写入操作时,通过所述修改模块将所述标志位设置为第三数值,以停止所述嵌入式控制器的功能并且禁止所述写入模块对其进行数据写入。
本发明实施例的有益效果在于:该方法能够避免多个操作者(如多个应用程序)同时对嵌入式控制器进行写操作,特别是能够避免恶意程序或设备等对嵌入式控制器进行非法操作,能够避免由于数据冲突造或恶意攻击等使嵌入式控制器发生错误的现象。
附图说明
图1为本发明实施例的嵌入式控制器的控制方法的流程图;
图2为本发明实施例的控制方法的一个实施例的流程图;
图3为本发明实施例的控制方法的步骤S2的流程图;
图4为本发明实施例的控制方法的另一个具体实施例的流程图;
图5为本发明实施例的结构示意图。
附图标记说明
1-嵌入式控制器 2-预设模块 3-写入模块
4-修改模块 5-处理模块 6-标志位
7-BIOS 8-第一应用程序
具体实施方式
为使本领域技术人员更好地理解本发明,下面参照附图对本发明的实施例进行详细说明,但不作为对本发明的限定。
本发明实施例的一种嵌入式控制器1的控制方法,嵌入式控制器1(EC,EmbeddedController)为笔记本电脑等电子设备的核心部件,例如,笔记本电脑中的嵌入式控制器1担负着笔记本内置键盘、触摸板、笔记本电池智能充放电管理或温度监控等任务。嵌入式控制器1内部本身也有一定容量的存储器来存储相关数据,应用程序可以对其进行写入数据的操作,从而实现相应的功能。该方法也是应用在笔记本电脑等电子设备中,能够有效对嵌入式控制器1的写操作进行控制,避免多个写入端(如BIOS 7或应用程序)在写入数据时产生冲突,如图1所示,该方法包括以下步骤:
S1,预设嵌入式控制器1的标志位6。标志位6的不同数值可以对应在向嵌入式控制器1写入数据时的不同的处理方式。该标志位6的数值可以通过EC预留的两个GPIO字符表示,例如使用GPIO1和GPIO0两个字符,当GPIO1为0且GPIO0为0时,标志位6的数值为0;当GPIO1为0且GPIO0为1时,标志位6的数值为1;当GPIO1为1且GPIO0为0时,标志位6的数值为2;当GPIO1为1且GPIO0为1时,标志位6的数值为3等。标志位6的不同数值时向嵌入式控制器1写入数据时的处理方式也不同,例如第一种处理方式为,嵌入式控制器1的存储器可以进行任何数据写入的操作;第二种处理方式为,嵌入式控制器1功能激活,但是其存储器不能进行数据写入操作;第三种处理方式为,锁定嵌入式控制器1,除非获得授权否则不允许任何发起方对嵌入式控制器1的存储器进行数据写入操作,避免非法数据写入。在一个实施例中,标志位6也可以预设一个保留值(第四数值),以对应向嵌入式控制器1写入数据时的第四种处理方式,该第四种处理方式可以为自定义或其他额外的方式。当然具体的处理方式可以由用户根据实际需要定义,在此不做限定。
S2,当向嵌入式控制器1写入数据时,检测标志位6,并当标志位6为第一数值时对嵌入式控制器1进行相应的数据写入操作。向嵌入式控制器1写入数据可以实现相应的功能,例如电子设备的BIOS 7可以对嵌入式控制器1进行数据的写入;电子设备的ACPI可以对嵌入式控制器1进行数据的写入;具有权限的应用程序也可以向嵌入式控制器1写入数据,实现与该应用程序相关的功能。在写入数据时检测标志位6,结合上述实施例,如标志位6的数值通过EC预留的两个GPIO字符表示,例如使用GPIO1和GPIO0两个字符,当GPIO1为0且GPIO0为0时,标志位6的数值为0,即该标志位6为第一数值(第一数值为0)。则可以对嵌入式控制器1的存储器进行数据写入操作。
S3,更改标志位6的数值,以禁止对嵌入式控制器1进行数据写入。在不需要对嵌入式控制器1的存储器进行数据写入操作时,可以更改标志位6的数值,防止应用程序或其他设备对嵌入式控制器1进行数据写入,避免恶意程序或设备对嵌入式控制器1的相关数据进行更改,保护电子设备安全。例如可以将标志位6的数值更改为第二数值或更改为第三数值等等,不允许对嵌入式控制器1进行数据写入,但是可以根据数值的不同对嵌入式控制器1做其他的操作。在一个实施例中,在嵌入式控制器1被锁定而不能对其进行数据写入操作时,如果随后还需要进行写入操作则可以再次更改标志位6的数值从而恢复对其进行数据的写入功能。
在本发明的一个实施例中,如图2所示并结合图4,该方法还包括以下步骤:
S4,在电子设备开机时,驱动电子设备的BIOS 7将标志位6设置为第一数值,以使BIOS 7能够对嵌入式控制器1进行数据写入。BIOS 7可以对嵌入式控制器1进行数据的写入,并且BIOS 7可以对标志位6数值进行更改,如在BIOS 7启动时便可以将标志位6设置为第一数值,在所有的应用程序之前首先对嵌入式控制器1进行数据写入,可以首先操控嵌入式控制器1,防止设备或软件对嵌入式控制器1进行数据写入。
S5,在电子设备进入操作系统之前,根据BIOS 7的命令将标志位6设置为第二数值,避免对嵌入式控制器1数据写入。在电子设备未进入操作系统时,应用程序或普通设备并不能或没有权限对嵌入式控制器1进行操作,此时BIOS 7可以发送控制命令将标志位6设置为第二数值,使得在电子设备进入操作系统时便禁止对嵌入式控制器1进行数据写入,防止恶意程序或设备在一进入操作系统便先对嵌入式控制器1进行数据写入的操作,使得合法应用程序不能再进行数据写入的操作或者不能实现原有功能。在一个实施例中,标志位6为第二数值时不允许对嵌入式控制器1的存储器进行数据的写入,但是嵌入式控制器1的功能是可以使用的。
如图3所示并结合图4,所述的当向嵌入式控制器1写入数据时,检测标志位6,并当标志位6为第一数值时对嵌入式控制器1进行相应的数据写入操作的步骤包括以下步骤:
S21,当接收到第一应用程序8发送的对嵌入式控制器1进行数据写入的请求时,检测标志位6。检测标志位6后便能够知道此时第一应用程序8是否能够进行数据写入,如果标志位6的数值符合预设值第一应用程序8便能够进行数据写入的操作,例如标志位6为第一数值则第一应用程序8此时可以进行写入操作。
S22,当标志位6为第二数值时,命令第一应用程序8等待数据写入的授权。如果标志位6为第二数值说明,此时嵌入式控制器1不允许进行数据写入的操作,或者不允许第一应用程序8进行数据写入的操作,可以等待标志位6变化,待标志位6变化后再进行写入操作。具体来说,可以使第一应用程序8等待数据写入的授权,如果有其他的应用程序正在进行数据写入的操作则不给第一应用程序8授权,防止了多个应用程序同时进行数据写入而产生冲突。
S23,在给予第一应用程序8授权后,重新检测标志位6,并当标志位6为第一数值时,使第一应用程序8对嵌入式控制器1进行数据写入操作。给予第一应用程序8授权意味着允许第一应用程序8对嵌入式控制器1进行数据写入操作,在进行数据写入之前还要重新检测标志位6,并在标志位6的数值符合条件(如标志位6为第一数值)时,再进行数据写入的操作,进一步避免了数据写入冲突的发生。
在本发明的一个实施例中,所述的命令第一应用程序8等待数据写入的授权的步骤包括以下步骤:
S221,通过增加延迟或轮询来使第一应用程序8等待数据写入的授权。具体来说,延迟或轮询一定时间后可以以一定的时间间隔来进行再判断,如果还是没有获得授权可以再次进行延迟或轮询。
S222,当第二应用程序完成对嵌入式控制器1的数据写入后,向第一应用程序8发放授权。第二应用程序可以是正在对嵌入式控制器1进行数据写入的应用程序,在一个实施例中,为了避免写入冲突使嵌入式控制器1择一的选择应用程序进行数据的写入。在没有应用程序进行写入数据的动作后(如上述的第二应用程序完成对嵌入式控制器1的数据写入后),向第一应用程序8发放授权。
在本发明的一个实施例中,所述的更改标志位6的数值,以禁止对嵌入式控制器1进行数据写入的步骤包括:当嵌入式控制器1检测到对其进行的数据写入满足第一预设条件时,将标志位6设置为第二数值,以激活嵌入式控制器1的功能但同时禁止对其进行数据写入。在一个实施例中第一预设条件可以为嵌入式控制器1正在被独占进行数据写入,例如上文中所述的BIOS 7在对嵌入式控制器1进行的操作,或者进入操作系统后有一个应用程序正在对嵌入式控制器1进行数据写入,该情况也可以判定符合第一预设条件。将标志位6设置为第二数值,激活嵌入式控制器1的功能,使得嵌入式控制器1可以正常使用,但是禁止再对该嵌入式控制器1进行数据写入,防止冲突发生。
在本发明的一个实施例中,所述的更改标志位6的数值,以禁止对嵌入式控制器1进行数据写入的步骤包括以下步骤:当嵌入式控制器1检测到对其进行的数据写入满足第二预设条件时,将标志位6设置为第三数值以锁定嵌入式控制器1。该第二预设条件可以是判断对嵌入式控制器1进行的数据写入的应用程序或其它设备是非法操作,尤其是严重的非法操作,此时将标志位6设置为第三数值,如设置为数值2,即GPIO1和GPIO0两个字符分别为1和0。在一个实施例中,锁定嵌入式控制器1,是指嵌入式控制器1不能被写入,并且嵌入式控制器1的功能也被锁定,从根本上拒绝了非法操作,保护了嵌入式控制器1。
作为优选,所述的当嵌入式控制器1检测到对其进行的数据写入满足第二预设条件时,将标志位6设置为第三数值以锁定嵌入式控制器1具体为:当判定第三应用程序对嵌入式控制器1进行非法写入操作时,将标志位6设置为第三数值,以停止嵌入式控制器1的功能并且禁止对其进行数据写入。这样以来可以避免恶意或非法的第三应用程序入侵嵌入式控制器1,保护电子设备免受软件攻击。
本发明实施例还提供了一种电子设备,该电子设备具有嵌入式控制器1,嵌入式控制器1(EC,Embedded Controller)为笔记本电脑等电子设备的核心部件,例如,笔记本电脑中的嵌入式控制器1担负着笔记本内置键盘、触摸板、笔记本电池智能充放电管理或温度监控等任务。嵌入式控制器1内部本身也有一定容量的存储器来存储相关数据,应用程序可以对其进行写入数据的操作,从而实现相应的功能。该嵌入式控制器1能够有效的对写操作进行控制,避免多个写入端(如BIOS 7或应用程序)在写入数据时产生冲突。如图5所示,嵌入式控制器1包括预设模块2、写入模块3和修改模块4。
预设模块2配置为预设嵌入式控制器1的标志位6。标志位6的不同数值可以对应在向嵌入式控制器1写入数据时的不同的处理方式。该标志位6的数值可以通过EC预留的两个GPIO字符表示,例如使用GPIO1和GPIO0两个字符,当GPIO1为0且GPIO0为0时,标志位6的数值为0;当GPIO1为0且GPIO0为1时,标志位6的数值为1;当GPIO1为1且GPIO0为0时,标志位6的数值为2;当GPIO1为1且GPIO0为1时,标志位6的数值为3等。标志位6的不同数值时向嵌入式控制器1写入数据时的处理方式也不同,例如第一种处理方式为,嵌入式控制器1的存储器可以进行任何数据写入的操作;第二种处理方式为,嵌入式控制器1功能激活,但是其存储器不能进行数据写入操作;第三种处理方式为,锁定嵌入式控制器1,除非获得授权否则不允许任何发起方对嵌入式控制器1的存储器进行数据写入操作,避免非法数据写入。在一个实施例中,预设模块2也可以将标志位6预设一个保留值(第四数值),以对应向嵌入式控制器1写入数据时的第四种处理方式,该第四种处理方式可以为自定义或其他额外的方式。当然具体的处理方式可以由用户根据实际需要定义,在此不做限定。
写入模块3配置为当向嵌入式控制器1写入数据时,检测标志位6,并当标志位6为第一数值时对嵌入式控制器1进行相应的数据写入操作。写入模块3向嵌入式控制器1写入数据可以实现相应的功能,例如电子设备的BIOS 7通过写入模块3可以对嵌入式控制器1进行数据的写入;电子设备的ACPI可以对嵌入式控制器1进行数据的写入;具有权限的应用程序也可以向嵌入式控制器1写入数据,实现与该应用程序相关的功能。在写入数据时检测标志位6,结合上述实施例,如标志位6的数值通过EC预留的两个GPIO字符表示,例如使用GPIO1和GPIO0两个字符,当GPIO1为0且GPIO0为0时,标志位6的数值为0,即该标志位6为第一数值(第一数值为0)。则写入模块3可以对嵌入式控制器1的存储器进行数据写入操作。
修改模块4与写入模块3连接,修改模块4配置为更改标志位6的数值,以禁止对嵌入式控制器1进行数据写入。在不需要对嵌入式控制器1的存储器进行数据写入操作时,修改模块4可以更改标志位6的数值,防止应用程序或其他设备对嵌入式控制器1进行数据写入,避免恶意程序或设备对嵌入式控制器1的相关数据进行更改,保护电子设备安全。例如修改模块4可以将标志位6的数值更改为第二数值或第三数值等等,不允许对嵌入式控制器1进行数据写入,但是可以根据数值的不同对嵌入式控制器1做其他的操作。在一个实施例中,写入模块3在嵌入式控制器1被锁定而不能对其进行数据写入操作时,如果随后还需要进行写入操作则修改模块4可以再次更改标志位6的数值从而恢复写入模块3对嵌入式控制器1进行数据的写入功能。
在本发明的一个实施例中,如图5所示,嵌入式控制器1还包括处理模块5。
处理模块5配置为在电子设备开机时,驱动电子设备的BIOS 7将标志位6设置为第一数值,以使BIOS 7能够对嵌入式控制器1进行数据写入。处理模块5驱动BIOS 7可以直接或间接的对嵌入式控制器1进行数据的写入,并且使得BIOS 7可以直接或间接的对标志位6数值进行更改,如在BIOS 7启动时便可以将标志位6设置为第一数值,在所有的应用程序之前首先对嵌入式控制器1进行数据写入,可以首先操控嵌入式控制器1,防止设备或软件对嵌入式控制器1进行数据写入。
处理模块5与修改模块4连接,在电子设备进入操作系统之前,处理模块5发送命令至修改模块4,以使修改模块4根据BIOS 7的命令将标志位6设置为第二数值,避免对嵌入式控制器1数据写入。在电子设备未进入操作系统时,应用程序或普通设备并不能或没有权限对嵌入式控制器1进行操作,此时处理模块5发送命令至修改模块4,修改模块4可以根据BIOS 7的控制命令将标志位6设置为第二数值,使得在电子设备进入操作系统时便禁止对嵌入式控制器1进行数据写入,防止恶意程序或设备在一进入操作系统便先对嵌入式控制器1进行数据写入的操作,使得合法应用程序不能再进行数据写入的操作或者不能实现原有功能。在一个实施例中,标志位6为第二数值时不允许对嵌入式控制器1的存储器进行数据的写入,但是嵌入式控制器1的功能是可以使用的。
在本发明的一个实施例中,写入模块3包括相互连接的检测单元和授权单元。
检测单元配置为当接收到第一应用程序8发送的对嵌入式控制器1进行数据写入的请求时,检测标志位6,以使写入模块3在标志位6为第二数值时,命令第一应用程序8等待数据写入的授权。检测单元检测标志位6后便能够知道此时第一应用程序8是否能够进行数据写入,如果标志位6的数值符合预设值第一应用程序8便能够进行数据写入的操作,例如检测单元检测标志位6为第一数值则第一应用程序8此时可以进行写入操作。如果标志位6为第二数值说明,此时嵌入式控制器1不允许进行数据写入的操作,或者不允许第一应用程序8进行数据写入的操作,可以等待标志位6变化,待标志位6变化后再进行写入操作。具体来说,可以使第一应用程序8等待授权单元发放的数据写入的授权,如果有其他的应用程序正在进行数据写入的操作则授权单元不给第一应用程序8授权,防止了多个应用程序同时进行数据写入而产生冲突。
授权单元配置为在给予第一应用程序8授权后,使检测单元重新检测标志位6,并当标志位6为第一数值时,使第一应用程序8对嵌入式控制器1进行数据写入操作。授权单元给予第一应用程序8授权意味着允许第一应用程序8对嵌入式控制器1进行数据写入操作,在进行数据写入之前检测单元还要重新检测标志位6,并在标志位6的数值符合条件(如标志位6为第一数值)时,写入模块3再进行数据写入的操作,进一步避免了数据写入冲突的发生。
在本发明的一个实施例中,写入模块3还包括延迟单元,所述延迟单元与所述授权单元连接,所述延迟单元配置为通过增加延迟或轮询来使所述第一应用程序8等待数据写入的授权,并使所述授权单元在第二应用程序完成对所述嵌入式控制器1的数据写入后,向所述第一应用程序8发放授权。具体来说,延迟单元使第一应用程序8延迟或轮询一定时间后可以以一定的时间间隔来进行再判断,如果还是没有获得授权可以再次进行延迟或轮询。第二应用程序可以是正在对嵌入式控制器1进行数据写入的应用程序,在一个实施例中,授权单元为了避免写入冲突使嵌入式控制器1择一的选择应用程序进行数据的写入。授权单元在没有应用程序进行写入数据的动作后(如上述的第二应用程序完成对嵌入式控制器1的数据写入后),向第一应用程序8发放授权。
在本发明的一个实施例中,嵌入式控制器1还包括激活模块,激活模块分别与写入模块3和修改模块4连接,激活模块配置为当嵌入式控制器1检测到对其进行的数据写入满足第一预设条件时,使修改模块4将标志位6设置为第二数值,以激活嵌入式控制器1的功能同时禁止写入模块3对其进行数据写入。在一个实施例中第一预设条件可以为嵌入式控制器1正在被独占进行数据写入,例如上文中所述的BIOS 7在对嵌入式控制器1进行的操作,或者进入操作系统后有一个应用程序正在对嵌入式控制器1进行数据写入,该情况也可以判定符合第一预设条件。激活模块使修改模块4将标志位6设置为第二数值,以激活嵌入式控制器1的功能,使得嵌入式控制器1可以正常使用,但是禁止写入模块3再对该嵌入式控制器1进行数据写入,防止冲突发生。
在本发明的一个实施例中,嵌入式控制器1还包括锁定模块,锁定模块与写入模块3连接,锁定模块配置为当写入模块3检测到对嵌入式控制器1进行的数据写入满足第二预设条件时,将标志位6设置为第三数值以锁定嵌入式控制器1。该第二预设条件可以是判断对嵌入式控制器1进行的数据写入的应用程序或其它设备是非法操作,尤其是严重的非法操作,此时将标志位6设置为第三数值,如设置为数值2,即GPIO1和GPIO0两个字符分别为1和0。在一个实施例中,锁定模块锁定嵌入式控制器1,是指嵌入式控制器1不能被写入,并且嵌入式控制器1的功能也被锁定,从根本上拒绝了非法操作,保护了嵌入式控制器1。作为优选,锁定模块具体配置为:当判定第三应用程序对嵌入式控制器1进行非法写入操作时,通过修改模块4将标志位6设置为第三数值,以停止嵌入式控制器1的功能并且禁止写入模块3对其进行数据写入。这样以来可以避免恶意或非法的第三应用程序入侵嵌入式控制器1,保护电子设备免受软件攻击。
以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。
Claims (10)
1.一种嵌入式控制器的控制方法,其特征在于,所述方法应用在电子设备中,所述方法包括:
预设所述嵌入式控制器的标志位;
当向所述嵌入式控制器写入数据时,检测所述标志位,并当所述标志位为第一数值时对所述嵌入式控制器进行相应的数据写入操作;
更改所述标志位的数值,以禁止对所述嵌入式控制器进行数据写入;
所述方法还包括:
在所述电子设备开机时,驱动所述电子设备的BIOS将所述标志位设置为第一数值,以使所述BIOS能够对所述嵌入式控制器进行数据写入;
在所述电子设备进入操作系统之前,根据所述BIOS的命令将所述标志位设置为第二数值,避免对所述嵌入式控制器数据写入;
所述的当向所述嵌入式控制器写入数据时,检测所述标志位,并当所述标志位为第一数值时对所述嵌入式控制器进行相应的数据写入操作包括:
当接收到第一应用程序发送的对所述嵌入式控制器进行数据写入的请求时,检测所述标志位;
当所述标志位为第二数值时,命令所述第一应用程序等待数据写入的授权;
在给予所述第一应用程序授权后,重新检测所述标志位,并当所述标志位为第一数值时,使所述第一应用程序对所述嵌入式控制器进行数据写入操作。
2.根据权利要求1所述的方法,其特征在于,所述的命令所述第一应用程序等待数据写入的授权包括:
通过增加延迟或轮询来使所述第一应用程序等待数据写入的授权;
当第二应用程序完成对所述嵌入式控制器的数据写入后,向所述第一应用程序发放授权。
3.根据权利要求1所述的方法,其特征在于,所述的更改所述标志位的数值,以禁止对所述嵌入式控制器进行数据写入包括:当所述嵌入式控制器检测到对其进行的数据写入满足第一预设条件时,将所述标志位设置为第二数值,以激活所述嵌入式控制器的功能但同时禁止对其进行数据写入。
4.根据权利要求1所述的方法,其特征在于,所述的更改所述标志位的数值,以禁止对所述嵌入式控制器进行数据写入包括:
当所述嵌入式控制器检测到对其进行的数据写入满足第二预设条件时,将所述标志位设置为第三数值以锁定所述嵌入式控制器。
5.根据权利要求4所述的方法,其特征在于,所述的当所述嵌入式控制器检测到对其进行的数据写入满足第二预设条件时,将所述标志位设置为第三数值以锁定所述嵌入式控制器具体为:
当判定第三应用程序对所述嵌入式控制器进行非法写入操作时,
将所述标志位设置为第三数值,以停止所述嵌入式控制器的功能并且禁止对其进行数据写入。
6.一种电子设备,其特征在于,所述电子设备具有嵌入式控制器,所述嵌入式控制器包括预设模块、写入模块和修改模块;
所述预设模块配置为预设所述嵌入式控制器的标志位;
所述写入模块配置为当向所述嵌入式控制器写入数据时,检测所述标志位,并当所述标志位为第一数值时对所述嵌入式控制器进行相应的数据写入操作;
所述修改模块与所述写入模块连接,所述修改模块配置为更改所述标志位的数值,以禁止对所述嵌入式控制器进行数据写入;
所述嵌入式控制器还包括处理模块;
所述处理模块配置为在所述电子设备开机时,驱动所述电子设备的BIOS将所述标志位设置为第一数值,以使所述BIOS能够对所述嵌入式控制器进行数据写入;
所述处理模块与所述修改模块连接,在所述电子设备进入操作系统之前,所述处理模块发送命令至所述修改模块,以使所述修改模块根据所述BIOS的命令将所述标志位设置为第二数值,避免对所述嵌入式控制器数据写入;
所述写入模块包括相互连接的检测单元和授权单元;
所述检测单元配置为当接收到第一应用程序发送的对所述嵌入式控制器进行数据写入的请求时,检测所述标志位,以使所述写入模块在所述标志位为第二数值时,命令所述第一应用程序等待数据写入的授权;
所述授权单元配置为在给予所述第一应用程序授权后,使所述检测单元重新检测所述标志位,并当所述标志位为第一数值时,使所述第一应用程序对所述嵌入式控制器进行数据写入操作。
7.根据权利要求6所述的电子设备,其特征在于,所述写入模块还包括延迟单元,所述延迟单元与所述授权单元连接,所述延迟单元配置为通过增加延迟或轮询来使所述第一应用程序等待数据写入的授权,并使所述授权单元在第二应用程序完成对所述嵌入式控制器的数据写入后,向所述第一应用程序发放授权。
8.根据权利要求6所述的电子设备,其特征在于,所述嵌入式控制器还包括激活模块,所述激活模块分别与所述写入模块和修改模块连接,所述激活模块配置为当所述嵌入式控制器检测到对其进行的数据写入满足第一预设条件时,使所述修改模块将所述标志位设置为第二数值,以激活所述嵌入式控制器的功能但同时禁止所述写入模块对其进行数据写入。
9.根据权利要求6所述的电子设备,其特征在于,所述嵌入式控制器还包括锁定模块,所述锁定模块与所述写入模块连接,所述锁定模块配置为当所述写入模块检测到对所述嵌入式控制器进行的数据写入满足预设条件时,将所述标志位设置为第三数值以锁定所述嵌入式控制器。
10.根据权利要求9所述的电子设备,其特征在于,所述锁定模块具体配置为:当判定第三应用程序对所述嵌入式控制器进行非法写入操作时,通过所述修改模块将所述标志位设置为第三数值,以停止所述嵌入式控制器的功能并且禁止所述写入模块对其进行数据写入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711184286.3A CN107817981B (zh) | 2017-11-23 | 2017-11-23 | 一种嵌入式控制器的控制方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711184286.3A CN107817981B (zh) | 2017-11-23 | 2017-11-23 | 一种嵌入式控制器的控制方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107817981A CN107817981A (zh) | 2018-03-20 |
CN107817981B true CN107817981B (zh) | 2021-12-10 |
Family
ID=61610083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711184286.3A Active CN107817981B (zh) | 2017-11-23 | 2017-11-23 | 一种嵌入式控制器的控制方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107817981B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351718B (zh) * | 2019-06-24 | 2023-11-14 | 惠州Tcl移动通信有限公司 | Wifi数据保护处理方法、移动终端及存储介质 |
CN113126587A (zh) * | 2019-12-30 | 2021-07-16 | 观致汽车有限公司 | 整车的诊断方法、装置、车辆及电子设备 |
CN111767180A (zh) * | 2020-06-29 | 2020-10-13 | 西安易朴通讯技术有限公司 | 压力测试方法、装置、设备和存储介质 |
CN112053727B (zh) * | 2020-08-20 | 2023-03-31 | 珠海格力电器股份有限公司 | Eeprom掉电保护控制方法、装置、存储介质及存储设备 |
CN113821265B (zh) * | 2021-11-22 | 2022-02-22 | 深圳华北工控软件技术有限公司 | 操作系统控制方法、装置、计算机主板和可读存储介质 |
CN116482514B (zh) * | 2023-04-25 | 2024-01-12 | 苏州领慧立芯科技有限公司 | 用于芯片上电自动校准的装置和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102419757A (zh) * | 2010-09-28 | 2012-04-18 | 株式会社日立制作所 | 同一磁盘分区上的多个文件系统接口访问调节装置和方法 |
CN105138869A (zh) * | 2015-08-17 | 2015-12-09 | 四川长虹电器股份有限公司 | 基于标志位检测自动加锁保护flash引导程序的方法 |
CN105184179A (zh) * | 2015-11-05 | 2015-12-23 | 深圳市凯祥源科技有限公司 | 嵌入式加密移动存储设备及其操作方法 |
CN106502585A (zh) * | 2016-10-13 | 2017-03-15 | 深圳Tcl数字技术有限公司 | Nor Flash存储器存储内容保护方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430665A (zh) * | 2007-11-08 | 2009-05-13 | 英业达股份有限公司 | 基本输入输出系统的防写保护方法 |
US8464261B2 (en) * | 2010-03-31 | 2013-06-11 | Oracle International Corporation | System and method for executing a transaction using parallel co-transactions |
CN102262598B (zh) * | 2010-05-28 | 2016-10-05 | 纬创资通股份有限公司 | 可提升写入保护的存储器系统及相关方法 |
CN105138378B (zh) * | 2015-09-15 | 2019-06-25 | 联想(北京)有限公司 | 一种bios刷写方法及电子设备 |
-
2017
- 2017-11-23 CN CN201711184286.3A patent/CN107817981B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102419757A (zh) * | 2010-09-28 | 2012-04-18 | 株式会社日立制作所 | 同一磁盘分区上的多个文件系统接口访问调节装置和方法 |
CN105138869A (zh) * | 2015-08-17 | 2015-12-09 | 四川长虹电器股份有限公司 | 基于标志位检测自动加锁保护flash引导程序的方法 |
CN105184179A (zh) * | 2015-11-05 | 2015-12-23 | 深圳市凯祥源科技有限公司 | 嵌入式加密移动存储设备及其操作方法 |
CN106502585A (zh) * | 2016-10-13 | 2017-03-15 | 深圳Tcl数字技术有限公司 | Nor Flash存储器存储内容保护方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107817981A (zh) | 2018-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107817981B (zh) | 一种嵌入式控制器的控制方法及电子设备 | |
US10691807B2 (en) | Secure system boot monitor | |
US10452582B2 (en) | Secure access to peripheral devices over a bus | |
JP6411568B2 (ja) | バスを介して周辺デバイスに安全にアクセスするための装置、システム及び方法 | |
US10489332B2 (en) | System and method for per-task memory protection for a non-programmable bus master | |
KR101870847B1 (ko) | 단말 디바이스의 디버그 포트 제어 방법 및 장치 | |
US20170277916A1 (en) | Secure control of self-encrypting storage devices | |
US10037206B2 (en) | Methods and systems for state switching | |
CN108549812A (zh) | 基于Trustzone的安全隔离方法、安全隔离装置及车载终端 | |
US20180114024A1 (en) | Firmware verification through data ports | |
US20200004994A1 (en) | Security Monitoring of SPI Flash | |
EP3022653B1 (en) | Fault detection apparatus and method | |
KR102002517B1 (ko) | 전자식 제어기 보안 기능 설정 방법 및 시스템 | |
WO2015045507A1 (ja) | 車両用制御装置 | |
CN110032251B (zh) | 主机系统及其电子锁解锁方法 | |
US7721016B2 (en) | Method for using host controller to solicit a command failure from target device in order to initiate re-enumeration of the target device | |
US20090037630A1 (en) | Information processing apparatus and smi processing method thereof | |
TWI457786B (zh) | 雙作業系統共用加密設定之方法以及運用該方法之電子裝置 | |
CN112487509B (zh) | 安全装置及安全方法 | |
JP7086891B2 (ja) | バスを介した周辺装置への安全アクセス | |
TWI791244B (zh) | 監控系統開機之安全裝置及其方法 | |
EP3882742A1 (en) | System and method for power supply voltage scaling for secure embedded systems | |
JP2012203463A (ja) | 電子機器システム及びメモリ | |
KR101968262B1 (ko) | 데이터 보호를 위한 백업 솔루션 모듈, 시스템 및 그 구동방법 | |
US20130151832A1 (en) | Flash memory storage system and data protection method thereof |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |