开机快速启动并显示的td-scdma手机及其实现方法

文档序号:7959161阅读:201来源:国知局
专利名称:开机快速启动并显示的td-scdma手机及其实现方法
技术领域
本发明属于移动通信终端的技术领域,更具体地说是涉及到TD-SCDMA手机开机启动的技术。
背景技术
现有的TD-SCDMA手机可以同时支持多种内存,很多手机都是采用非掉电易失性内存用来存储嵌入式程序,这里的非掉电易失性内存主要是指NANDFLASH闪存存储器。由于NAND FLASH闪存存储器本身固有的特征,手机程序不能在NAND FLASH中运行,必须将代码拷贝到移动终端的SRAM/SDRAM存储器中来运行。所以在手机设备内通常还具有一小块内部缓存或者无需进行初始化的内存(RAM随机存储器),用来将存储在非掉电易失性内存中的引导单元复制过来,进行系统加载。
手机的代码量越大所需要的拷贝时间越长,由于目前TD-SCDMA手机不能够在加载程序中进行按键检查和LCD画面显示,只能在拷贝完主程序后,主程序开机时才能进行按键等开机条件的检查和开机画面的显示,这样就导致手机开机启动时间长,从用户按下开机键到显示开机LCD画面及点亮按键背光的时间高达10秒以上,使得用户使用起来极其不方便,会误解为手机存在故障,非常不符合用户使用手机的习惯。
当前的手机启动一般采用两级加载的方法,首先执行固化在系统内部的只读存储器中(ROM)的程序或者硬件,由这个程序把加载程序1(也称为BOOTLOADER程序)拷贝到内部的缓存中运行引导程序,或者通过硬件拷贝。在加载程序1中,对系统的其他主内存例如SDRAM进行初始化,并拷贝加载程序2到主内存。然后在主内存中运行加载程序2,由加载程序2完成手机主程序的拷贝。
NAND FLASH闪存存储器由很多BLOCK块组成,由于NAND FLASH本身存在坏块的影响,现在NAND FLASH的制造厂商仅仅保证第一块BLOCK的正确性。上述加载程序1由硬件固化程序来拷贝,所以存放的位置和大小不能超过固化程序拷贝的范围。而加载程序1程序量的限制无法实现NAND FLASH存储器的管理,进行有效的坏块检查。因此为了保证加载程序1和加载程序2的可靠性,我们将加载程序限制在16K字节之内,因为NAND FLASH的一个BLOCK为16K字节的容量。如果加大加载程序2的代码量,则加载程序超过16K字节,就必须放置NAND FLASH第一个BLOCK以外的BLOCK中,有可能会出现存储坏块,而在加载程序存放的位置上出现了坏块,手机就无法得到正确的加载程序,从而出现无法开机并无法修理的严重故障,手机存在极大的质量风险。
为了保证手机的程序正确性和手机性能的稳定性,必须将加载程序存放在NAND FLASH的第一个BLOCK中。而NAND FLASH的一个BLOCK只有16K字节的容量,而手机显示屏LCD进行显示的数据量都在40K字节以上,所以BLOCK容量的限制使手机无法在加载程序中进行更多的数据处理并进行LCD的显示,而手机的大代码量所需要的拷贝时间比较长,这样就存在从用户按下开机键到显示开机LCD画面及点亮按键背光的时间高达10秒,手机开机启动时间长的缺点。

发明内容
本发明的目的,就在于解决用户开机时从用户按下开机键到显示开机LCD画面及点亮按键背光的时间过长的问题,提出了一种能够开机快速启动的TD-SCDMA手机及其实现方法,实现了手机开机的快速反应,并且将加载程序总的代码量保持在16KB以内,从而保证了手机主程序的正确性和手机性能的稳定性。
为了达到上述目的,本发明包括手机存储程序的非掉电易失性存储器NAND FLASH、执行程序的主内存、外设和微处理器,还包括手机开机的加载程序放置在NAND FLASH存储器的第一个块,手机开机显示画面数据在NANDFLASH存储器的放置位置非包含于手机主程序内。
所述的加载程序包括第一加载程序和第二加载程序。手机开机显示画面数据放置在NAND FLASH存储器手机主程序位置之前的6个块内。
TD-SCDMA手机开机快速启动的方法,其特征在于包括以下步骤手机开机后执行微处理器内部固化启动程序,把第一加载程序拷贝到手机内部缓存的步骤;执行第一加载程序,把第二加载程序拷贝到手机主内存的步骤;执行第二加载程序,读出存储在NAND FLASH中的画面显示数据在LCD屏上显示,拷贝主程序到手机主内存的步骤;处理器指针指向主程序开始地址并执行的步骤。
所述的第一加载程序和第二加载程序容量保持16KB空间内,放置在NAND FLASH存储器的第一个块。手机开机显示画面数据放置在NAND FLASH存储器手机主程序位置之前的6个块内。
上述的第一加载程序包括以下步骤启动ARM并初始化主内存、时钟的步骤;拷贝第二加载程序到手机主内存的步骤;置处理器指针指向第二加载程序起始地址并执行的步骤。
上述的第二加载程序包括以下步骤检测手机各种开机条件,如果不满足条件则关闭电源并关机的步骤;满足条件,则初始化LCD显示屏的步骤;读出存储在NAND FLASH中的画面数据,显示开机画面并打开背光灯的步骤;拷贝主程序到手机主内存并显示拷贝进度的步骤;处理器指针指向主程序开始地址并执行的步骤。
手机第二加载程序检测开机条件包括是否有长按电源键、是否插入充电器、是否有RTC中断。
应用本发明可以快速启动TD-SCDMA手机,用户按电源键2秒后手机即启动并显示画面,手机并可以支持RTC定时和插入充电器充电等多种开机模式。


下面结合附图和实施例对本发明作进一步的描述。
图1是本发明的硬件连接方框图;图2是加载程序1和加载程序2组成一个加载程序的示意图;图3是加载程序1与加载程序2在NAND FLASH存储器内的位置示意图;图4是手机开机进行系统加载的流程图;图5是开机画面显示的数据在NAND FLASH存储器内的位置示意图;图6是加载程序2和手机主程序在手机主内存的相对位置示意图;图7是加载程序1的流程图;
图8是加载程序2的流程图;具体实施方式
如图1所示,是手机内的存储器、外接设备与微处理器的连接方式,手机中的存储器分别为非掉电易失性内存(NAND FLASH)、主内存(SDRAM)和微处理器的内部缓存(SRAM)、手机中固化的只读存储器(ROM或者EPROM)。手机中固化的EPROM是用来把NAND FLASH中的加载程序1拷贝到内部缓存中,也有的微处理器用硬件复制的方式将NAND FLASH中的加载程序1拷贝到内部缓存。手机主内存可以是SDRAM或者SRAM等。外部设备包括LCD液晶显示屏和键盘。
如图2所示,NAND FLASH闪存存储器由很多BLOCK块所组成,由于NANDFLASH本身存在坏块不稳定的问题,现在NAND FLASH的制造厂商只能保证第一块BLOCK的正确性。因此,手机加载程序1和加载程序2组成一个组合加载程序,存储在NAND FLASH的第一个块内部,其中加载程序1要小于4个PAGE,加载程序2要小于28个PAGE,他们共同组成一个程序,中间没有程序的地方填充数据0XFF,最后保证组合加载程序的大小限制是16KB之内不超出NAND FLASH第一个块的容量。
通过编写的PC机软件将加载程序1和加载程序2合并称一个组合加载程序通过下载工具写入NAND FLASH的第一个BLOCK中,其中加载程序限制在4个PAGE(页),NAND FLASH存储器中一个BLOCK一般有32个PAGE组成,每个页包括512个字节,并放置在前面位置,加载程序2占28个PAGE放在加载程序1的后面。
如图3所示,说明了加载程序1和加载程序2以及组合加载程序所在NAND FLASH的位置。我们将加载程序1放在第一个BLOCK的前4个PAGE中,将加载程序2放置在第一个BLOCK的后28个PAGE中。并可以根据加载程序1和加载程序2的具体大小,来调节加载程序1和加载程序2在NAND FLASH的位置,但是组合加载程序的总程序量不能超过16KB,这样使手机的稳定性有极大的保证,降低了手机由于NAND FLASH坏块而产生的故障率,同时降低了产品的风险。
如图4所示,是手机加载执行程序的顺序,用户按键后手机启动,先执行微处理器内部ROM中固化的程序,完成加载程序1拷贝到微处理器的内部缓存中,这一个过程在也可以由微处理器中的硬件来完成。加载程序1拷贝到微处理器内部的缓存后,在内部缓存中执行加载程序1,由加载程序1拷贝加载程序2到手机的主内存中,拷贝完成后执行加载程序2,由加载程序2完成主程序的拷贝。
如图5所示,手机开机启动后,为了快速在LCD上出现显示信息,本发明把LCD显示屏上需要显示的图片数据单独放在NAND FLASH存储器的一个特定位置,不包括在手机主程序内。可以通过PC软件在主程序的开始位置之前加上6个BLOCK的数据共96KB用于放置图片数据,空余的位置添上0XFF。如果对于超大显示屏,图片显示的数据量超过96K还可以扩充这个存储空间。
如图6所示,是加载程序2和主程序在主内存中的相对位置示意,这里加载程序2和主程序的开始位置必须是其程序定位时的开始位置,加载程序2在拷贝主程序时,主程序不能覆盖到加载程序2,也就是说要有恰好的存储空间放置主程序。在主内存中,放置主程序的位置大小不能超过加载程序2的开始位置,加载程序2开始到主内存的结束要有足够的空间来满足其运行,包括ZI数据和栈的空间。
如图7所示,是加载程序1的流程图,由于手机启动时手机的主内存还没有初始化,因此首先要对手机的主内存初始化。当主内存可以工作后,将加载程序2拷贝到手机的主内存中。完成了加载程序2的拷贝后,加载程序1将处理器的程序指针强制指向加载程序2的开始地址,处理器从加载程序2开始执行程序。
加载程序1要对手机的主内存、系统时钟CLK进行初始化,其目的使主内存能够正常工作。
加载程序1将存放在NAND FLASH第一个BLOCK中的后28个PAGE的加载程序2拷贝到主内存中。
如图8所示,是加载程序2的流程图,在加载程序2中首先初始化按键,充电和RTC(实时时钟)充电,然后检测开机条件,例如是否有用户长按开机键的行为,是否插入充电器,是否有RTC中断。如果不满足开机条件,则关闭手机的各路电源,完成关机。如果满足开机条件,手机开始显示初始化LCD,并读取存放在NAND FLASH的显示数据,完成LCD的显示并打开背光灯,接下来加载程序2拷贝主程序到手机的主内存,并显示拷贝过程的进度,让手机用户很清晰地知晓当前手机的运行状况,在拷贝主程序过程中,主程序在主内存中不能覆盖当前执行的加载程序2,当主程序拷贝结束后,将微处理器的程序指针强制指向主程序的开始位置,在主内存中执行主程序。而且在上述拷贝过程中可以进行对NAND FLASH存储器的管理,用来检测并跳过NAND FLASH的坏块。
手机的开机画面的图片用一个PC机的程序添加到手机的主程序的开始部分进行存储,一般来说采用在手机的主程序开始部分添加96KB(6个BLOCK)的数据,在这96KB的空间中前面是需要显示的画面,后面没有数据的部分用FF来代替。这个空间根据硬件的需要可以随时调整。
加载程序2拷贝主程序到主内存过程中,主程序不能覆盖加载程序2所在的位置,当主程序加载完成后系统启动主程序。
在主程序执行中不需要做开机条件的检测,只需要判断当前的是什么开机状态,而且在开机过程中不要初始化LCD和相关的GPIO等,主要使屏幕上的开机画面不要消失。
权利要求
1.开机快速启动并显示的TD-SCDMA手机,包括手机存储程序的非掉电易失性存储器NAND FLASH、执行程序的主内存、外设和微处理器,其特征在于还包括手机开机的加载程序放置在NAND FLASH存储器的第一个块,手机开机显示画面数据在NAND FLASH存储器的放置位置非包含于手机主程序内。
2.根据权利要求1所述的开机快速启动并显示的TD-SCDMA手机,其特征在于所述的加载程序包括第一加载程序和第二加载程序。
3.根据权利要求1或者2所述的开机快速启动并显示的TD-SCDMA手机,其特征在于所述的手机开机显示画面数据放置在NAND FLASH存储器手机主程序位置之前的6个块内。
4.TD-SCDMA手机开机快速启动的方法,其特征在于包括以下步骤手机开机后执行微处理器内部固化启动程序,把第一加载程序拷贝到手机内部缓存的步骤;执行第一加载程序,把第二加载程序拷贝到手机主内存的步骤;执行第二加载程序,读出存储在NAND FLASH中的画面显示数据在LCD屏上显示,拷贝主程序到手机主内存的步骤;处理器指针指向主程序开始地址并执行的步骤。
5.根据权利要求4所述的TD-SCDMA手机开机快速启动的方法,其特征在于第一加载程序和第二加载程序容量保持16KB空间内,放置在NAND FLASH存储器的第一个块。
6.根据权利要求4所述的TD-SCDMA手机开机快速启动的方法,其特征在于手机开机显示画面数据放置在NAND FLASH存储器手机主程序位置之前的6个块内。
7.根据权利要求4、5或者6所述的TD-SCDMA手机开机快速启动的方法,其特征在于第一加载程序包括以下步骤启动ARM并初始化主内存和系统时钟的步骤;拷贝第二加载程序到手机主内存的步骤;置处理器指针指向第二加载程序起始地址并执行的步骤。
8.根据权利要求4、5或者6所述的TD-SCDMA手机开机快速启动的方法,其特征在于第二加载程序包括以下步骤检测手机各种开机条件,如果不满足条件则关闭电源并关机的步骤;满足条件,则初始化LCD显示屏的步骤;读出存储在NAND FLASH中的画面数据,显示开机画面并打开背光灯的步骤;拷贝主程序到手机主内存并显示拷贝进度的步骤;处理器指针指向主程序开始地址并执行的步骤。
9.根据权利要求8所述的TD-SCDMA手机开机快速启动的方法,其特征在于手机第二加载程序检测开机条件包括是否有长按电源键、是否插入充电器、是否有RTC中断。
全文摘要
本发明公开了一种开机快速启动并显示的TD-SCDMA手机及其实现方法,包括手机存储程序的非掉电易失性存储器NAND FLASH、执行程序的主内存、外设和微处理器,手机开机的加载程序放置在NAND FLASH存储器的第一个块,手机开机显示画面数据在NAND FLASH存储器的放置位置非包含于手机主程序内,应用本发明,用户按电源键2秒后手机即启动并显示画面,并可支持RTC定时和插入充电器充电等多种开机模式。
文档编号H04M1/725GK1946210SQ20061006946
公开日2007年4月11日 申请日期2006年10月17日 优先权日2006年10月17日
发明者潘艾明, 毛洪波 申请人:青岛海信移动通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1