首页> 中国专利> 用户程序引导方法及用户程序引导系统

用户程序引导方法及用户程序引导系统

摘要

本发明提供了一种用户程序引导方法,该方法包括:在NAND FLASH中存储用户程序及其自身特征参数,微处理器从NAND FLASH中读取所述特征参数,根据读取的特征参数重新配置NAND FLASH的访问操作,并通过重新配置的访问操作从NAND FLASH中读取用户程序到内部随机存储器中运行。另外,本发明还提供了一种用户程序引导系统,包括微处理器和NAND FLASH。本发明能够实现微处理器从各种类型NAND FLASH的引导,与各种类型的NAND FLASH相兼容。

著录项

  • 公开/公告号CN1996248A

    专利类型发明专利

  • 公开/公告日2007-07-11

    原文格式PDF

  • 申请/专利权人 北京中星微电子有限公司;

    申请/专利号CN200610167187.X

  • 发明设计人 邓乃利;

    申请日2006-12-26

  • 分类号G06F9/445(20060101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人宋志强;麻海明

  • 地址 100083 北京市海淀区学院路35号世宁大厦15层

  • 入库时间 2023-12-17 18:50:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-02-27

    未缴年费专利权终止 IPC(主分类):G06F9/445 授权公告日:20090204 终止日期:20111226 申请日:20061226

    专利权的终止

  • 2009-02-04

    授权

    授权

  • 2007-09-05

    实质审查的生效

    实质审查的生效

  • 2007-07-11

    公开

    公开

说明书

技术领域

本发明涉及芯片系统(SoC,System on Chip)技术,尤其涉及用户程序引导方法及用户程序引导系统。

背景技术

随着信息技术的飞速发展,各种电子产品层出不穷,如MP3、MP4、PMP等。在这些消费类电子产品中,通常都包括一个SoC系统。参见图1所示,SoC系统主要包括诸如微型控制单元(MCU)的微处理器和存储体两部分。所述存储体可以是非易失性存储器NOR FLASH、或NAND FLASH等。其中,微处理器中存储了一些引导代码(boot code)、编解码算法代码等芯片必须具备的代码,主要用于完成芯片的初始化、用户程序的引导及编解码算法等;存储体主要用于存储用户程序和大批量的数据,如MP3数据等。

目前,在SoC系统中使用比较多的是NOR FLASH,MCU可以直接运行NOR FLASH中存储的用户程序。但随着NAND FLASH性能价格比的不断升高,NAND FLASH在消费类电子产品(如MP3、MP4、PMP等)中的使用越来越广泛,大有取代NOR FLASH的趋势。

通常,MCU采取直接寻址的方式从存储器中读取数据,即MCU输出物理地址、存储器输出数据。这种直接寻址的方式显然与NAND FASH使用命令读取数据的方式不一致,这也就造成了MCU不能直接运行NANDFLASH中存储的用户程序,而必须将NAND FLASH中存储的用户程序读取到MCU内部的随机存储器(RAM)中运行,完成MCU从NAND FLASH的引导。

MCU读取NAND FLASH的代码一般是针对特定类型的NAND FLASH而设计的,存储在MCU内部的存储器中,具有不可修改的特性,且先于系统中的NAND FLASH产生。也就是说,MCU只能对与其相匹配的特定类型的NAND FLASH才能实现正确的访问,而无法兼容其它类型的NANDFLASH。

但是,由于在实际应用中NAND FLASH的种类繁多,而不同的NANDFLASH具有不同的访问命令、不同的地址长度、不同的访问周期等特性,因此,对于不同的NAND FLASH,要想实现正确的访问,就必须使用不同的访问方法。

综上所述,现有的用户程序引导方法并不能适应各种类型NANDFLASH的访问需求,而只能完成特定类型NAND FLASH的引导。

发明内容

有鉴于此,本发明的主要目的在于提供一种用户程序引导方法及用户程序引导系统,在使用NAND FLASH作为代码存储介质的SoC系统中,实现微处理器从各种类型NAND FLASH的引导。

为达到上述目的,本发明提供的用户程序引导方法如下:

在NAND FLASH中存储用户程序及其自身特征参数,微处理器从NANDFLASH中读取所述特征参数,根据读取的特征参数重新配置NAND FLASH的访问操作,并通过重新配置的访问操作从NAND FLASH中读取用户程序到内部随机存储器中运行。

其中,所述微处理器从NAND FLASH中读取特征参数之前进一步包括:设置微处理器访问NAND FLASH的访问周期;

所述微处理器从NAND FLASH中读取特征参数包括:

A、微处理器按照设置的访问周期向NAND FLASH写入读命令,并向NAND FLASH写入特征参数的存储地址;

B、微处理器判断NAND FLASH是否准备好特征参数,如果是,则按照设置的访问周期从NAND FLASH中读出所有的特征参数;否则,继续执行本步骤。

所述访问周期大于等于50ns。

所述读命令为命令0;

所述微处理器向NAND FLASH写入特征参数的存储地址包括:微处理器向NAND FLASH连续写入6个8位的地址0。

所述步骤B之前进一步包括:

微处理器在预定长度的时间内判断NAND FLASH是否在准备特征参数,如果是,则执行步骤B;否则,按照设置的访问周期向NAND FLASH写入确认命令,再执行步骤B。

所述微处理器判断NAND FLASH是否在准备特征参数包括:微处理器判断NAND FLASH的READY引脚是否为低电平;

所述微处理器判断NAND FLASH是否准备好特征参数包括:微处理器判断NAND FLASH的READY引脚是否为高电平。

所述确认命令为0x30。

所述特征参数存储在NAND FLASH第零块的第零页。

所述特征参数包括:列地址宽度、行地址宽度、页面容量、读操作的命令、信号的建立和保持时间、数据缓冲时间和坏块表的物理位置。

所述微处理器为微型控制单元MCU。

另外,本发明还提供了一种用户程序引导系统,该系统包括:NAND FLASH和微处理器,其中,

NAND FLASH,用于存储用户程序及其自身特征参数;

微处理器,用于从NAND FLASH中读取所述特征参数,根据读取的特征参数重新配置NAND FLASH的访问操作,并通过重新配置的访问操作从NANDFLASH中读取用户程序到内部随机存储器中运行。

所述特征参数存储在NAND FLASH第零块的第零页。

所述微处理器为微型控制单元MCU。

由此可见,本发明通过NAND FLASH存储其自身的特征参数,在引导过程中,微处理器从NAND FLASH中读取该特征参数,根据读取的特征参数重新配置NAND FLASH的访问操作,而不是事先将NAND FLASH的访问操作配置好固化在微处理器中。这样,微处理器就可以针对不同类型的NAND FLASH执行不同的访问操作,完成各种类型NAND FLASH的正确访问,实现从各种类型NAND FLASH的引导,能够与任一类型的NANDFLASH相兼容。

附图说明

图1为现有技术中的SoC系统结构示意图。

图2为本发明中的用户程序引导系统结构示意图。

图3为本发明实施例中的用户程序引导方法流程图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,下面参照附图并举实施例,对本发明作进一步详细说明。

本发明提供的用户程序引导方法的基本思想是:在NAND FLASH中存储用户程序及其自身特征参数,微处理器从NAND FLASH中读取所述特征参数,根据读取的特征参数重新配置NAND FLASH的访问操作,并通过重新配置的访问操作从NAND FLASH中读取用户程序到内部随机存储器RAM中运行。

由于在初始状态下,微处理器并不知道当前NAND FLASH的类型,因此需要根据不同类型的NAND FLASH所具有的统一特性,确定一个最基本的NAND FLASH模型。比如,微处理器默认当前NAND FLASH具有6个字节的地址宽度、支持读命令(一般的都为0)、具有8位宽的数据接口宽度、具有慢的访问速度等。或者该模型亦可支持确认命令(一般的为0x30)。通过该基本模型,微处理器可以成功地读取NAND FLASH的特征参数,然后使用这些特征参数建立当前NAND FLASH的模型,得到与当前NANDFLASH相适应的特征参数,也就是说,根据这些特征参数重新配置NANDFLASH的访问操作。

对应本发明提供的用户程序引导方法,本发明还提供了一种用户程序引导系统,参见图2所示,该系统包括:NAND FLASH和微处理器。其中,NANDFLASH,用于存储用户程序及其自身特征参数;微处理器,用于从NAND FLASH中读取所述特征参数,根据读取的特征参数重新配置NAND FLASH的访问操作,并通过重新配置的访问操作从NAND FLASH中读取用户程序到内部RAM中运行。

其中,所述微处理器为MCU等处理芯片。

所述NAND FLASH的特征参数包括:列地址宽度、行地址宽度、页面容量、读操作的命令、信号的建立和保持时间、数据缓冲时间和坏块表的物理位置等。

由于NAND FLASH的第零页具有可以保证是完好的特殊性,因此,可以将NAND FLASH的特征参数保存在NAND FLASH第零块的第零页,即在NAND FLASH的地址0处记录下该NAND FLASH的特征参数。

为更加清晰起见,下面以MCU这种微处理器为例,对本发明提供的引导方法进行详细说明。其中,NAND FLASH的特征参数保存在NAND FLASH第零块的第零页。

参见图3所示,本实施例中的用户程序引导方法主要包括以下步骤:

步骤301:MCU上电以后,进行复位、初始化的操作。

步骤302:MCU为了获取NAND FLASH的特征参数,首先向NANDFLASH慢速写入读命令。

本步骤中,所述读命令为0。现有技术中,读写NAND FLASH的访问周期一般为50ns。而本发明中,由于在初始状态下MCU默认访问的对象是最基本的NAND FLASH,因此为了提高可靠性和兼容性,MCU应当尽量慢速访问NAND FLASH。本发明中,可以预先设置MCU访问NAND FLASH的访问周期,该访问周期大于等于50ns,如以50ns的20倍为周期慢速写入读命令。

步骤303:MCU向NAND FLASH慢速写入需要读取的特征参数在NAND FLASH中的地址。

目前的NAND FLASH的地址宽度即地址字节数,一般是从3字节到5字节不等。考虑到向后的兼容性,这里可以选择慢速连续写入6个8位的地址0。对于多余的地址,NAND FLASH会自动忽略,因此不必担心由于多余地址而导致NAND FLASH出现误动作。

步骤304:MCU在预定长度的时间内判断NAND FLASH是否在准备特征参数,即判断NAND FLASH是否处于忙的状态,如果是,则执行步骤306;否则,执行步骤305。

一般在实际应用中,MCU是判断NAND FLASH的READY引脚是否为低电平,如果是,则表示NAND FLASH处于忙状态;如果为高电平,则表示NAND FLASH处于空闲状态,还没开始准备MCU所需要的特征参数。其中,初始状态下,NAND FLASH的READY引脚是高电平。

并且,MCU在预先设定的一个或多个时钟周期内,多次查询NANDFLASH的READY引脚的电平信号,如果每次都为高电平,则判断NANDFLASH处于空闲状态。

步骤305:MCU向NAND FLASH慢速写入确认命令(如命令0x30),再次表示MCU希望读取NAND FLASH中的特征参数。

步骤306:MCU判断NAND FLASH是否已经准备好特征参数,比如判断NAND FLASH的READY引脚是否又变成高电平,如果是,则执行步骤307;否则,继续执行本步骤。

步骤307:MCU从NAND FLASH慢速读出所有的特征参数。

本步骤中,MCU每次向NAND FLASH发出一个读信号,则从NANDFLASH中读出一个字节的特征参数。

步骤308:MCU根据读出的特征参数重新配置NAND FLASH的访问操作。

步骤309:MCU通过重新配置的访问操作从NAND FLASH中读取用户程序到自身内部的RAM中。

步骤310:MCU使程序指针跳转到RAM的起始处,开始运行从NANDFLASH中导入的指令。

至此,MCU就成功地完成了从NAND FLASH的引导。

以上所述对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号