CN111444034A - 一种预防仪表Dflash初始化失败的方法 - Google Patents
一种预防仪表Dflash初始化失败的方法 Download PDFInfo
- Publication number
- CN111444034A CN111444034A CN202010215616.6A CN202010215616A CN111444034A CN 111444034 A CN111444034 A CN 111444034A CN 202010215616 A CN202010215616 A CN 202010215616A CN 111444034 A CN111444034 A CN 111444034A
- Authority
- CN
- China
- Prior art keywords
- dflash
- initialization
- entering
- failure
- preventing
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000009191 jumping Effects 0.000 claims abstract description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000002265 prevention Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Instrument Panels (AREA)
Abstract
本发明公开了一种预防仪表Dflash初始化失败的方法,其特征在于:预防仪表Dflash初始化失败的方法包括以下步骤:第一步,Dflash初始化;第二步,判断Dflash模式标志位是否初始化成功,如果YES,则进入第三步,如果判断为NO,则进入第四步;第三步,读取Dflash数据并对比预设置志字节是否一致,如果YES,则进入第六步,如果NO,则进入第五步;第四步,判断初始化是否已进行第N次,如果NO,则进入第一步,如果YES,则进入第三步;第五步,将ROM里面的默认数据写到RAM里面并且将Dflash也写一遍;第五步完成后进入第六步;第六步,跳转正常工作。本发明公开的预防仪表Dflash初始化失败的方法可以很明显的增加软件的容错性,有效的预防仪表出现Dflash初始化失败导致的错误显示和指示。
Description
技术领域
本发明涉及汽车电子技术领域,特别涉及一种预防仪表Dflash初始化失败的方法。
背景技术
Data Flash(数据存储器,简称Dflash)是在仪表内部用于存储整车仪表的重要数据的存储芯片,存储的数据包括:ODO数据、表头数据、配置信息以及一些要求掉电不丢失的数据。
汽车仪表在上Battery电时,仪表内部会有初始化的过程,包括Dflash 初始化、MCU时钟初始化、端口初始化、RTC时钟初始化、定时中断初始化、ADC初始化、电机模块初始化、LCD模块初始化、CAN模块初始化等。
通俗讲,仪表初始化即为了恢复整车下电前仪表的数据状态以及配置信息。在数据存储器的读取和写入的操作过程中,偶尔会出现无法读取数据或写入数据会使得Dflash初始化失败,无法恢复上次下电前的数据进而导致数据缺失或错乱。一旦Dflash初始化失败,RAM就无法读取Dflash中存储的数据及配置,这时Dflash会直接恢复ROM中的默认数据和配置信息,仪表初始化后的数据状态以及配置信息直接变成ROM存储的默认信息,造成所存储数据的丢失以及功能配置的错误。继而给客户显示错误的信息,导致不良的驾驶体验。
发明内容
本发明目的是:克服现有技术存在的不足,解决现有技术中存在的问题,提供一种预防仪表Dflash初始化失败的方法,预防仪表出现Dflash初始化失败导致的错误显示和指示给客户带来不良观感。
本发明的技术方案为:
一种预防仪表Dflash初始化失败的方法,其特征在于:预防仪表Dflash初始化失败的方法包括以下步骤:
第一步,Dflash初始化;
第二步,判断Dflash模式标志位是否初始化成功,如果YES,则进入第三步,如果判断为NO,则进入第四步;
第三步,读取Dflash数据并对比预设置志字节是否一致,如果YES,则进入第六步,如果NO,则进入第五步;
第四步,判断初始化是否已进行第N次,如果NO,则进入第一步,如果YES,则进入第三步;
第五步,将ROM里面的默认数据写到RAM里面并且将Dflash也写一遍,第五步完成后进入第六步;
第六步,跳转正常工作。
作为本方案的进一步改进,第四步里的N次中,N为大于等于2的自然数。
作为本方案的进一步改进,第四步里的N次中,N为3。
作为本方案的进一步改进,判定Dflash初始化次数是否已经达到3次,若未初始化达3次则再次进行Dflash初始化直至成功,Dflash初始化失败的概率很小,若3次Dflash初始化都失败则说明该仪表内部块区损坏或者硬件存在质量问题。
本发明的优点:
1、本发明所公开的预防仪表Dflash初始化失败的方法,在出现Dflash初始化失败之后的进程中增加一个逻辑判断,若Dflash初始化出现失败,则回到Dflash初始化的步骤再次进行Dflash的初始化步骤,这种策略可以很明显的增加软件的容错性,有效的预防Dflash初始化失败的情况出现。
2、这样可以极大增加容错率,预防因偶然因素出现一次Dflash初始化失败,导致整个仪表数据恢复ROM中默认数据,导致出现错误显示和指示。预防仪表出现Dflash初始化失败导致的错误显示和指示给客户带来不良观感。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1是现有技术中未增加预防Dflash初始化失败的软件流程示意图。
图2是本发明增加了预防Dflash初始化失败的软件流程示意图。
具体实施方式
下面结合附图及优选实施方式对本发明技术方案进行详细说明。
如图2所示,本发明公开一种预防仪表Dflash初始化失败的方法,所述预防仪表Dflash初始化失败的方法包括以下步骤:第一步,Dflash初始化;第二步,判断Dflash模式标志位是否初始化成功,如果YES,则进入第三步,如果判断为NO,则进入第四步;
第三步,读取Dflash数据并对比预设置志字节是否一致,如果YES,则进入第六步,如果NO,则进入第五步;第四步,判断初始化是否已进行第N次,如果NO,则进入第一步,如果YES,则进入第三步;第五步,将ROM里面的默认数据写到RAM里面并且将Dflash也写一遍;第五步完成后进入第六步;第六步,跳转正常工作。本发明所公开的预防仪表Dflash初始化失败的方法,在出现Dflash初始化失败之后的进程中增加一个逻辑判断,若Dflash初始化出现失败,则回到Dflash初始化的步骤再次进行Dflash的初始化步骤,这种策略可以很明显的增加软件的容错性,有效的预防Dflash初始化失败的情况出现。
作为本方案的进一步改进,第四步里的N次中,N为大于等于2的自然数。这样可以极大增加容错率,预防因偶然因素出现一次Dflash初始化失败,导致整个仪表数据恢复ROM中默认数据,导致出现错误显示和指示。预防仪表出现Dflash初始化失败导致的错误显示和指示给客户带来不良观感。
作为本方案的进一步改进,第四步里的N次中,N为3。针对数据存储器的读取写入操作失败,导致Dflash初始化未成功而使功能失效,在软件初始化后会读取初始化是否成功的标志位值,若初始化成功该判断标志位值有效,若返回的标志位初始化不成功将会继续执行再初始化判定步骤。因为Dflash初始化失败属于概率极低的偶发性现象,若超过3次Dflash初始化失败,可以断定为硬件产生故障/损坏,故当Dflash初始化失败后再重复初始化两次(直到初始化三次),增加容错性。N为3的时候,这样最经济,最有效,既可以预防仪表出现Dflash初始化失败导致的错误显示和指示,又可以减少运行时间。
作为本方案的进一步改进,判定Dflash初始化次数是否已经达到3次,若未初始化达3次则再次进行Dflash初始化直至成功,Dflash初始化失败的概率很小,若3次Dflash初始化都失败则说明该仪表内部块区损坏或者硬件存在质量问题。这样可以极大增加容错率,预防因偶然因素出现一次Dflash初始化失败,导致整个仪表数据恢复ROM中默认数据,导致出现错误显示和指示。预防仪表出现Dflash初始化失败导致的错误显示和指示给客户带来不良观感。
如图1所示,现有技术中,未增加预防Dflash初始化失败的软件流程示意图。第一步,Dflash初始化,判断Dflash模式标志位是否初始化成功,如果YES,则进入第二步,如果判断为NO,则进入第三步;第二步,读取Dflash数据并对比预设置志字节是否一致,如果YES,则进入第四步,如果NO,则进入第三步;第三步,将ROM里面的默认数据写到RAM里面并且将Dflash也写一遍;第四步,跳转正常工作。这样如果Dflash初始化失败,就直接将ROM里面的默认数据写到RAM里面并且将Dflash也写一遍,会出现Dflash初始化失败导致的错误显示和指示,容易给客户带来不良观感。而本发明所公开的预防仪表Dflash初始化失败的方法,在出现Dflash初始化失败之后的进程中增加一个逻辑判断,若Dflash初始化出现失败,则回到Dflash初始化的步骤再次进行Dflash的初始化步骤,这种策略可以很明显的增加软件的容错性,有效的预防Dflash初始化失败的情况出现。
本发明是通过优选实施例进行描述的,本领域技术人员知悉,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。本发明不受此处所公开的具体实施例的限制,其他落入本申请的权利要求内的实施例都属于本发明保护的范围。本发明尚有多种实施方式,凡采用等同变换或者等效变换而形成的所有技术方案,均落在本发明的保护范围之内。
Claims (4)
1.一种预防仪表Dflash初始化失败的方法,其特征在于:预防仪表Dflash初始化失败的方法包括以下步骤:
第一步,Dflash初始化,
第二步,判断Dflash模式标志位是否初始化成功,如果YES,则进入第三步,如果判断为NO,则进入第四步;
第三步,读取Dflash数据并对比预设置志字节是否一致,如果YES,则进入第六步,如果NO,则进入第五步;
第四步,判断初始化是否已进行第N次,如果NO,则进入第一步,如果YES,则进入第三步;
第五步,将ROM里面的默认数据写到RAM里面并且将Dflash也写一遍;第五步完成后进入第六步;
第六步,跳转正常工作。
2.根据权利要求1所述的预防仪表Dflash初始化失败的方法,其特征在于:第四步里的N次中,N为大于等于2的自然数。
3.根据权利要求1所述的预防仪表Dflash初始化失败的方法,其特征在于:第四步里的N次中,N为3。
4.根据权利要求1所述的预防仪表Dflash初始化失败的方法,其特征在于:判定Dflash初始化次数是否已经达到3次,若未初始化达3次则再次进行Dflash初始化直至成功,Dflash初始化失败的概率很小,若3次Dflash初始化都失败则说明该仪表内部块区损坏或者硬件存在质量问题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010215616.6A CN111444034A (zh) | 2020-03-25 | 2020-03-25 | 一种预防仪表Dflash初始化失败的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010215616.6A CN111444034A (zh) | 2020-03-25 | 2020-03-25 | 一种预防仪表Dflash初始化失败的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111444034A true CN111444034A (zh) | 2020-07-24 |
Family
ID=71629654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010215616.6A Pending CN111444034A (zh) | 2020-03-25 | 2020-03-25 | 一种预防仪表Dflash初始化失败的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111444034A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008309069A (ja) * | 2007-06-14 | 2008-12-25 | Fujitsu Ten Ltd | 車両用電子制御装置、車両用電子制御システムおよび車両用電子制御装置の起動方法 |
US20090112941A1 (en) * | 2007-10-31 | 2009-04-30 | Asustek Computer Inc. | Computer system and firmware recovery method for computer system |
US20100242570A1 (en) * | 2009-03-25 | 2010-09-30 | Denso Corporation | Method for initializing indicating instrument for vehicle |
CN108073474A (zh) * | 2016-11-18 | 2018-05-25 | 大陆汽车电子(芜湖)有限公司 | 适于汽车仪表的数据处理方法 |
US20180293121A1 (en) * | 2016-06-14 | 2018-10-11 | Hangzhou Hikvision Digital Technology Co., Ltd. | Method, apparatus and system for processing data |
CN109241800A (zh) * | 2018-09-17 | 2019-01-18 | 苏州浪潮智能软件有限公司 | 一种自助终端及其运行方法 |
US20190188084A1 (en) * | 2016-09-13 | 2019-06-20 | Psa Automobiles Sa | Device for controlling the reinitialization of a computer on board an automobile |
-
2020
- 2020-03-25 CN CN202010215616.6A patent/CN111444034A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008309069A (ja) * | 2007-06-14 | 2008-12-25 | Fujitsu Ten Ltd | 車両用電子制御装置、車両用電子制御システムおよび車両用電子制御装置の起動方法 |
US20090112941A1 (en) * | 2007-10-31 | 2009-04-30 | Asustek Computer Inc. | Computer system and firmware recovery method for computer system |
US20100242570A1 (en) * | 2009-03-25 | 2010-09-30 | Denso Corporation | Method for initializing indicating instrument for vehicle |
US20180293121A1 (en) * | 2016-06-14 | 2018-10-11 | Hangzhou Hikvision Digital Technology Co., Ltd. | Method, apparatus and system for processing data |
US20190188084A1 (en) * | 2016-09-13 | 2019-06-20 | Psa Automobiles Sa | Device for controlling the reinitialization of a computer on board an automobile |
CN108073474A (zh) * | 2016-11-18 | 2018-05-25 | 大陆汽车电子(芜湖)有限公司 | 适于汽车仪表的数据处理方法 |
CN109241800A (zh) * | 2018-09-17 | 2019-01-18 | 苏州浪潮智能软件有限公司 | 一种自助终端及其运行方法 |
Non-Patent Citations (1)
Title |
---|
丁爱峰等: "某车型仪表Dflash数据篡改故障分析" * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7639537B2 (en) | Method for writing data in a non volatile memory unit | |
CN101558452B (zh) | 用于在闪速eeprom存储页中重构可靠性数据的方法和装置 | |
JPH09330273A (ja) | メモリカードおよびメモリカードにおける誤り訂正方法 | |
US8122303B2 (en) | Data structure for flash memory and data reading/writing method thereof | |
EP0806726A1 (en) | On-line memory monitoring system and methods | |
US7450436B2 (en) | Device recoverable purge for flash storage device | |
TWI512742B (zh) | 非揮發性快閃記憶體擦除異常存儲塊修復方法和裝置 | |
TW202001881A (zh) | 可變電阻隨機存取記憶體 | |
JPH02278449A (ja) | フオールト・トレラント・メモリ・システム | |
CN102117662A (zh) | 用于8-位存储器设备的差错校正机制 | |
JP3184738B2 (ja) | エラー訂正可能なメモリ・デバイス | |
US20100318874A1 (en) | Electronic memory device and method for error correcting thereof | |
CN111785315B (zh) | 降低擦除干扰和擦除时间的方法、系统、存储介质及终端 | |
JPH10240873A (ja) | Icカード | |
CN111444034A (zh) | 一种预防仪表Dflash初始化失败的方法 | |
CN112802534A (zh) | 一种电子雷管芯片自动纠错数据存储方法 | |
CN111124739A (zh) | 用于非易失性存储器的防撕除保护系统 | |
CN113342571A (zh) | 一种应用于嵌入式系统的eeprom数据掉电不丢失方法 | |
CN110659150B (zh) | 微控制单元内存的检测方法以及相关装置 | |
US20200159613A1 (en) | Device and method for generating error correction information | |
JP4950214B2 (ja) | データ記憶装置における停電を検出する方法、およびデータ記憶装置を復旧する方法 | |
CN105868120A (zh) | 基于芯片内部flash替代eeprom的数据存储方法 | |
CN116954985A (zh) | 车载芯片的ecc校验管理方法、装置及存储介质 | |
JPH02278355A (ja) | フオールト・トレラント・メモリ・システム | |
CN109271275A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200724 |
|
WD01 | Invention patent application deemed withdrawn after publication |