CN107515737A - 一种加载mcu芯片的配置信息字的方法 - Google Patents
一种加载mcu芯片的配置信息字的方法 Download PDFInfo
- Publication number
- CN107515737A CN107515737A CN201610418263.3A CN201610418263A CN107515737A CN 107515737 A CN107515737 A CN 107515737A CN 201610418263 A CN201610418263 A CN 201610418263A CN 107515737 A CN107515737 A CN 107515737A
- Authority
- CN
- China
- Prior art keywords
- configuration information
- information word
- chip
- mcu
- loading
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种加载MCU芯片的配置信息字的方法,通过从芯片的NVM存储器中加载芯片配置信息字的同时,对芯片配置信息字的内容进行校验;将芯片配置信息字及其校验字节一并保存到NVM中的bank1区域与bank2区域,在加载的时候先加载bank1区域的配置信息字进行校验,如果校验失败再加载bank2区域的配置信息字进行校验;通过在加载芯片配置信息字的同时进行校验,能够检测到加载芯片配置信息字的数据出现错误,当MCU无法在加载到正确的配置信息字时,通过将MCU内核复位始终处于复位状态,令MCU内核不运行。本发明在MCU芯片上电复位后,能够正确地加载芯片的配置信息字,从而避免由于MCU芯片工作于预期之外的工作模式而导致应用系统出现严重的错误。
Description
技术领域
本发明涉及一种加载MCU芯片的方法,具体是一种加载MCU芯片的配置信息字的方法。
背景技术
MCU芯片的配置信息字是预先存储于MCU芯片内部的配置控制信息。当MCU芯片在上电复位后,芯片根据预先存储于芯片内部的配置信息的不同,将芯片置于相应的工作模式;以及根据不同的芯片配置信息,相应地配置芯片内部模块。它是MCU芯片工作相关的全局性配置。
一般来说,这些信息是存储于芯片内部的非易失性存储器(NVM, non-volatilememory)中。在芯片掉电之后,这些信息依然可以保存下来,使得MCU芯片在重新上电后,能够工作在预期的模式下。例如,MCU芯片的配置信息通常包括MCU芯片的复位时间,复位电压,工作时钟频率,时钟校准器,其它模块的性能校准值,IO引脚映射控制等信息。芯片的配置信息是否正确地加载直接关系到MCU芯片在上电之后,是否按照预期的模式来工作。任何数据错误将会使芯片不能按照预期正常地工作。另一方面,由于MCU芯片在应用系统中通常处于重要的控制核心的地位,所以在系统的在场应用中,如果MCU芯片由于加载芯片配置信息字出现错误,将有可能导致应用系统出现严重的系统错误。因此,在MCU芯片上电复位后,正确地加载芯片的配置信息字是MCU芯片工作过程中的一个非常重要的环节。
发明内容
本发明的目的在于提供一种加载MCU芯片的配置信息字的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种加载MCU芯片的配置信息字的方法,通过从芯片的NVM存储器中加载芯片配置信息字的同时,对芯片配置信息字的内容进行校验。
作为本发明再进一步的方案:将芯片配置信息字及其校验字节一并保存到NVM中的bank1区域与bank2区域,在加载的时候先加载bank1区域的配置信息字进行校验,如果校验失败再加载bank2区域的配置信息字进行校验;通过在加载芯片配置信息字的同时进行校验,能够检测到加载芯片配置信息字的数据出现错误,当MCU无法在加载到正确的配置信息字时,通过将MCU内核复位始终处于复位状态,令MCU内核不运行。
与现有技术相比,本发明的有益效果是:一、本方案通过将芯片配置信息字及其校验字节一并保存到NVM中的bank1区域与bank2区域,在加载的时候先加载bank1区域的配置信息字进行校验,如果校验失败再加载bank2区域的配置信息字进行校验,提高MCU芯片加载芯片配置信息字的可靠性。
二、本方案通过在加载芯片配置信息字的同时进行校验,能够检测到加载芯片配置信息字的数据出现错误,当MCU无法在加载到正确的配置信息字时,通过将MCU内核复位始终处于复位状态,令MCU内核不运行,从而避免由于MCU芯片工作于预期之外的工作模式而导致应用系统出现严重的错误。
附图说明
图1为加载MCU芯片的配置信息字的方法的结构原理框图;
图2为加载MCU芯片的配置信息字的方法中加载校验模块的示意图;
图3为加载MCU芯片的配置信息字的方法中加载配置信息成功的情况的复位控制模块时序图。
图4为加载MCU芯片的配置信息字的方法中加载配置信息失败的情况的复位控制模块时序图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1~4,本发明实施例中,一种加载MCU芯片的配置信息字的方法,通过从芯片的NVM存储器中加载芯片配置信息字的同时,对芯片配置信息字的内容进行校验;将芯片配置信息字及其校验字节一并保存到NVM中的bank1区域与bank2区域,在加载的时候先加载bank1区域的配置信息字进行校验,如果校验失败再加载bank2区域的配置信息字进行校验;通过在加载芯片配置信息字的同时进行校验,能够检测到加载芯片配置信息字的数据出现错误,当MCU无法在加载到正确的配置信息字时,通过将MCU内核复位始终处于复位状态,令MCU内核不运行。
本发明提供了一种安全可靠的加载MCU芯片配置信息字的方法。该方法通过从芯片的NVM存储器中加载芯片配置信息字的同时,对芯片配置信息字的内容进行校验,从而保证芯片的配置信息加载过程的正确,保证应用系统避免由于加载芯片配置信息字数据错误而产生严重的后果。
下面对照附图详细说明本发明的技术方案:NVM(non-volatile memory)为一种非易失性存储器,可以芯片在断电的时情况下,保持存储器中的内容不丢失。NVM用来存储MCU芯片配置信息字(cfg_word)。NVM中分为两个存储区域(bank1与bank2)。MCU芯片配置信息字(长度为7个字节)以及其校验和字节(1个字节)被预先烧录至NVM的两个存储区域中,bank1与bank2保存完全一样的信息。
复位控制模块负责控制芯片各模块的复位以及复位释放,如图 3所示。芯片上电复位后,在如图中t2时间点,与MCU芯片配置信息字相关的模块(包括加载控制模块、配置信息缓存器模块、加载校验模块)的复位(rstn_cfg)首先被释放(rstn_cfg置为高电平)。这些相关的模块在rstn_cfg释放后,即开始进行工作。在图3中t3时间点,MCU芯片配置信息字加载完成后,如果芯片配置信息字校验通过,复位控制模块将会释放MCU芯片的内核复位信号(rstn_sys置为高电平),此后,MCU芯片的正常功能开始运行。为了节省功耗,复位控制模块还会在MCU芯片正常运行之后,在图3中t4时间点,把rstn_cfg置为低有效,从而关闭所有与MCU芯片配置信息字加载相关的逻辑。
如果芯片配置信息字校验不通过,复位控制模块将把rstn_sys一直置为低有效状态,从而使MCU内核不能运行,藉此对应用系统进行保护。加载控制模块在rstn_cfg复位信号释放之后开始工作。加载控制模块发送读请求至NVM中,请求读取保存在NVM的bank1区域的芯片配置信息字。NVM将MCU芯片配置信息字(长度为7个字节)以及其校验和字节(1个字节)以字节为单位,按顺序送至配置信息缓存器模块进行保存。同时,此信息也会一并送至加载校验模块中进行累加校验。当配置信息缓存器模块保存完芯片配置信息字(长度为7个字节)以及其校验和字节(1个字节)后,加载校验模块也完成配置信息字的累加校验,并且得到计算的校验值(vry_calc),然后将计算的校验值与保存于配置信息缓存器中的校验字节进行比较,最后将校验结果反馈至加载控制模块。加载校验模块的工作原理如图 2所示。如果校验结果通过,加载控制模块将通知复位控制模块释放内核复位信号rstn_sys。此后,MCU内核将正常运行。如果核验不通过,加载控制模块将请求加载保存于NVM的bank2区域的芯片配置信息。与加载bank1区域的芯片配置信息字的过程一样,NVM将MCU芯片配置信息字(长度为7个字节)以及其校验和字节(1个字节)以字节为单位,按顺序送至配置信息缓存器模块进行保存。同时,此信息也会一并送至加载校验模块中进行累加校验。如果加载校验模块校验通过,将通知复位控制模块释放内核复位信号rstn_sys。此后,MCU内核将正常运行。如果核验不通过,加载控制将bank2区域校验失败通知复位控制模块,然后复位控制模块将把内核复位信号rstn_sys一直置为低有效,防止芯片工作于预期之外的工作模式,以保护应用系统不因MCU芯片误动作而出现严重错误。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (2)
1.一种加载MCU芯片的配置信息字的方法,其特征在于,通过从芯片的NVM存储器中加载芯片配置信息字的同时,对芯片配置信息字的内容进行校验。
2.根据权利要求1所述的加载MCU芯片的配置信息字的方法,其特征在于,将芯片配置信息字及其校验字节一并保存到NVM中的bank1区域与bank2区域,在加载的时候先加载bank1区域的配置信息字进行校验,如果校验失败再加载bank2区域的配置信息字进行校验;通过在加载芯片配置信息字的同时进行校验,能够检测到加载芯片配置信息字的数据出现错误,当MCU无法在加载到正确的配置信息字时,通过将MCU内核复位始终处于复位状态,令MCU内核不运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610418263.3A CN107515737A (zh) | 2016-06-15 | 2016-06-15 | 一种加载mcu芯片的配置信息字的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610418263.3A CN107515737A (zh) | 2016-06-15 | 2016-06-15 | 一种加载mcu芯片的配置信息字的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107515737A true CN107515737A (zh) | 2017-12-26 |
Family
ID=60719782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610418263.3A Pending CN107515737A (zh) | 2016-06-15 | 2016-06-15 | 一种加载mcu芯片的配置信息字的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107515737A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109407807A (zh) * | 2018-09-29 | 2019-03-01 | 上海东软载波微电子有限公司 | 一种芯片复位电路、复位方法及mcu芯片 |
CN111782290A (zh) * | 2020-06-02 | 2020-10-16 | 青岛信芯微电子科技股份有限公司 | 一种数据处理方法及设备 |
CN112650093A (zh) * | 2020-09-25 | 2021-04-13 | 合肥恒烁半导体有限公司 | 一种应用于mcu芯片的数字复位电路 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465754A (zh) * | 2008-12-31 | 2009-06-24 | 上海华为技术有限公司 | 加载复位配置字的方法、设备及通信单板 |
CN104123167A (zh) * | 2014-08-06 | 2014-10-29 | 无锡中微爱芯电子有限公司 | 具有配置字自检功能的mcu上电启动方法及其自检方法 |
CN105760250A (zh) * | 2016-02-04 | 2016-07-13 | 北京时代民芯科技有限公司 | 一种具有码流纠检错功能的单粒子加固fpga配置电路 |
-
2016
- 2016-06-15 CN CN201610418263.3A patent/CN107515737A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465754A (zh) * | 2008-12-31 | 2009-06-24 | 上海华为技术有限公司 | 加载复位配置字的方法、设备及通信单板 |
CN104123167A (zh) * | 2014-08-06 | 2014-10-29 | 无锡中微爱芯电子有限公司 | 具有配置字自检功能的mcu上电启动方法及其自检方法 |
CN105760250A (zh) * | 2016-02-04 | 2016-07-13 | 北京时代民芯科技有限公司 | 一种具有码流纠检错功能的单粒子加固fpga配置电路 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109407807A (zh) * | 2018-09-29 | 2019-03-01 | 上海东软载波微电子有限公司 | 一种芯片复位电路、复位方法及mcu芯片 |
CN111782290A (zh) * | 2020-06-02 | 2020-10-16 | 青岛信芯微电子科技股份有限公司 | 一种数据处理方法及设备 |
CN111782290B (zh) * | 2020-06-02 | 2023-10-27 | 青岛信芯微电子科技股份有限公司 | 一种数据处理方法及设备 |
CN112650093A (zh) * | 2020-09-25 | 2021-04-13 | 合肥恒烁半导体有限公司 | 一种应用于mcu芯片的数字复位电路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108292248B (zh) | 存储器系统中的单独链路和阵列纠错 | |
CN108351820B (zh) | 在跨存储器链路传送纠正数据时保护ecc位置 | |
CN105260258B (zh) | 层级ecc单芯片和双芯片chipkill方案 | |
CN108446189B (zh) | 一种星载嵌入式软件容错启动系统及方法 | |
CN103562888B (zh) | 用于提供数据完整性的设备及方法 | |
US10061645B2 (en) | Memory array and link error correction in a low power memory sub-system | |
US8751860B2 (en) | Object oriented memory in solid state devices | |
US7873779B2 (en) | Memory page size auto detection | |
CN113495799B (zh) | 一种内存故障处理方法及相关设备 | |
US20080189588A1 (en) | Bit error prevention method and information processing apparatus | |
CN102279776B (zh) | 一种错误检查与纠正能力的测试方法及装置 | |
US20180247699A1 (en) | Post package repair for mapping to a memory failure pattern | |
CN103678030A (zh) | 多系统设备启动系统及其方法 | |
WO2007136655A3 (en) | System to detect and identify errors in control information, read data and/or write data | |
US20120079346A1 (en) | Simulated error causing apparatus | |
CN106021002A (zh) | 一种嵌入式设备数据读写方法及装置 | |
CN107515737A (zh) | 一种加载mcu芯片的配置信息字的方法 | |
US20080072119A1 (en) | Allowable bit errors per sector in memory devices | |
CN102279757B (zh) | 一种系统程序启动的方法及装置 | |
US10565052B2 (en) | Data protecting method, memory control circuit unit and memory storage apparatus | |
CN104636271B (zh) | 访问命令/地址寄存器装置中存储的数据 | |
CN107239358A (zh) | 安卓系统的启动方法、移动终端及具有存储功能的装置 | |
CN109407807B (zh) | 一种芯片复位电路、复位方法及mcu芯片 | |
CN105653332B (zh) | 一种可修正otp烧录问题的mcu系统及烧录方法 | |
CN104597807A (zh) | 一种星载综合电子cpu翻转加固系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171226 |