CN113535238B - 一种针对ddr的兼容方法、装置、存储介质及设备 - Google Patents

一种针对ddr的兼容方法、装置、存储介质及设备 Download PDF

Info

Publication number
CN113535238B
CN113535238B CN202010294296.8A CN202010294296A CN113535238B CN 113535238 B CN113535238 B CN 113535238B CN 202010294296 A CN202010294296 A CN 202010294296A CN 113535238 B CN113535238 B CN 113535238B
Authority
CN
China
Prior art keywords
ddr
partition
identification code
configuration
starting
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
Application number
CN202010294296.8A
Other languages
English (en)
Other versions
CN113535238A (zh
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.)
Zhejiang Uniview Technologies Co Ltd
Original Assignee
Zhejiang Uniview Technologies 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 Zhejiang Uniview Technologies Co Ltd filed Critical Zhejiang Uniview Technologies Co Ltd
Priority to CN202010294296.8A priority Critical patent/CN113535238B/zh
Publication of CN113535238A publication Critical patent/CN113535238A/zh
Application granted granted Critical
Publication of CN113535238B publication Critical patent/CN113535238B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本申请实施例公开了一种针对DDR的兼容方法、装置、存储介质及设备。该方法包括:若在boot阶段检测到DDR解析触发事件,则确定Flash的boot分区以外的预设DDR配置分区为目标读取位置;其中,所述boot分区包括启动分区和业务分区,所述业务分区邻接于所述启动分区,所述启动分区用于拷贝至SRAM运行,以初始化DDR;从所述预设DDR配置分区读取识别码;其中,所述预设DDR配置分区中包括至少一种DDR配置表索引与识别码的关联关系;其中,所述识别码包括系统启动正常的识别码、系统启动失败的识别码和未被使用的识别码中的至少一种;若存在启动正常的识别码,则根据启动正常的识别码关联的配置表初始化DDR。通过执行本技术方案,可以实现兼容多DDR的目的。

Description

一种针对DDR的兼容方法、装置、存储介质及设备
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种针对DDR的兼容方法、装置、存储介质及设备。
背景技术
DDR(Double Data Rate,双数据速率),由于其速度快、容量大,而且价格便宜等优点,因此能够很好地满足对大量数据缓存的需求。
然而,DDR更新换代周期变得越来越短,同样一款CPU芯片,可能对应不同容量、不同数目、不同款型的DDR颗粒。而即使同一款产品,也会因为DDR拓扑结构变化,进而对CPU控制器、DDR颗粒进行不同配置。而目前,生产厂商使用不同的系统版本来支持不同的DDR,从而产生当多种DDR类型为系统进行服务时,无法兼容多种DDR的情况,也就导致了开发和维护成本的增加。因此,如何能够在同一个系统内兼容多种DDR成为目前亟待解决的问题。
发明内容
本申请实施例提供一种针对DDR的兼容方法、装置、存储介质及设备,可以实现兼容多DDR的目的。
第一方面,本申请实施例提供了一种针对DDR的兼容方法,该方法包括:
若在boot阶段检测到DDR解析触发事件,则确定Flash的boot分区以外的预设DDR配置分区为目标读取位置;其中,所述boot分区包括启动分区和业务分区,所述业务分区邻接于所述启动分区,所述启动分区用于拷贝至SRAM运行,以初始化DDR;
从所述预设DDR配置分区读取识别码;其中,所述预设DDR配置分区中包括至少一种DDR配置表索引与识别码的关联关系;其中,所述识别码包括系统启动正常的识别码、系统启动失败的识别码和未被使用的识别码中的至少一种;
若存在启动正常的识别码,则根据启动正常的识别码关联的配置表初始化DDR。
进一步的,若检测到从Flash上拷贝启动分区的内容到SRAM运行,则确定在boot阶段检测到DDR解析触发事件。
进一步的,所述Flash的预设DDR配置分区包括DDR配置分区和DDR备份分区;
相应的,在从所述预设DDR配置分区读取识别码之前,所述方法还包括:
对所述DDR配置分区和DDR备份分区进行校验;
若DDR配置分区和DDR备份分区均通过校验,则从DDR配置分区中读取识别码;
若校验DDR配置分区和DDR备份分区只有一个通过校验,则从通过校验的分区中读取识别码。
进一步的,所述方法还包括:
若不存在启动正常的识别码,则开启超时监控机制,并逐个从未被使用的识别码关联的DDR配置表中确定目标DDR配置表;
确定目标DDR配置表之后,将目标DDR配置表拷贝到SRAM运行,并将目标DDR配置表的识别码修改为系统启动失败的识别码;
若初始化DDR正常,则关闭超时监控机制,并将目标DDR配置表的识别码由系统启动失败的识别码修改为系统启动正常的识别码。
进一步的,在目标DDR配置表拷贝到SRAM运行之后,所述方法还包括:
若超时监控机制监控为启动超时,并将系统重新上电,以确定下一个未被使用的识别码关联的DDR配置表为目标DDR配置表。
进一步的,所述方法还包括:
若检测到设备的DDR配置表的稳定性不符合预设标准,则生成DDR配置微调请求;
响应于DDR配置微调操作,将微调数据同步至DDR配置分区和DDR备份分区中。
进一步的,所述方法还包括:
将所述预设DDR配置分区制作到烧片程序中。
第二方面,本申请实施例提供了一种针对DDR的兼容装置,该装置包括:
目标读取位置确定模块,用于若在boot阶段检测到DDR解析触发事件,则确定Flash的boot分区以外的预设DDR配置分区为目标读取位置;其中,所述boot分区包括启动分区和业务分区,所述业务分区邻接于所述启动分区,所述启动分区用于拷贝至SRAM运行,以初始化DDR;
识别码读取模块,用于从所述预设DDR配置分区读取识别码;其中,所述预设DDR配置分区中包括至少一种DDR配置表索引与识别码的关联关系;其中,所述识别码包括系统启动正常的识别码、系统启动失败的识别码和未被使用的识别码中的至少一种;
初始化模块,用于若存在启动正常的识别码,则根据启动正常的识别码关联的配置表初始化DDR。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的针对DDR的兼容方法。
第四方面,本申请实施例提供了一种设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的针对DDR的兼容方法。
本申请实施例所提供的技术方案,若在boot阶段检测到DDR解析触发事件,则确定Flash的boot分区以外的预设DDR配置分区为目标读取位置;其中,所述boot分区包括启动分区和业务分区,所述业务分区邻接于所述启动分区,所述启动分区用于拷贝至SRAM运行,以初始化DDR;从所述预设DDR配置分区读取识别码;其中,所述预设DDR配置分区中包括至少一种DDR配置表索引与识别码的关联关系;其中,所述识别码包括系统启动正常的识别码、系统启动失败的识别码和未被使用的识别码中的至少一种;若存在启动正常的识别码,则根据启动正常的识别码关联的配置表初始化DDR。通过采用本申请所提供的技术方案,可以实现兼容多DDR的目的。
附图说明
图1是本申请实施例提供的针对DDR的兼容方法的流程图;
图2是本申请实施例提供的Flash上数据存储结构的示意图;
图3是本申请实施例提供的Flash上数据存储结构的示意图;
图4是本申请实施例提供的DDR配置分区数据存储结构的示意图;
图5是本申请实施例提供的针对DDR的兼容装置的结构示意图;
图6是本申请实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1是本申请实施例提供的针对DDR的兼容方法的流程图,本实施例可适用于嵌入式系统启动的情况,该方法可以由本申请实施例所提供的针对DDR的兼容装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于使用嵌入式系统的设备中。
如图1所示,所述针对DDR的兼容方法包括:
S110、若在boot阶段检测到DDR解析触发事件,则确定Flash的boot分区以外的预设DDR配置分区为目标读取位置;其中,所述boot分区包括启动分区和业务分区,所述业务分区邻接于所述启动分区,所述启动分区用于拷贝至SRAM运行,以初始化DDR。
其中,嵌入式系统中可以分为boot阶段和内核阶段两个部分,对于DDR的配置的读取,可以是在boot阶段完成的。具体的,可以是在boot阶段将Flash上的启动分区拷贝到SRAM(Static Random-Access Memory,SRAM,静态随机存取存储器)中运行,并读取其中关于DDR配置的相关信息。其中SRAM可以是系统运行框架中的一个芯片。boot阶段还包括根据业务分区中的内容,构建系统的基础业务能力,例如重启、关机等业务。
在本实施例中,可选的,若检测到从Flash上拷贝启动分区的内容到SRAM运行,则确定在boot阶段检测到DDR解析触发事件。其中,由于数据在Flash上是长期存储的,因此可以将Flash上的固定位置确定为启动分区。例如在Flash上的0x00000000的位置,开始对系统运行的部分镜像进行存储,如具体可以包括前64个字节的中断向量表,DDR配置表以及boot part1三个部分。其中,中断向量表用于在系统运行中断的情况下,可以根据中断向量表确定对应的中断服务程序的地址,进而解决系统运行发生中断的问题。其中一般为64个字节,此处仅以64个字节作为实例,还可以是使用了更多或者更少的字节空间。其中bootrom阶段可以根据boot part1中的代码,解析DDR配置表,以实现对外设DDR进行初始化的目的。
图2是本申请实施例提供的Flash上数据存储结构的示意图。如图2所示,在Flash上的0x00000000位置开始,可以存储中断向量表、DDR配置表以及boot part1三个部分,然后是boot part2的数据以及其他内容。其中,在bootrom阶段从Flash上拷贝前三个部分的拷贝到SRAM运行部分镜像。以此来实现DDR初始化的过程。由于ARM架构上面的SRAM芯片的价格昂贵,通常容量较小,从Flash拷贝到SRAM的DDR配置表数目受限,对于后续兼容产生影响。
在本方案中,为了可以增大配置表个数,将原由的DDR配置表从Flash中的boot分区中剥离出来。
具体的,可以是在Flash的启动分区和业务分区以外,设置预设DDR配置分区,并作为目标读取位置。其中,可以将预设DDR配置分区设置在上图的boot part2(可以理解为业务分区)的后面。这样设置,可以无需在SRAM的空间上面进行扩展,直接在DDR的配置读取阶段从目标读取位置读取相关的配置信息来完成DDR的初始化,可以扩大嵌入式系统的对多DDR的兼容能力。
在本实施例中,可选的,所述Flash的预设DDR配置分区包括DDR配置分区和DDR备份分区;
相应的,在从所述预设DDR配置分区读取识别码之前,所述方法还包括:
对所述DDR配置分区和DDR备份分区进行校验;
若DDR配置分区和DDR备份分区均通过校验,则从DDR配置分区中读取识别码;
若DDR配置分区和DDR备份分区只有一个通过校验,则从通过校验的分区中读取识别码。
其中,可以将预设DDR配置分区设置为包括DDR配置分区和DDR备份分区,这样设置的好处是可以提高DDR配置表信息的稳定性。以避免出现只有一个DDR配置分区的话,一旦存在异常,则系统无法正常初始化配置的情况。
图3是本申请实施例提供的Flash上数据存储结构的示意图。如图3所示,区别于上述示例,其中在boot part1前面仅保存DDR默认配置,而在boot part2后面划分出两个分区,分别作为DDR配置分区(ddr_cfg分区)和DDR备份分区(ddr_cfg_bak分区)。本方案在bootrom运行boot part1阶段,从ddr_cfg分区读取DDR配置表并对DDR初始化。而且这里将DDR配置放到新的分区,以及为了防止里面数据出错的,可以划分备份分区,作为ddr_cfg分区补充。
由于DDR配置分区有两个,在两个分区中,按照一定的校验流程进行校验。如果检验正常,表示分区数据正常。如果两个分区都校验成功,选择ddr_cfg分区。不然,选用校验正确的分区。
S120、从所述预设DDR配置分区读取识别码;其中,所述预设DDR配置分区中包括至少一种DDR配置表索引与识别码的关联关系;其中,所述识别码包括系统启动正常的识别码、系统启动失败的识别码和未被使用的识别码中的至少一种。
其中,DDR配置表索引与识别码的关联关系可以是存储在DDR配置分区中的起始位置的。例如存在四种DDR配置表,则相应的存在四个识别码,分别用于标识每一种DDR配置表的状态的。具体可以分为系统启动正常的识别码、系统启动失败的识别码和未被使用的识别码中三种。
图4是本申请实施例提供的DDR配置分区数据存储结构的示意图。如图4所示,识别码默认为0xffff,表示该配置还没被使用过;设备正常启动配置的识别码为0x3a3a;启动失败配置对应的识别码为0x0000。可以将配置表索引(index)中的0x0,0x1,0x2以及0xff与识别码(Indentify_Code)进行关联存储,具体的可以将该分区的最开始的第一个Flash块作为该关联关系的存储区域,并在该分区的其他部分,存储与配置表索引相对应的配置表的具体信息。
S130、若存在启动正常的识别码,则根据启动正常的识别码关联的配置表初始化DDR。
其中,如果存在启动正常的识别码,则根据启动正常的识别码关联的配置表初始化DDR。通过这样的设置,可以针对已经启动过并启动成功的系统的DDR配置表来初始化DDR,这样可以快速并准确的确定适合当前系统的DDR的DDR配置信息。
本实施例中,可选的,所述方法还包括:
若不存在启动正常的识别码,则开启超时监控机制,并逐个从未被使用的识别码关联的DDR配置表中确定目标DDR配置表;
确定目标DDR配置表之后,将目标DDR配置表拷贝到SRAM运行,并将目标DDR配置表的识别码修改为系统启动失败的识别码;
若初始化DDR正常,则关闭超时监控机制,并将目标DDR配置表的识别码由系统启动失败的识别码修改为系统启动正常的识别码。
结合上述示例,如果其中的识别码中不包括0x3a3a,说明设备第一次上电。则可以通过确定其中的0xffff的配置表数量,以及根据识别码为0xffff的配置表中逐个进行初始化DDR的尝试。
具体的,可以在boot启动汇编阶段,启动超时监控机制,例如监控时长为1秒钟,系统逐个索引DDR配置表;并将识别码为0xffff的配置表导入SRAM,同时将该识别码修改(0xffff修改为0x0000)。如DDR正常初始化,那么将boot part2镜像导入到DDR中。boot在DDR中完全运行之后,再关闭超时监控机制。并将该配置表的识别码修改(0x0000修改为0x3a3a);如配置异常,那么boot启动失败,达到超时监控机制的1秒钟后触发设备重启。
本方案通过这样的设置,可以对未使用过的配置表进行逐一尝试,并且生成相应的识别码,以备后续系统上电后使用。这样设置可以在提高系统的DDR的兼容性的同时,还能够快速的对系统的DDR提供相应的配置信息。
在上述技术方案的基础上,可选的,在目标DDR配置表拷贝到SRAM运行之后,所述方法还包括:若超时监控机制监控为启动超时,并将系统重新上电,以确定下一个未被使用的识别码关联的DDR配置表为目标DDR配置表。通过重新上电,可以直接对下一个DDR配置表进行测试,同时不更改当前的DDR配置表的识别码,即为当前的DDR配置表的识别码被确定为0x0000。通过这样的设置,可以简化识别码的更改操作,并且可以确保识别码能够准确的反映出当前所关联的配置表索引是否能够正常初始化DDR。
本申请实施例所提供的技术方案,若在boot阶段检测到DDR解析触发事件,则确定Flash的boot分区以外的预设DDR配置分区为目标读取位置;其中,所述boot分区包括启动分区和业务分区,所述业务分区邻接于所述启动分区,所述启动分区用于拷贝至SRAM运行,以初始化DDR;从所述预设DDR配置分区读取识别码;其中,所述预设DDR配置分区中包括至少一种DDR配置表索引与识别码的关联关系;其中,所述识别码包括系统启动正常的识别码、系统启动失败的识别码和未被使用的识别码中的至少一种;若存在启动正常的识别码,则根据启动正常的识别码关联的配置表初始化DDR。通过采用本申请所提供的技术方案,可以实现兼容多DDR的目的。
在上述各技术方案的基础上,可选的,所述方法还包括:若检测到设备的DDR配置表的稳定性不符合预设标准,则生成DDR配置微调请求;响应于DDR配置微调操作,将微调数据同步至DDR配置分区和DDR备份分区中。
可以理解的,如果系统始终稳定运行,则不存在任何问题,如果系统虽然能够正常启动,但是在一段时间内发现系统的运行不稳定,则说明DDR配置中的相关参数需要进行调整。
由于上述步骤是对DDR配置的初步适配。如果某一套配置用于某DDR颗粒,虽然可以运行,但是长时间使用可能存在稳定性问题。设备初步启动后,针对部分DDR配置,引入细调机制。具体的,可以建立设备电子标签与编码板映射关系。其中,电子标签指的是设备硬件信息的组合,烧录在设备某个分区。同一个电子标签对应同一块编码板,其中编码板中可以包括DDR以及CPU的相关信息,其中的电子标签可以是在设备启动后,手动烧录的。在设备启动后,可以寻找存在电子标签相对应的DDR配置,并对比当前使用的DDR配置是否为稳定版本进行确定,如果是稳定的版本则可以正常启动。如果不是,则可以将稳定DDR配置更新到DDR配置分区和DDR备份这两个分区中(即为前述的DDR_CFG和DDR_CFG_BAK)分区对应位置。
通过这样的设置,可以确保经过烧录电子标签的设备,在出厂前经过细调,DDR_CFG分区识别码为正常的配置已经是稳定版本。
在上述技术方案的基础上,可选的,所述方法还包括:将所述预设DDR配置分区制作到烧片程序中。其中,由于嵌入式设备都需要用到烧片程序。我们这里将配置分区制作到烧片程序中。这样做的好处是DDR配置表随着设备出厂就已经完成。设备启动的过程中,可以直接读取该分区信息进行配置。
图5是本申请实施例提供的针对DDR的兼容装置的结构示意图。如图5所示,所述针对DDR的兼容装置包括:
目标读取位置确定模块510,用于若在boot阶段检测到DDR解析触发事件,则确定Flash的boot分区以外的预设DDR配置分区为目标读取位置;其中,所述boot分区包括启动分区和业务分区,所述业务分区邻接于所述启动分区,所述启动分区用于拷贝至SRAM运行,以初始化DDR;
识别码读取模块520,用于从所述预设DDR配置分区读取识别码;其中,所述预设DDR配置分区中包括至少一种DDR配置表索引与识别码的关联关系;其中,所述识别码包括系统启动正常的识别码、系统启动失败的识别码和未被使用的识别码中的至少一种;
初始化模块530,用于若存在启动正常的识别码,则根据启动正常的识别码关联的配置表初始化DDR。
本申请实施例所提供的技术方案,可以通过自动适配DDR的配置信息,实现兼容多DDR的目的。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种针对DDR的兼容方法,该方法包括:
若在boot阶段检测到DDR解析触发事件,则确定Flash的boot分区以外的预设DDR配置分区为目标读取位置;其中,所述boot分区包括启动分区和业务分区,所述业务分区邻接于所述启动分区,所述启动分区用于拷贝至SRAM运行,以初始化DDR;
从所述预设DDR配置分区读取识别码;其中,所述预设DDR配置分区中包括至少一种DDR配置表索引与识别码的关联关系;其中,所述识别码包括系统启动正常的识别码、系统启动失败的识别码和未被使用的识别码中的至少一种;
若存在启动正常的识别码,则根据启动正常的识别码关联的配置表初始化DDR。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到计算机系统。第二计算机系统可以提供程序指令给计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的针对DDR的兼容操作,还可以执行本申请任意实施例所提供的针对DDR的兼容方法中的相关操作。
本申请实施例提供了一种设备,该设备中可集成本申请实施例提供的针对DDR的兼容装置。图6是本申请实施例提供的一种设备的结构示意图。如图6所示,本实施例提供了一种设备600,其包括:一个或多个处理器620;存储装置610,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器620执行,使得所述一个或多个处理器620实现本申请实施例所提供的针对DDR的兼容方法,该方法包括:
若在boot阶段检测到DDR解析触发事件,则确定Flash的boot分区以外的预设DDR配置分区为目标读取位置;其中,所述boot分区包括启动分区和业务分区,所述业务分区邻接于所述启动分区,所述启动分区用于拷贝至SRAM运行,以初始化DDR;
从所述预设DDR配置分区读取识别码;其中,所述预设DDR配置分区中包括至少一种DDR配置表索引与识别码的关联关系;其中,所述识别码包括系统启动正常的识别码、系统启动失败的识别码和未被使用的识别码中的至少一种;
若存在启动正常的识别码,则根据启动正常的识别码关联的配置表初始化DDR。
当然,本领域技术人员可以理解,处理器620还实现本申请任意实施例所提供的针对DDR的兼容方法的技术方案。
图6显示的设备600仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,该设备600包括处理器620、存储装置610、输入装置630和输出装置640;设备中处理器620的数量可以是一个或多个,图6中以一个处理器620为例;设备中的处理器620、存储装置610、输入装置630和输出装置640可以通过总线或其他方式连接,图6中以通过总线650连接为例。
存储装置610作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块单元,如本申请实施例中的针对DDR的兼容方法对应的程序指令。
存储装置610可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置610可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置610可进一步包括相对于处理器620远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置630可用于接收输入的数字、字符信息或语音信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏、扬声器等设备。
本申请实施例提供的设备,可以在多个拍摄节点没有进行预先组合的情况下,根据距离来进行协同作业,以实现拍摄节点动态组合,从而分担不同的拍摄任务的目的。
上述实施例中提供的针对DDR的兼容装置、存储介质及设备可执行本申请任意实施例所提供的针对DDR的兼容方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的针对DDR的兼容方法。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (9)

1.一种针对DDR的兼容方法,其特征在于,该方法包括:
若在boot阶段检测到DDR解析触发事件,则确定Flash的boot分区以外的预设DDR配置分区为目标读取位置;其中,所述boot分区包括启动分区和业务分区,所述业务分区邻接于所述启动分区,所述启动分区用于拷贝至SRAM运行,以初始化DDR;
从所述预设DDR配置分区读取识别码;其中,所述预设DDR配置分区中包括至少一种DDR配置表索引与识别码的关联关系;其中,所述识别码包括系统启动正常的识别码、系统启动失败的识别码和未被使用的识别码中的至少一种;
若存在启动正常的识别码,则根据启动正常的识别码关联的配置表初始化DDR;
若不存在启动正常的识别码,则开启超时监控机制,并逐个从未被使用的识别码关联的DDR配置表中确定目标DDR配置表;
确定目标DDR配置表之后,将目标DDR配置表拷贝到SRAM运行,并将目标DDR配置表的识别码修改为系统启动失败的识别码;
若初始化DDR正常,则关闭超时监控机制,并将目标DDR配置表的识别码由系统启动失败的识别码修改为系统启动正常的识别码。
2.根据权利要求1所述的方法,其特征在于,若检测到从Flash上拷贝启动分区的内容到SRAM运行,则确定在boot阶段检测到DDR解析触发事件。
3.根据权利要求1所述的方法,其特征在于,所述Flash的预设DDR配置分区包括DDR配置分区和DDR备份分区;
相应的,在从所述预设DDR配置分区读取识别码之前,所述方法还包括:
对所述DDR配置分区和DDR备份分区进行校验;
若DDR配置分区和DDR备份分区均通过校验,则从DDR配置分区中读取识别码;
若校验DDR配置分区和DDR备份分区只有一个通过校验,则从通过校验的分区中读取识别码。
4.根据权利要求1所述的方法,其特征在于,在目标DDR配置表拷贝到SRAM运行之后,所述方法还包括:
若超时监控机制监控为启动超时,并将系统重新上电,以确定下一个未被使用的识别码关联的DDR配置表为目标DDR配置表。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若检测到设备的DDR配置表的稳定性不符合预设标准,则生成DDR配置微调请求;
响应于DDR配置微调操作,将微调数据同步至DDR配置分区和DDR备份分区中。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述预设DDR配置分区制作到烧片程序中。
7.一种针对DDR的兼容装置,其特征在于,该装置包括:
目标读取位置确定模块,用于若在boot阶段检测到DDR解析触发事件,则确定Flash的boot分区以外的预设DDR配置分区为目标读取位置;其中,所述boot分区包括启动分区和业务分区,所述业务分区邻接于所述启动分区,所述启动分区用于拷贝至SRAM运行,以初始化DDR;
识别码读取模块,用于从所述预设DDR配置分区读取识别码;其中,所述预设DDR配置分区中包括至少一种DDR配置表索引与识别码的关联关系;其中,所述识别码包括系统启动正常的识别码、系统启动失败的识别码和未被使用的识别码中的至少一种;
初始化模块,用于若存在启动正常的识别码,则根据启动正常的识别码关联的配置表初始化DDR;
所述初始化模块,还用于若不存在启动正常的识别码,则开启超时监控机制,并逐个从未被使用的识别码关联的DDR配置表中确定目标DDR配置表;
确定目标DDR配置表之后,将目标DDR配置表拷贝到SRAM运行,并将目标DDR配置表的识别码修改为系统启动失败的识别码;
若初始化DDR正常,则关闭超时监控机制,并将目标DDR配置表的识别码由系统启动失败的识别码修改为系统启动正常的识别码。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的针对DDR的兼容方法。
9.一种设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中任一项所述的针对DDR的兼容方法。
CN202010294296.8A 2020-04-15 2020-04-15 一种针对ddr的兼容方法、装置、存储介质及设备 Active CN113535238B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010294296.8A CN113535238B (zh) 2020-04-15 2020-04-15 一种针对ddr的兼容方法、装置、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010294296.8A CN113535238B (zh) 2020-04-15 2020-04-15 一种针对ddr的兼容方法、装置、存储介质及设备

Publications (2)

Publication Number Publication Date
CN113535238A CN113535238A (zh) 2021-10-22
CN113535238B true CN113535238B (zh) 2024-02-02

Family

ID=78088226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010294296.8A Active CN113535238B (zh) 2020-04-15 2020-04-15 一种针对ddr的兼容方法、装置、存储介质及设备

Country Status (1)

Country Link
CN (1) CN113535238B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101650662A (zh) * 2009-08-26 2010-02-17 中兴通讯股份有限公司 一种嵌入式系统的存储器件、固件启动及升级方法
CN102388365A (zh) * 2011-09-27 2012-03-21 华为技术有限公司 一种处理器启动方法及装置
CN104571948A (zh) * 2014-12-11 2015-04-29 乐视致新电子科技(天津)有限公司 一种兼容多种ddr的方法及系统
CN109815061A (zh) * 2019-01-31 2019-05-28 深兰科技(上海)有限公司 一种嵌入式系统防砖的方法、装置、设备和介质
CN110825421A (zh) * 2019-11-29 2020-02-21 湖南国科微电子股份有限公司 一种固件升级方法、系统及可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10877845B2 (en) * 2018-08-02 2020-12-29 Dell Products, L.P. Apparatus and method for diagnostic use of BIOS attributes to remediate configuration issues

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101650662A (zh) * 2009-08-26 2010-02-17 中兴通讯股份有限公司 一种嵌入式系统的存储器件、固件启动及升级方法
CN102388365A (zh) * 2011-09-27 2012-03-21 华为技术有限公司 一种处理器启动方法及装置
CN104571948A (zh) * 2014-12-11 2015-04-29 乐视致新电子科技(天津)有限公司 一种兼容多种ddr的方法及系统
CN109815061A (zh) * 2019-01-31 2019-05-28 深兰科技(上海)有限公司 一种嵌入式系统防砖的方法、装置、设备和介质
CN110825421A (zh) * 2019-11-29 2020-02-21 湖南国科微电子股份有限公司 一种固件升级方法、系统及可读存储介质

Also Published As

Publication number Publication date
CN113535238A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
US10114655B2 (en) Rapid start up method for electronic equipment
US10303459B2 (en) Electronic system with update control mechanism and method of operation thereof
US9292277B2 (en) Methods and devices for updating firmware of a component using a firmware update application
US8495415B2 (en) Method and system for maintaining backup copies of firmware
US20040255106A1 (en) Recovery of operating system configuration data by firmware of computer system
CN108509215B (zh) 一种系统软件的更换方法、装置、终端设备及存储介质
WO2013103023A1 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
CN107179909A (zh) 软件升级方法、装置及计算机可读存储介质
US10635428B2 (en) System and method for in-service update of software
CN109710317B (zh) 系统启动方法、装置、电子设备及存储介质
US20130080751A1 (en) Method and device for updating bios program for computer system
CN111090546B (zh) 一种操作系统重启方法、装置、设备及可读存储介质
WO2024113995A1 (zh) 一种bmc异构升级方法、系统、设备及可读存储介质
CN113867807A (zh) 一种缩短服务器上电时间的方法、装置、设备和存储介质
CN113535238B (zh) 一种针对ddr的兼容方法、装置、存储介质及设备
CN113190256A (zh) 一种升级方法、装置及设备
WO2020192669A1 (zh) 燃气表智能控制器及其固件升级启动方法
CN117130672A (zh) 服务器启动流程控制方法、系统、终端及存储介质
JP5840290B2 (ja) ソフトウェア操作性サービス
CN114237722B (zh) 一种系统的启动方法、装置、设备及工程车辆
CN103473081A (zh) 终端进行系统升级后生效的方法及该终端
US11586536B1 (en) Remote configuration of multi-mode DIMMs through a baseboard management controller
US11204704B1 (en) Updating multi-mode DIMM inventory data maintained by a baseboard management controller
CN113805946B (zh) 用于安卓系统的非易失属性的处理方法、装置及电子设备
KR20130040638A (ko) 빠른 부팅을 위한 부트 이미지의 에러를 복구하는 방법 및 이를 수행하는 화상형성장치

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