CN100458694C - 微处理器启动过程中对所用通用闪存的检测方法 - Google Patents

微处理器启动过程中对所用通用闪存的检测方法 Download PDF

Info

Publication number
CN100458694C
CN100458694C CNB2006100601723A CN200610060172A CN100458694C CN 100458694 C CN100458694 C CN 100458694C CN B2006100601723 A CNB2006100601723 A CN B2006100601723A CN 200610060172 A CN200610060172 A CN 200610060172A CN 100458694 C CN100458694 C CN 100458694C
Authority
CN
China
Prior art keywords
password
microprocessor
group
general flash
flash memory
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
CNB2006100601723A
Other languages
English (en)
Other versions
CN101051272A (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.)
Guangzhou Ankai Microelectronics Co.,Ltd.
Original Assignee
SHENZHEN ANYKA MICROELECTRONICS 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 SHENZHEN ANYKA MICROELECTRONICS TECHNOLOGY Co Ltd filed Critical SHENZHEN ANYKA MICROELECTRONICS TECHNOLOGY Co Ltd
Priority to CNB2006100601723A priority Critical patent/CN100458694C/zh
Publication of CN101051272A publication Critical patent/CN101051272A/zh
Application granted granted Critical
Publication of CN100458694C publication Critical patent/CN100458694C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Read Only Memory (AREA)

Abstract

一种微处理器启动过程中对所用通用闪存的检测方法,所述方法包括:A、将所有通用闪存的基本页读取命令归纳成预定数量的基本命令序列集,并在通用闪存及微处理器中设置校验密码;B、微处理器通过枚举基本命令序列读取通用闪存第一页,进行密码校验;C、当密码校验通过,证明微处理器成功地提取了通用闪存的参数,微处理器利用提取的参数从该通用闪存中读取并执行启动程序;否则,进入下一种基本命令序列的设置。该方法可以支持不同厂商,不同型号的所有NANDFLASH,并且该方法具有成本低、设计及实现简单的优点。

Description

微处理器启动过程中对所用通用闪存的检测方法
技术领域
本发明涉及通信技术领域,尤其涉及一种微处理器启动过程中对所用通用闪存(NAND FLASH)的检测方法。
背景技术
现代信息系统将运行软件存储在NAND FLASH  内以备永久使用。微处理器启动时读取执行NAND FLASH起始段的一小部分指令,这一小部分指令通常将NAND FLASH的全部运行程序复制到系统主存储器中,然后微处理器跳到系统主存储器中读取运行,进入正常工作。NAND FLASH有统一的硬件接口,但是不同的厂商,同一厂商不同的产品型号,至少有三种以上的指令接口,如何确定所使用的NAND FLASH的类型及所使用的指令接口,是微处理器启动过程中必须解决的问题。
目前有两种识别NAND FLASH的方法:方法一如图1所示,是将NANDFLASH的类型、指令集、和时间参数存储在一个小容量的PROM(可编程只读型存储器)内,启动程序如图2所示,微处理器先从PROM读取这些参数,然后再从NAND FLASH中读取执行启动程序。这种方法的缺点是增加了PROM及接口成本。方法二如图3示,是在芯片内部设置ROM(只可读存储器)纪录各种型号NAND FLASH ID(芯片识别码)及其对应的指令及时间参数。启动程序如图4所示,微处理器先读取NAND FLASH的型号ID,并从ROM中提取对应的指令及参数,然后再从NAND FLASH中读取执行启动程序。这种方法的缺点是随着NAND FLASH型号的不断增加ROM变得极其复杂,同时设好的ROM也不能支持新的NAND FLASH型号。
发明内容
本发明所要解决的技术问题是:提供一种微处理器启动过程中,在不增加接口成本的条件下,支持所有NAND FLASH的方法。
本发明为解决上述技术问题所采用的技术方案为:
一种微处理器启动过程中对所用通用闪存的检测方法,所述方法包括:
A、将所有通用闪存的基本页读取命令归纳成预定数量的基本命令序列集,并在通用闪存及微处理器中设置校验密码;
B、微处理器通过枚举所述基本命令序列读取所述通用闪存第一页,进行密码校验;
C、当密码校验通过,证明微处理器成功地提取了通用闪存的参数,微处理器利用提取的参数从该通用闪存中读取并执行启动程序;否则,进入下一种基本命令序列的设置。
所述的方法,其中:所述密码分设成两组,第一组密码设置在通用闪存第一页中,第二组密码保存在微处理器引导程序中。
所述的方法,其中:所述步骤B所述的密码校验包括如下具体步骤:
B1、当系统启动时,微处理器读取所述通用闪存第一页,将第一组密码从读回的内容中提取出来,并进行密码转换处理;
B2、将处理后的第一组密码与所述第二组密码进行比较;若二者匹配,则密码校验通过,否则密码校验失败。
所述的方法,其中:将所述第一组密码与第二组密码设置为相同的二进制位流。
所述的方法,其中:将所述第一组密码设置为一个二进制位流,所述第二组密码设置为第一组密码经过加密运算后的结果。
所述的方法,其中:所述的基本命令序列集包括12种基本命令序列;所述基本命令序列的格式为:第一个命令是命令字节;第二个命令为列地址;第三个命令为行地址;第四个命令是命令字节;第五个命令为等待足够长时间;第六个命令为读取通用闪存的内容。
所述的方法,其中:所述的基本命令序列集依据基本命令序列的使用频度排列设置,将最常使用的命令序列设置在基本命令序列集的最前面。
所述的方法,其中:所述步骤C包括如下具体处理:微处理器成功地提取了通用闪存的参数后,采用与该与非型通用闪存适配的指令及时间参数启动所述与非型通用闪存。
本发明的有益效果为:提供了一种微处理器启动过程中对NANDFLASH通用的检测方法,该方法可以支持不同厂商,不同型号的所有NANDFLASH,由于不增加接口,降低了成本,并且该方法设计及实现简单,尤其适用手持设备和家电设备。
附图说明
图1为现有技术1方案示意图;
图2为现有技术1启动程序的流程图;
图3为现有技术2方案示意图;
图4为现有技术2启动程序的流程图;
图5为归纳所有NAND FLASH第一页读取的12种基本命令集;
图6为本发明启动程序的流程图。
具体实施方式
下面根据附图和实施例对本发明作进一步详细说明:
新方案使用枚举和密码相结合的方法从NAND FLASH第一个512字节存储中直接提取指令和时间参数。我们发现所有的NAND FLASH的页容量都是512+16字节的倍数,目前用到的页容量是512+16字节和2048+64字节,而且第一页是高度可靠的(不需进行纠错)。同时,我们根据所有的NAND FLASH的操作说明,将基本页读取命令都可以归纳描述为:
00H-CADDR(列地址)-RADDR(行地址)-[30H]-WAIT-READ
其中:基本页读取的第一个命令都是命令字节“00”;读取的第二个命令都是列地址,分为小列“CADDR[7:0]”和大列“CADDR[7:0]-CADDR[15:8]”;基本页读取的第三个命令都是行地址,分为小行“RADDR[7:0]”,中行“RADDR[7:0],RADDR[15:8]”,大行“RADDR[7:0]-RADDR[15:8]-RADDR[23:16]”;基本页读取的第四个命令是命令字节,可有可无,有才为命令字节“30”;基本页读取的第五步是等待足够长,为毫秒级;基本页读取的第六步是用足够慢的速度读取每一字节。因此NAND FLASH第一页读取的12种基本命令集归纳如图5所示。
校验密码由用户设置,密码分设成两组。由于NAND FLASH第一页是高度可靠的,第一组校验密码设置在NAND FLASH的第一页内,第二组校验密码设置在微处理器芯片的引导程序内。密码是微处理设计过程中定义好的一个数字序列。
对NAND FLASH的检测流程如图6所示,微处理器进行每一种指令设置的密码读取及检验,即:微处理器选择一个命令序列并设置为保守的时间参数,去读取NAND FLASH第一页;微处理器将从NAND FLASH读出的密码同密码规则进行比较,判断检验成功或失败。密码设置和检验过程如下:用户设置密码,并将第一组密码写入NAND FLASH第一页中确定的位置,同时将第二组密码的内容保存在引导程序中。当系统启动时,读取NAND FLASH的第一页,并将第一组密码从读回的内容中提取出来,按照用户定义的转换方法进行密码转换处理后与保存在引导程序中的第二组密码进行比较。如果两者匹配,则校验通过,否则校验失败。用户可以根据自己的要求设置复杂程度不同的密码以及校验,简单的密码可以将第一组密码与第二组密码设置为相同的二进制位流;复杂的密码可以将第一组密码设置为一个二进制位流,而将第二组密码设置为第一组密码经过加密运算后的的结果。具体的密码转换方法既可固化在引导程序中,也可存在NAND FLASH的第一页中,在提取第一组密码的同时,提取具体的针对第一组密码的密码转换方法。设置的密码越复杂,则密码检验成功的可信度就越大。
如果密码检验成功,说明利用该命令序列可以从NAND FLASH读取到正确的内容,则认为微处理器成功地提取了NAND FLASH的参数;成功提取参数后,微处理器利用最优的指令及时间参数从该NAND FLASH中读取并执行启动程序。如果密码检验不成功,则复位NAND FLASH并进入下一种指令设置,直至一种指令设置可以从NAND FLASH读取到正确的参数为止。为了减少启动时间,基本命令序列集依据基本命令序列的使用频度排列设置,从最常用的指令设置开始,将最常使用的命令序列设置在基本命令序列集的最前面。并且由于微处理器仅是在读取NANDFLASH第一页时使用保守时间参数的基本方法读取,而微处理器成功地提取了通用闪存的参数后,其它页则是用与该NAND FLASH适配的指令时间参数的最优方法读取,因此启动时间基本保持不变。
可以理解的是,本发明所述的微处理器启动过程中对所用通用闪存的检测方法,上述针对较佳实施例的描述过于具体,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

Claims (6)

1、一种微处理器启动过程中对所用通用闪存的检测方法,所述方法包括:
A、将所有通用闪存的基本页读取命令归纳为包含预定数量个基本命令序列的基本命令序列集,并在通用闪存及微处理器中设置校验密码,校验密码由用户设置,密码分设为两组,第一组密码设置在通用闪存第一页中,第二组密码保存在微处理器引导程序中;
B、微处理器通过枚举所述基本命令序列读取所述通用闪存第一页,进行密码校验,在进行密码校验时,将第一组密码从读取的内容中提取出来,并进行密码转换处理,然后将处理后的第一组密码与所述第二组密码进行比较,若匹配则校验通过,否则校验失败;
C、当密码校验通过,证明微处理器成功地提取了通用闪存的参数,微处理器利用提取的参数从该通用闪存中读取并执行启动程序;否则,复位通用闪存并进入下一种指令设置,直至一种指令设置可以从通用闪存读取到正确的参数为止。
2、根据权利要求1所述的方法,其特征在于:将所述第一组密码与第二组密码设置为相同的二进制位流。
3、根据权利要求1所述的方法,其特征在于:将所述第一组密码设置为一个二进制位流,所述第二组密码设置为第一组密码经过加密运算后的结果。
4、根据权利要求1-3任一权项所述的方法,其特征在于:所述的基本命令序列集包括12种基本命令序列;所述基本命令序列的格式为:第一个命令是命令字节;第二个命令为列地址;第三个命令为行地址;第四个命令是命令字节;第五个命令为等待足够长时间;第六个命令为读取通用闪存的内容。
5、根据权利要求4所述的方法,其特征在于:所述的基本命令序列集依据基本命令序列的使用频度排列设置,将最常使用的命令序列设置在基本命令序列集的最前面。
6、根据权利要求5所述的方法,其特征在于:所述步骤C包括如下具体处理:微处理器成功地提取了通用闪存的参数后,采用与该通用闪存适配的指令及时间参数从通用闪存中读取并执行启动程序。
CNB2006100601723A 2006-04-04 2006-04-04 微处理器启动过程中对所用通用闪存的检测方法 Active CN100458694C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100601723A CN100458694C (zh) 2006-04-04 2006-04-04 微处理器启动过程中对所用通用闪存的检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100601723A CN100458694C (zh) 2006-04-04 2006-04-04 微处理器启动过程中对所用通用闪存的检测方法

Publications (2)

Publication Number Publication Date
CN101051272A CN101051272A (zh) 2007-10-10
CN100458694C true CN100458694C (zh) 2009-02-04

Family

ID=38782698

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100601723A Active CN100458694C (zh) 2006-04-04 2006-04-04 微处理器启动过程中对所用通用闪存的检测方法

Country Status (1)

Country Link
CN (1) CN100458694C (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101556560B (zh) * 2008-04-09 2011-05-04 群联电子股份有限公司 储存装置、控制器及其数据存取方法
CN101799793B (zh) * 2010-03-23 2012-06-13 深圳市硅格半导体有限公司 闪存控制方法及装置
CN108121624A (zh) * 2016-11-29 2018-06-05 致伸科技股份有限公司 电子装置测试系统及其方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601167B1 (en) * 2000-01-14 2003-07-29 Advanced Micro Devices, Inc. Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program
US20040230738A1 (en) * 2003-01-09 2004-11-18 Samsung Electronics Co., Ltd. Apparatus and method for controlling execute-in-place (XIP) in serial flash memory, and flash memory chip using the same
CN1722866A (zh) * 2004-07-15 2006-01-18 仁宝电脑工业股份有限公司 藉由发送短讯息以控制接收装置的方法与系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601167B1 (en) * 2000-01-14 2003-07-29 Advanced Micro Devices, Inc. Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program
US20040230738A1 (en) * 2003-01-09 2004-11-18 Samsung Electronics Co., Ltd. Apparatus and method for controlling execute-in-place (XIP) in serial flash memory, and flash memory chip using the same
CN1722866A (zh) * 2004-07-15 2006-01-18 仁宝电脑工业股份有限公司 藉由发送短讯息以控制接收装置的方法与系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
M-SYSTEM DOC闪存盘的原理和开发应用. 杜皎,荆继武,李国辉.小型微型计算机系统,第26卷第12期. 2005
M-SYSTEM DOC闪存盘的原理和开发应用. 杜皎,荆继武,李国辉.小型微型计算机系统,第26卷第12期. 2005 *

Also Published As

Publication number Publication date
CN101051272A (zh) 2007-10-10

Similar Documents

Publication Publication Date Title
CN102270162B (zh) 一种应用于sparcv8结构计算机的容错引导方法
CN102135927B (zh) 一种基于nand flash的系统引导方法和装置
CN110134415A (zh) 一种控制器及其软件升级方法和装置
CN100511148C (zh) 一种cpu系统的启动方法及系统
CN103268277A (zh) 一种输出日志信息的方法及系统
CN101593083A (zh) 对计算机配置信息进行保护和恢复的装置、计算机和方法
CN100458694C (zh) 微处理器启动过程中对所用通用闪存的检测方法
JP2008016035A (ja) メモリテスティング
CN105677409B (zh) 一种系统升级方法及装置
CN111538515A (zh) 一种电能表程序的升级方法、装置和设备
CN107770299A (zh) 一种mac地址刷写方法、系统、装置及存储介质
CN103092659A (zh) 脱离仿真器支持环境的dsp软件升级系统及其升级方法
CN100549971C (zh) 一种读取cpu代码的方法及装置
CN110058973A (zh) 数据储存装置的测试系统与数据储存装置的测试方法
CN102681819B (zh) 实现灵活且低成本的指令替换方法及装置
CN107168750A (zh) 一种固件升级保护方法及系统
CN101359304A (zh) 开机方法及系统
CN111857785B (zh) 一种mcu的启动方法、装置及终端设备
CN103294573B (zh) 一种智能终端及其数据备份方法
CN112181444A (zh) 一种基于1553b总线的dsp多核数据烧写方法
CN109117299A (zh) 服务器的侦错装置及其侦错方法
CN101634971B (zh) 数据预先提取方法及装置、计算机系统
CN100561953C (zh) 一种记录诊断数据的方法
CN111863096B (zh) 一种NOR flash存储器读数据的方法和装置
CN102681910B (zh) 识别方法、计算机和识别系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: ANKAI (GUANGZHOU) MICROELECTRONICS TECHNOLOGY CO.,

Free format text: FORMER OWNER: SHENZHEN ANKAI MICROELECTRONICS TECHNOLOGY CO., LTD.

Effective date: 20100122

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20100122

Address after: 3 floor, C1 District, Chuangxin Road, No. 182, science Avenue, Guangzhou Science City, Guangdong

Patentee after: Anyka (Guangzhou) Microelectronics Technology Co., Ltd.

Address before: Research Institute of Shenzhen Tsinghua University, Shenzhen hi tech Industrial Park, Guangdong, B608

Patentee before: Shenzhen Anyka Microelectronics Technology Co., Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 3 / F, C1 area, innovation building, 182 science Avenue, Guangzhou Science City, Guangdong Province, 510663

Patentee after: Guangzhou Ankai Microelectronics Co.,Ltd.

Address before: 3 / F, C1 area, innovation building, 182 science Avenue, Guangzhou Science City, Guangdong Province, 510663

Patentee before: ANYKA (GUANGZHOU) MICROELECTRONICS TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder

Address after: 510555 No. 107 Bowen Road, Huangpu District, Guangzhou, Guangdong

Patentee after: Guangzhou Ankai Microelectronics Co.,Ltd.

Address before: 3 / F, C1 area, innovation building, 182 science Avenue, Guangzhou Science City, Guangdong Province, 510663

Patentee before: Guangzhou Ankai Microelectronics Co.,Ltd.

CP02 Change in the address of a patent holder