一种嵌入式系统启动方法及嵌入式装置的制作方法

文档序号:6605604阅读:92来源:国知局
专利名称:一种嵌入式系统启动方法及嵌入式装置的制作方法
技术领域
本发明涉及计算机技术,尤其涉及一种嵌入式系统启动方法及嵌入式装置。
背景技术
随着手机、MP4等手持终端的普及,用户对这类手持终端功能的需求也日益增长, 这就需要手持终端中的嵌入式系统具有更强大的处理能力。目前的嵌入式系统在启动时,通常先读取寄存器STRAP_PINW]的值,如果该值为 1,执行外接芯片SPlGerial Peripheral Interface,连续外围接口)E2PR0M的程序,如果该值为 0,那么读取 S0C(System-0n-a-Chip,单片系统)板中 CPU (Central Processing Unit,中央处理器)芯片上的bootloader正常启动。在正常启动时,无论该处理器是主处理器还是协处理器,都会初始化Pll (Phase Locked Loop锁相环)1、CPU和Bus (总线)的频率,初始化串口,再根据系统情况做进一步处理。本申请的发明人发现,目前的嵌入式系统在启动时,为防止频率过高导致启动程序的不能正常运行,在初始化Pill、CPU和Bus的频率时,均统一的初始化为一组特定的频率,例如将Plll初始化为480M,将CPU初始化为360M,将BUS初始化为120M,这样,当SOC 板能够工作在其它的启动频率上进行启动和下载时,仍然采用最保守的频率进行启动和下载,影响了嵌入式系统的启动性能。

发明内容
本发明实施例提供一种嵌入式系统启动方法及嵌入式装置,以实现根据预先的配置初始化嵌入式系统启动频率。一种嵌入式系统启动方法,包括嵌入式芯片上的下载启动程序bootloader启动后,读取预先存储的配置文件;根据所述配置文件中的配置信息,初始化嵌入式系统的启动频率,所述配置信息中包括根据所述嵌入式系统设定的启动频率;应用初始化后的嵌入式系统启动频率启动所述嵌入式系统。一种嵌入式装置,包括bootloader启动单元,用于启动嵌入式芯片中的下载启动程序bootloader ;配置文件读取单元,设置在所述bootloader中,用于读取预先存储的配置文件;初始化单元,设置在所述bootloader中,用于根据所述配置文件中的配置信息, 初始化嵌入式系统的启动频率,所述配置信息中包括根据所述嵌入式系统设定的启动频率;嵌入式系统启动单元,用于应用初始化后的嵌入式系统启动频率启动所述嵌入式系统。一种嵌入式系统启动方法,包括根据预先存储的配置文件读取闪存nandflash中的应用程序镜像,并对每个读取的数据块进行校验;当对第一数据块校验不通过时,从备份应用程序镜像中读取与所述第一数据块相应的第二数据块;当第二数据块校验通过时,使用所述第二数据块替换所述第一数据块;当应用程序镜像中所有数据块校验通过后,执行读取的应用程序。一种嵌入式装置,包括应用程序读取子单元,用于根据预先存储的配置文件读取闪存nandflash中的应用程序镜像,并对每个读取的数据块进行校验;备份读取子单元,用于当对第一数据块校验不通过时,从备份应用程序镜像中读取与所述第一数据块相应的第二数据块;替换子单元,用于在第二数据块校验通过时,使用所述第二数据块替换所述第一数据块;第一执行子单元,用于当应用程序镜像中所有数据块校验通过后,执行读取的应用程序。一种嵌入式系统启动方法,包括通过USB接口下载应用程序到内存中;读取配置文件中的配置信息,根据所述配置信息使得USB继续与PC通信,或者根据所述配置信息停止USB与PC通信;执行所下载的应用程序。一种嵌入式装置,包括下载子单元,用于通过USB接口下载应用程序到内存中;控制子单元,用于读取配置文件中的配置信息,根据所述配置信息使得USB继续与PC通信,或者根据所述配置信息停止USB与PC通信;第二执行子单元,用于执行所下载的应用程序。本发明实施例提供一种嵌入式系统启动方法及嵌入式装置,由bootloader在初始化嵌入式系统启动频率前,读取预先配置的配置文件,并根据配置文件中的参数来初始化嵌入式系统的启动频率,由于配置文件中所配置的启动频率是根据嵌入式系统的实际情况而设定的,从而提高嵌入式系统的启动性能。


图1为本发明实施例提供的嵌入式系统启动方法流程图之图2为本发明实施例提供的嵌入式系统启动方法流程图之图3为本发明实施例提供的嵌入式系统启动方法流程图之图4为本发明实施例提供的读取配置文件方法流程图;图5为本发明实施例提供的嵌入式装置结构示意图之一图6为本发明实施例提供的嵌入式装置结构示意图之二图7为本发明实施例提供的嵌入式装置结构示意图之三图8为本发明实施例提供的嵌入式装置结构示意图之四图9为本发明实施例提供的嵌入式装置结构示意图之五
具体实施例方式本发明实施例提供一种嵌入式系统启动方法及嵌入式装置,该嵌入式系统在启动时,可以读取预先存储的配置文件,并根据其中的配置信息来初始化嵌入式系统的启动频率,这样,在嵌入式系统启动的过程中,由于采用了适合自身的工作频率,所以实现了提高嵌入式系统的启动性能。如图1所示,本发明实施例提供的嵌入式系统启动方法包括步骤S101、嵌入式芯片上的bootloader (下载及启动程序)启动后,读取预先存储的配置文件;步骤S102、根据配置文件中的配置信息,初始化嵌入式系统的启动频率,在配置信息中包括根据该嵌入式系统设定的启动频率;步骤S103、应用初始化后的嵌入式系统启动频率启动嵌入式系统。bootloader在启动后,根据预先的设定,首先寻找预先存储的配置文件,该配置文件通常存储在nandflash (闪存)中,在读取到配置文件后,根据配置文件中存储的配置信息来初始化嵌入式系统的启动频率。该配置文件通常为info文件,该文件用于初始化sdram/ddr内存、初始化nandflash、对多种nandflash进行操作、重新配置pll、规定在 nandflash里面放置各种程序/资源image的方式、约束bootloader的一些其它行为、同时还要记录一些信息为应用程序(如2级bootloader)的运行提供一些信息,例如记录嵌入式系统(手机/MP4等等)的程序下载,启动系统对nandflash的使用情况。记录每份core image (应用程序image)的放置位置,以对应用程序进行block级的数据替换。这些信息就记录在info文件里面,该info文件通常有512字节,该info文件通常从第0个 nandfash chip的第0个block开始(使用每个block的第0个page)存放指定份数,供 bootloader以及应用程序使用。info可以由应用程序填写和修改,也可以由bootloader 运行后根据实际情况填写和修改,还可以由用户来配置。嵌入式系统的启动频率通常包括Plll的频率、CPU频率和BUS频率,目前, bootloader在进行初始化时,通常将Plll频率初始化为480M,将CPU频率初始化为Μ0Μ, 将BUS频率初始化为120M,当板级和器件特性较好时,完全可以支持更高的启动频率,这时,就可以修改配置文件中的配置信息,使得bootloader按照配置信息中规定的启动频率来初始化Plll的频率、CPU频率和BUS频率,例如,可以在允许的情况下将Plll的频率、CPU 频率和BUS频率分别初始化为480M、360M、M0M等。配置信息中设定的启动频率通常由用户根据SOC板的性能以及器件的情况来设定,通常是将配置信息写入配置文件中后,将配置文件通过USB等接口加载到嵌入式系统中。在嵌入式系统启动频率初始化完毕后,通常还可能初始化串口和打开指令的缓存,并且根据寄存器的状态判断是否是从休眠状态下启动的,如果是,则按照休眠启动的方式进行启动,如果不是,再进行正常的嵌入式系统启动。在步骤S102中初始化的启动频率,可能只应用在嵌入式的启动、下载阶段,在其他应用软件执行过程中,有可能会根据需要进一步修改Pill、CPU和BUS的频率。在步骤 S103中,应用初始化后的嵌入式系统启动频率启动嵌入式系统,其中,本发明涉及的嵌入式系统启动有两种,一种是通过从nandflash上读取应用程序并运行来实现,另一种是通过 USB下载应用程序并执行来实现。通常在bootloader进行正常的嵌入式启动时,首先判断用户是否设置为通过USB 启动,如果没有,再通过默认的从nandflash上读取应用程序并运行进行启动,如果用户已经设置为通过USB启动,那么直接通过通过USB下载应用程序并执行实现启动嵌入式系统。当从nandflash上读取应用程序并运行时,步骤S103具体为,应用初始化后的嵌入式系统启动频率,根据预先存储的配置文件,读取nandflash中的应用程序镜像,并执行。目前在嵌入式系统启动的过程中,在读取应用程序时,通常先读取nandflash中的一个应用程序镜像,在nandflash中,包括很多个块(block),每个块中又包括很多个页 (page), nandflash中存储多个应用程序镜像,每个应用程序镜像又占用多个block,在本发明实施例中,将一个block中的数据称为数据块,在读取应用程序镜像的过程中,对每个读取的数据块,都会进行校验,通常采取CRC(Cyclic Redundancy Check,循环冗余校验)的方式进行,一旦发现有数据块没有通过校验,立即放弃该应用程序镜像,转而读取备份应用程序镜像。本发明的发明人发现,当采用这种应用程序镜像读取方式时,当应用程序镜像和每个备份应用程序镜像都存在不同损坏的时候,就无法读取到应用程序镜像,只能够使用其它的启动方式进行启动了。本发明实施例提供的嵌入式系统启动方法,在发现有第一数据块没有通过校验时,进一步可以读取备份应用程序镜像中与第一数据块相应的第二数据块,如果第二数据块通过了校验,则使用第二数据块替换第一数据块,再继续读取应用程序镜像中的其它数据。这样,仅仅在应用程序镜像和所有备份应用程序镜像都损坏了同一个数据块时,才会出现读取不成功的结果,避免了由于应用程序镜像和每个备份应用程序镜像都存在不同损坏,导致无法读取到应用程序镜像。此时,如图2所示,根据预先存储的配置文件,读取nandflash中的应用程序镜像, 并执行,具体包括步骤S201、根据预先存储的配置文件读取nandflash中的应用程序镜像,并对每个读取的数据块进行校验;步骤S202、当对第一数据块校验不通过时,从备份应用程序镜像中读取与第一数据块相应的第二数据块;步骤S203、当第二数据块校验通过时,使用第二数据块替换第一数据块;步骤S204、当应用程序镜像中所有数据块校验通过后,执行读取的应用程序。这样,只有在所有备份应用程序镜像中与第一数据块相应的第二数据块均没有校验通过时,才会导致读取应用程序镜像失败。在读取应用程序镜像失败时,一种处理方式是通过USB来启动嵌入式系统。或者如果用户已经设置为通过USB启动,那么不读取应用程序镜像直接通过通过USB下载应用程序并执行实现启动嵌入式系统当通过USB启动嵌入式系统时,先通过USB接口下载应用程序到内存中,再执行该应用程序,从而实现嵌入式系统的启动。目前,在通过USB启动嵌入式系统时,下载应用程序完毕后,通常会自动停止USB与PC的通信,如果后续在程序的执行过程中,还需要与USB与PC (Personal Computer个人电脑)进行通信,则重新建立USB与PC的连接。本发明的发明人发现,这样的流程十分繁琐,并且频繁的停止USB与PC的通信,再重新建立USB与PC的连接,也影响了程序执行的效率。本发明实施例提供的嵌入式系统启动方法,在下载完应用程序后,会读取配置文件,根据配置文件中相应的配置信息,进一步决定是否停止USB与PC的通信,提高启动效率。该配置文件可以根据实际情况进行设定,如果在执行应用程序的过程中,仍然会使用USB与PC进行通信,那么就可以在配置信息中进行配置,使得在下载完程序后,使得 USB继续与PC进行通信,避免了频繁的停止USB与PC的通信,再重新建立USB与PC的连接,提高程序执行的效率;如果在后续执行应用程序的过程中,完全不再使用USB与PC进行通信,那么用户也可以在配置信息中配置,使得在下载完程序后,USB立即停止与PC的通如图3所示,通过USB启动嵌入式系统的方法包括步骤S301、通过USB接口下载应用程序到内存中; 步骤S302、读取配置文件中的配置信息,根据配置信息使得USB继续与PC通信,或者根据配置信息停止USB与PC通信;步骤S303、执行所下载的应用程序。当然,可以仅下载应用程序到内存中并直接执行,也可以为了后续在启动嵌入式系统时进一步读取和执行该应用程序,将下载到内存中的应用程序再烧写到nandflash 中,根据内存的空间以及使用情况,具体的烧写方式有两种,一种是,在将应用程序下载到内存中的同时,将应用程序烧写到nandflash中;另一种是,在将应用程序全部下载到内存中后,将内存中的应用程序烧写到nandflash中。除了在应用程序读取失败时和用户设置为从USB启动时,执行从USB启动嵌入式系统外,当bootloader启动后,如果bootloader读取不到配置文件,也会触发USB启动方式。此时,由于bootloader读取不到配置文件,所以会直接按照默认值初始化嵌入式系统的启动频率,在进行其它必要的初始化以后,触发USB启动嵌入式系统,通常,在缺少配置文件时,会首先下载配置文件并存储该配置文件,当确定配置文件下载完毕后, bootloader会读取该配置文件,并根据配置文件中的配置信息,重新初始化嵌入式系统的启动频率,并且应用重新初始化后的嵌入式系统的启动频率,进行后续的应用程序下载和执行,完成嵌入式系统的启动。此时,如图4所示,步骤SlOl中的读取预先存储的配置文件,具体包括步骤S1011、芯片上的bootloader启动后,若未读取到预先存储的配置文件,则初始化嵌入式系统的启动频率至默认值;步骤S1012、通过USB下载配置文件并存储;步骤S1013、读取所存储的配置文件。同样,在读取配置文件后,根据配置信息进行嵌入式系统启动频率的初始化,再应用重新初始化后的嵌入式系统启动频率启动嵌入式系统,通常情况下,是会继续通过USB
9启动嵌入式系统,此时,步骤S103中,应用初始化后的嵌入式系统启动频率启动嵌入式系统,与图3中通过USB启动嵌入式系统的方法相同。相应的,本发明实施例还提供一种嵌入式装置,如图5所示,包括Aootloader启动单元501、配置文件读取单元502、初始化单元503和嵌入式系统启动单元504,其中bootloader启动单元501,用于启动嵌入式芯片中的bootloader ;配置文件读取单元502,设置在bootloader中,用于读取预先存储的配置文件;初始化单元503,设置在bootloader中,用于根据配置文件中的配置信息,初始化嵌入式系统的启动频率;嵌入式系统启动单元504,用于应用初始化后的嵌入式系统启动频率启动嵌入式系统。在通过读取nandflash中的应用程序镜像并执行的方式进行嵌入式系统启动时, 嵌入式系统启动单元504具体用于应用初始化后的嵌入式系统启动频率,根据预先存储的配置文件,读取nandflash 中的应用程序镜像,并执行。在读取应用程序镜像的过程中,如果遇到校验不通过的数据块,可以使用备份应用程序镜像中相应的数据块来替换该不能通过校验的数据块,此时,如图6所示,嵌入式系统启动单元504,具体包括应用程序读取子单元6041,用于根据预先存储的配置文件读取nandflash中的应用程序镜像,并对每个读取的数据块进行校验;备份读取子单元6042,用于当对第一数据块校验不通过时,从备份应用程序镜像中读取与第一数据块相应的第二数据块;替换子单元6043,用于在第二数据块校验通过时,使用第二数据块替换第一数据块;第一执行子单元6044,用于当应用程序镜像中所有数据块校验通过后,执行读取的应用程序。当应用程序镜像和所有备份应用程序镜像中的同一数据块都通不过校验时,可以通过USB启动方式来启动嵌入式系统,此时,嵌入式系统启动单元,还包括触发子单元,用于当所有备份应用程序镜像中与第一数据块相应的第二数据块均没有校验通过时,触发嵌入式系统启动单元通过USB启动嵌入式系统。或者,嵌入式装置还可以在初始化结束后,还可以根据用户的设置来确定时从 nandflash中读取应用程序还是通过USB下载应用程序,此时,还包括触发单元,用于在初始化嵌入式系统的启动频率后,根据预先的设定,触发嵌入式系统启动单元通过USB启动嵌入式系统。如图7所示,在通过USB启动嵌入式系统时,嵌入式系统启动单元504具体包括下载子单元7041,用于通过USB接口下载应用程序到内存中;控制子单元7042,用于读取配置文件中的配置信息,根据配置信息使得USB继续与PC通信,或者根据配置信息停止USB与PC通信;第二执行子单元7043,用于执行所下载的应用程序。当bootloader启动后,如果bootloader读取不到配置文件,也会触发USB启动方式,此时配置文件读取单元502,还用于在未读取到预先存储的配置文件时,由初始化单元503初始化嵌入式系统的启动频率至默认值,由触发单元触发嵌入式系统启动单元通过USB启动嵌入式系统,并在嵌入式系统启动单元通过USB下载配置文件并存储后,读取所存储的配置文件;触发单元还用于,在配置文件读取单元未读取到预先存储的配置文件时,触发嵌入式系统启动单元通过USB启动嵌入式系统。本发明实施例还提供一种嵌入式系统启动方法,在发现有第一数据块没有通过校验时,进一步可以读取备份应用程序镜像中与第一数据块相应的第二数据块,如果第二数据块通过了校验,则使用第二数据块替换第一数据块,再继续读取应用程序镜像中的其它数据。这样,仅仅在应用程序镜像和所有备份应用程序镜像都损坏了同一个数据块时,才会出现读取不成功的结果,避免了由于应用程序镜像和每个备份应用程序镜像都存在不同损坏,导致无法读取到应用程序镜像。该嵌入式系统启动方法与图2中步骤相同,就不再重复叙述。相应的,本发明实施例还提供一种嵌入式装置,如图8所示,包括应用程序读取子单元801,用于根据预先存储的配置文件读取nandflash中的应用程序镜像,并对每个读取的数据块进行校验;备份读取子单元802,用于当对第一数据块校验不通过时,从备份应用程序镜像中读取与第一数据块相应的第二数据块;替换子单元803,用于在第二数据块校验通过时,使用第二数据块替换第一数据块;第一执行子单元804,用于当应用程序镜像中所有数据块校验通过后,执行读取的应用程序。当应用程序镜像和所有备份应用程序镜像中的同一数据块都通不过校验时,可以通过USB启动方式来启动嵌入式系统,此时,嵌入式系统启动单元,还包括触发子单元,用于当所有备份应用程序镜像中与第一数据块相应的第二数据块均没有校验通过时,触发嵌入式系统启动单元通过USB启动嵌入式系统。在通过USB启动嵌入式系统时,嵌入式系统启动单元还包括下载子单元,用于通过USB接口下载应用程序到内存中;控制子单元,用于读取配置文件中的配置信息,根据配置信息使得USB继续与PC 通信,或者根据配置信息停止USB与PC通信;第二执行子单元,用于执行所下载的应用程序。本发明实施例还提供一种嵌入式系统启动方法,在下载完应用程序后,会读取配置文件,根据配置文件中相应的配置信息,进一步决定是否停止USB与PC的通信。该配置文件可以根据实际情况进行设定,如果在执行应用程序的过程中,仍然会使用USB与PC进行通信,那么就可以在配置信息中进行配置,使得在下载完程序后,使得 USB继续与PC进行通信,避免了频繁的停止USB与PC的通信,再重新建立USB与PC的连接,提高程序执行的效率;如果在后续执行应用程序的过程中,完全不再使用USB与PC进行通信,那么用户也可以在配置信息中配置,使得在下载完程序后,USB立即停止与PC的通
该嵌入式系统启动方法具体步骤与图3中所示相同,在此就不再重复。相应的,本发明实施例提供一种嵌入式装置,如图9所示,包括下载子单元901,用于通过USB接口下载应用程序到内存中;控制子单元902,用于读取配置文件中的配置信息,根据配置信息使得USB继续与 PC通信,或者根据配置信息停止USB与PC通信;第二执行子单元903,用于执行所下载的应用程序。本发明实施例提供一种嵌入式系统启动方法及嵌入式装置,由bootloader在初始化嵌入式系统启动频率前,读取预先配置的配置文件,并根据配置文件中的参数来初始化嵌入式系统的启动频率,从而提高嵌入式系统的启动性能。并进一步在发现有第一数据块没有通过校验时,进一步可以读取备份应用程序镜像中与第一数据块相应的第二数据块,如果第二数据块通过了校验,则使用第二数据块替换第一数据块,再继续读取应用程序镜像中的其它数据。这样,仅仅在应用程序镜像和所有备份应用程序镜像都损坏了同一个数据块时,才会出现读取不成功的结果,避免了由于应用程序镜像和每个备份应用程序镜像都存在不同损坏,导致无法读取到应用程序镜像。并更进一步在下载完应用程序后,读取配置文件,根据配置文件中相应的配置信息,进一步决定是否停止USB与PC的通信,进一步提高启动效率。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种嵌入式系统启动方法,其特征在于,包括嵌入式芯片上的下载启动程序bootloader启动后,读取预先存储的配置文件; 根据所述配置文件中的配置信息,初始化嵌入式系统的启动频率,所述配置信息中包括根据所述嵌入式系统设定的启动频率;应用初始化后的嵌入式系统启动频率启动所述嵌入式系统。
2.如权利要求1所述的方法,其特征在于,所述嵌入式系统的启动频率包括 在嵌入式系统的启动阶段,锁相环Plll的频率、中央处理器CPU的频率以及总线BUS的频率。
3.如权利要求1所述的方法,其特征在于,所述应用初始化后的嵌入式系统启动频率启动所述嵌入式系统,具体为根据预先存储的配置文件读取闪存nandflash中的应用程序镜像,并对每个读取的数据块进行校验;当对第一数据块校验不通过时,从备份应用程序镜像中读取与所述第一数据块相应的第二数据块;当第二数据块校验通过时,使用所述第二数据块替换所述第一数据块; 当应用程序镜像中所有数据块校验通过后,执行读取的应用程序。
4.如权利要求3所述的方法,其特征在于,当所有备份应用程序镜像中与所述第一数据块相应的第二数据块均没有校验通过时,通过USB启动嵌入式系统。
5.如权利要求1所述的方法,其特征在于,所述应用初始化后的嵌入式系统启动频率启动所述嵌入式系统,具体为根据预先的设定,通过USB启动嵌入式系统。
6.如权利要求4或5所述的方法,其特征在于,所述通过USB启动嵌入式系统具体包括通过USB接口下载应用程序到内存中;读取配置文件中的配置信息,根据所述配置信息使得USB继续与PC通信,或者根据所述配置信息停止USB与PC通信; 执行所下载的应用程序。
7.如权利要求6所述的方法,其特征在于,所述下载应用程序到内存中,具体包括 在将应用程序下载到内存中的同时,将所述应用程序烧写到nandflash中;或者在将应用程序全部下载到内存中后,将所述内存中的应用程序烧写到nandfIash中。
8.如权利要求1所述的方法,其特征在于,所述芯片上的bootloader启动后,读取预先存储的配置文件,具体包括芯片上的bootloader启动后,若未读取到预先存储的配置文件,则初始化嵌入式系统的启动频率至默认值;通过USB下载配置文件并存储; 读取所存储的配置文件。
9.如权利要求8所述的方法,其特征在于,所述应用初始化后的嵌入式系统启动频率启动所述嵌入式系统,具体为通过USB接口下载应用程序到内存中;读取配置文件中的配置信息,根据所述配置信息使得USB继续与PC通信,或者根据所述配置信息停止USB与PC通信; 执行所下载的应用程序。
10.一种嵌入式装置,其特征在于,包括boot loader启动单元,用于启动嵌入式芯片中的下载启动程序boot loader ; 配置文件读取单元,设置在所述bootloader中,用于读取预先存储的配置文件; 初始化单元,设置在所述bootloader中,用于根据所述配置文件中的配置信息,初始化嵌入式系统的启动频率,所述配置信息中包括根据所述嵌入式系统设定的启动频率; 嵌入式系统启动单元,用于应用初始化后的嵌入式系统启动频率启动所述嵌入式系统。
11.如权利要求10所述的装置,其特征在于,所述嵌入式系统启动单元具体包括 应用程序读取子单元,用于根据预先存储的配置文件读取闪存nandflash中的应用程序镜像,并对每个读取的数据块进行校验;备份读取子单元,用于当对第一数据块校验不通过时,从备份应用程序镜像中读取与所述第一数据块相应的第二数据块;替换子单元,用于在第二数据块校验通过时,使用所述第二数据块替换所述第一数据块;第一执行子单元,用于当应用程序镜像中所有数据块校验通过后,执行读取的应用程序。
12.如权利要求11所述的装置,其特征在于,所述嵌入式系统启动单元,还包括触发子单元,用于当所有备份应用程序镜像中与所述第一数据块相应的第二数据块均没有校验通过时,触发所述嵌入式系统启动单元通过USB启动嵌入式系统。
13.如权利要求10所述的装置,其特征在于,还包括触发单元,用于在初始化嵌入式系统的启动频率后,根据预先的设定,触发所述嵌入式系统启动单元通过USB启动嵌入式系统。
14.如权利要求12或13所述的装置,其特征在于,在通过USB启动嵌入式系统时,所述嵌入式系统启动单元具体包括下载子单元,用于通过USB接口下载应用程序到内存中;控制子单元,用于读取配置文件中的配置信息,根据所述配置信息使得USB继续与PC 通信,或者根据所述配置信息停止USB与PC通信; 第二执行子单元,用于执行所下载的应用程序。
15.如权利要求13所述的装置,其特征在于,所述配置文件读取单元,还用于在未读取到预先存储的配置文件时,由初始化单元初始化嵌入式系统的启动频率至默认值,由触发单元触发所述嵌入式系统启动单元通过USB启动嵌入式系统,并在所述嵌入式系统启动单元通过USB下载配置文件并存储后,读取所存储的配置文件;所述触发单元还用于,在所述配置文件读取单元未读取到预先存储的配置文件时,触发所述嵌入式系统启动单元通过USB启动嵌入式系统。
16.一种嵌入式系统启动方法,其特征在于,包括根据预先存储的配置文件读取闪存nandflash中的应用程序镜像,并对每个读取的数据块进行校验;当对第一数据块校验不通过时,从备份应用程序镜像中读取与所述第一数据块相应的第二数据块;当第二数据块校验通过时,使用所述第二数据块替换所述第一数据块; 当应用程序镜像中所有数据块校验通过后,执行读取的应用程序。
17.如权利要求16所述的方法,其特征在于,当所有备份应用程序镜像中与所述第一数据块相应的第二数据块均没有校验通过时,通过USB启动嵌入式系统。
18.—种嵌入式装置,其特征在于,包括应用程序读取子单元,用于根据预先存储的配置文件读取闪存nandflash中的应用程序镜像,并对每个读取的数据块进行校验;备份读取子单元,用于当对第一数据块校验不通过时,从备份应用程序镜像中读取与所述第一数据块相应的第二数据块;替换子单元,用于在第二数据块校验通过时,使用所述第二数据块替换所述第一数据块;第一执行子单元,用于当应用程序镜像中所有数据块校验通过后,执行读取的应用程序。
19.如权利要求18所述的装置,其特征在于,还包括触发子单元,用于当所有备份应用程序镜像中与所述第一数据块相应的第二数据块均没有校验通过时,触发所述嵌入式装置通过USB启动嵌入式系统。
20.一种嵌入式系统启动方法,其特征在于,包括 通过USB接口下载应用程序到内存中;读取配置文件中的配置信息,根据所述配置信息使得USB继续与PC通信,或者根据所述配置信息停止USB与PC通信; 执行所下载的应用程序。
21.如权利要求20所述的方法,其特征在于,所述下载应用程序到内存中,具体包括 在将应用程序下载到内存中的同时,将所述应用程序烧写到闪存nandflash中;或者在将应用程序全部下载到内存中后,将所述内存中的应用程序烧写到nandfIash中。
22.—种嵌入式装置,其特征在于,包括下载子单元,用于通过USB接口下载应用程序到内存中;控制子单元,用于读取配置文件中的配置信息,根据所述配置信息使得USB继续与PC 通信,或者根据所述配置信息停止USB与PC通信; 第二执行子单元,用于执行所下载的应用程序。
全文摘要
本发明公开了一种嵌入式系统启动方法及嵌入式装置,涉及计算机技术,该嵌入式系统启动方法,包括嵌入式芯片上的bootloader启动后,读取预先存储的配置文件;根据所述配置文件中的配置信息,初始化嵌入式系统的启动频率;应用初始化后的嵌入式系统启动频率启动所述嵌入式系统。由于由bootloader在初始化嵌入式系统启动频率前,读取预先配置的配置文件,并根据配置文件中的参数来初始化嵌入式系统的启动频率,从而提高嵌入式系统的启动性能。
文档编号G06F9/445GK102314354SQ20101022195
公开日2012年1月11日 申请日期2010年6月30日 优先权日2010年6月30日
发明者凌明 申请人:无锡中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1