CN102024129B - 嵌入式设备的数据写入方法 - Google Patents
嵌入式设备的数据写入方法 Download PDFInfo
- Publication number
- CN102024129B CN102024129B CN200910175538.5A CN200910175538A CN102024129B CN 102024129 B CN102024129 B CN 102024129B CN 200910175538 A CN200910175538 A CN 200910175538A CN 102024129 B CN102024129 B CN 102024129B
- Authority
- CN
- China
- Prior art keywords
- data
- write
- embedded device
- external memorizer
- storage inside
- 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
Links
Landscapes
- Stored Programmes (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供了一种嵌入式设备的数据写入方法,所述嵌入式设备包括处理模块和内部存储模块,该处理模块包括处理器和包含访问代码的只读存储器,所述方法包括步骤:将所述嵌入式设备设置为写入模式;执行所述访问代码,以访问连接到所述嵌入式设备的外接存储器,该外接存储器含有引导代码;执行所述引导代码,以使所述嵌入式设备初始化;将存储在外接存储器中的数据写入所述内部存储模块中。根据所述数据写入方法,可以在不需要传统烧录方法中采用的昂贵的工具而仅采用诸如安全数字卡、多媒体卡等的外接存储器来实现数据写入。
Description
技术领域
示例性实施例涉及一种嵌入式设备的数据写入(烧录)方法。
背景技术
嵌入式设备,例如个人数字助理(PDA)、移动电话、携式媒体播放器、数字相机等,是一种通过运行存储的程序(例如,操作***)来实现预定功能的设备。嵌入式设备与普通的计算机(例如个人计算机(PC)、膝上型计算机(laptop)等)的不同之处在于,嵌入式设备必须对软硬件进行裁剪以适应对功能、可靠性、成本、体积、功耗的严格要求。嵌入式设备通常包括处理器、存储器、输入输出(I/O)接口等。通常,将诸如闪速存储器(flash)的非易失性存储器用作嵌入式设备的存储器,例如,NAND型flash、NOR型flash等。
通常,将嵌入式设备的操作***以单个映像文件的形式写入嵌入式设备的存储器中。映像文件通常包括使嵌入式设备初始化的引导代码、嵌入式设备的各个部件的驱动程序、实现嵌入式设备的预定功能的应用程序、动态链接库、数据库、多媒体文件、其他期望包括在嵌入式设备中的数据(例如,其他应用程序)等。写入映像文件的方法通常称为烧录方法。已经开发出了各种烧录方法,例如,贴片后烧录方法、贴片前烧录方法等。
在传统的贴片后烧录方法中,使用通过计算机控制的JTAG工具访问嵌入式设备,并将启动程序写入嵌入式设备的存储器(即,flash)中,然后运行已经写入的启动程序,从而利用包括在启动程序中的特定程序来进行映像文件的烧录。然而,这样的方法需要昂贵的JTAG工具。另外,这样的方法需要逐个设备进行烧录,操作步骤复杂,生产效率低,不适合批量生产。
在传统的贴片前烧录方法中,使用烧录器(例如,GANG烧录器)、适配模块、编程模块、计算机控制软件等直接对用于嵌入式设备的存储器的flash芯片进行烧录,然后利用所述flash芯片制造嵌入式设备。采用这样的方法可以一次性对8个或更多的flash芯片进行烧录,因此提高了生产效率。然而,这样的方法依然存在烧录过程复杂,需要计算机等各种辅助工具,因此,生产成本高且可靠性劣化。
另外,现有技术的烧录方法还需要在诸如烧录器等的辅助工具中加入处理烧录过程中出现的异常问题的功能。例如,flash芯片允许存在一定数量的坏块,因此在烧录过程中需要烧录器支持复杂的软件算法以识别并处理这些坏块。
发明内容
示例性实施例提供了一种嵌入式设备的数据写入方法,可以在不需要传统烧录方法中采用的昂贵的工具而仅采用诸如安全数字卡、多媒体卡等的外接存储器来实现数据写入,从而降低生产成本,并简化生产过程。根据示例性实施例的数据写入方法,可以以手动或自动的方式来执行数据写入方法,使得写入数据(烧录)变得简便易行。根据示例性实施例的数据写入方法,可以在执行数据写入方法的过程中实时通知用户,从而易于用户控制并监视该过程。
根据示例性实施例的一方面,提供了一种嵌入式设备的数据写入方法,所述嵌入式设备包括处理模块和内部存储模块,处理模块包括处理器和只读存储器,所述方法包括如下步骤:运行存储在只读存储器中的访问代码,以运行存储在外接存储器中的引导代码,从而使嵌入式设备初始化;将存储在外接存储器中的数据写入内部存储模块中。
所述方法还可以包括向嵌入式设备供电。
所述方法还可以包括手动设置嵌入式设备,从而在向嵌入式设备供电的步骤之后,运行存储在只读存储器中的访问代码。
可以通过手动设置处理模块的引脚的连接方式使得嵌入式设备处于从外接存储器启动的写入模式,来执行手动设置嵌入式设备的步骤。
所述方法还可以包括:在将数据写入内部存储模块中的步骤之后,手动重置嵌入式设备。
可以通过手动设置处理模块的引脚的连接方式使得嵌入式设备处于从内部存储模块启动的运行模式,来执行手动重置嵌入式设备的步骤。
将要写入内部存储模块中的数据可以包括用于启动嵌入式设备的引导代码。
使嵌入式设备初始化的步骤可以包括:检测嵌入式设备是否与外接存储器连接。
使嵌入式设备初始化的步骤可以包括:如果检测到嵌入式设备没有与外接存储器连接,则通知用户。
使嵌入式设备初始化的步骤还可以包括:如果检测到嵌入式设备与外接存储器连接,则检测在外接存储器中是否存储有用于初始化嵌入式设备的引导代码。
使嵌入式设备初始化的步骤还可以包括:如果检测到外接存储器中没有存储用于初始化嵌入式设备的引导代码,则通知用户。
将数据写入内部存储模块中的步骤可以包括:检测在外接存储器中是否存储有将要写入内部存储模块中的数据。
将数据写入内部存储模块中的步骤还可以包括:如果检测到在外接存储器中没有存储将要写入内部存储模块中的数据,则通知用户。
将数据写入内部存储模块中的步骤还可以包括:如果检测到在外接存储器中存储有将要写入内部存储模块中的数据,则将关于将要写入内部存储模块中的数据的信息提供给用户,从而由用户选择将要写入内部存储模块中的数据中的一个或多个。
将数据写入内部存储模块中的步骤还可以包括:如果检测到在外接存储器中是否存储有将要写入内部存储模块中的数据,则检测检测在外接存储器中是否存储有关于将要写入内部存储模块中的数据的信息。
将数据写入内部存储模块中的步骤还可以包括:如果检测到在外接存储器中存储有关于将要写入内部存储模块中的数据的信息,则根据所述信息来选择将要写入内部存储模块的数据。
可以根据存储在外接存储器中的坏块管理代码来将数据写入内部存储模块中,坏块管理代码可以包括关于内部存储模块中的坏块的信息。
所述方法还可以包括:在将数据写入内部存储模块中的步骤之后,通知用户。
所述方法还可以包括:擦除存储在内部存储模块中的数据。
所述方法还可以包括:在外接存储器中存储有将要写入内部存储模块中的数据情况下,执行擦除存储在内部存储模块中的数据的步骤。
引导代码和将要写入内部存储模块中的数据可以通过在计算机上运行不同的程序而存储在外接存储器中。
将要写入内部存储模块中的数据可以包括嵌入式设备的***的映像文件。
映像文件可以包括引导代码和坏块管理代码。
处理器和只读存储器可以一体化形成。
内部存储模块和外接存储器可以为闪速存储器。
根据示例性实施例的另一方面,提供了一种嵌入式设备的初始化方法,所述嵌入式设备包括一体化形成的处理器和只读存储器,所述方法包括如下步骤:运行存储在只读存储器中的访问代码,以运行存储在外接存储器中的引导代码,从而使嵌入式设备初始化。
附图说明
通过下面结合附图对示例性实施例的描述,示例性实施例的上述和其他的方面和特征将会变得更加清楚,附图中:
图1是示出嵌入式设备和连接到所述嵌入式设备的外接存储器的框图;
图2是示出根据示例性实施例的嵌入式设备的数据写入方法的流程图;
图3是示出根据示例性实施例的初始化过程的流程图;
图4是示出根据另一示例性实施例的初始化过程的流程图;
图5是示出根据示例性实施例的写入过程的流程图;
图6是示出根据另一示例性实施例的写入过程的流程图。
具体实施方式
在下文中参照附图更充分地描述示例性实施例,在附图中示出了示例性实施例的示例。然而,示例性实施例可以以多种不同的形式来实施,不应该被理解为局限于在此提出的实施例。相反,提供这些实施例使得本公开是彻底和完整的,并将示例性实施例的范围充分地传达给本领域的技术人员。
图1是示出嵌入式设备1和连接到所述嵌入式设备的外接存储器2的框图。如图1中所示,嵌入式设备1可以包括处理模块10、内部存储模块20、总线30。图1中还示出了连接到嵌入式设备1的外接存储器2。
处理模块10可以包括处理器11和内部只读存储器(internal ROM,iROM)12。处理器11和iROM 12可以一体化形成,即,iROM 12可以集成在处理模块10中。在iROM 12中可以存储有特定程序,即,访问代码。处理器11可以运行所述特定程序,从而访问存储在外接存储器2中的数据。例如,处理模块10可以运行所述特定程序,从而自动检测外接存储器,并从外接存储器的预定位置(通常是外接存储器的末端)加载引导代码,所述引导代码负责全面初始化整个嵌入式设备1,并支持烧录/坏块管理功能。处理模块10的示例为S3C2416、S3C2450、S3C6410等型号的微处理器(SAMSUNGCO.LTD.)。然而,示例性实施例不限于此,适应嵌入式设备1的要求(例如,功能、体积、功耗等)且在内部具有存储有的特定程序的只读存储器的各种处理器均可以用作处理模块10。
内部存储模块20可以为非易失性存储器,例如,可以为flash。然而,示例性实施例不限于此,内部存储模块20可以为本领域技术人员公知的各种存储装置,诸如硬盘驱动器(HDD)、固态盘(SSD)等。
内部存储模块20可以存储有对于嵌入式设备1来说是必要的文件,即,操作***。所述操作***可以包括用于使嵌入式设备1初始化的引导代码、用于控制多功能模块50(将在下文描述)的驱动程序、实现嵌入式设备1的预定功能的应用程序、以及其他对于嵌入式设备1来说是必要的文件(例如,动态链接库文件、数据库文件、多媒体文件等)。另外,内部存储模块20可以存储有其他文件,例如,多媒体文件、文档文件、其他应用程序等。
总线30可以将嵌入式设备1中的多个元件相互连接,例如,处理模块10可以通过总线30访问存储在内部存储模块20中的数据。
根据示例性实施例,嵌入式设备1可以包括设置模块40。设置模块40可以为可切换处理模块10的外部引脚的连接方式的开关。可以通过用户手动调节设置模块40,使得嵌入式设备1在从外接存储器启动的第一模式(写入模式)和从内部存储模块启动的第二模式(运行模式)之间进行切换。在第一模式下,处理模块10可以运行存储在iROM 12中的特定程序。在第二模式下,处理模块10可以运行存储在内部存储模块20中的操作***。
根据示例性实施例,嵌入式设备1可以包括多功能模块50。在这样的情况下,处理模块10、内部存储模块20、多功能模块50可以通过总线30彼此连接,从而处理模块10通过运行存储在内部存储器模块20中的程序来控制多功能模块50以实现嵌入式设备1的预定功能。另外,处理模块10可以直接控制多功能模块50。例如,多功能模块50可以包括发光二极管(LED)、蜂鸣器等,从而处理模块10可以通过光、声音等方式通知用户关于嵌入式设备1的运行状态的信息。
另外,嵌入式设备1还可以包括缓冲存储器60和电源70。缓冲存储器60可以由一个或多个易失性存储器形成,以临时存储将要写入在内部存储模块20中的数据或从内部存储模块20读取的数据。此外,缓冲器60可用于临时存储处理模块10处理过的数据。电源70可以向嵌入式设备1供电。例如,在嵌入式设备1为可移动的设备时,电源70可以为电池。
如图1中所示,嵌入式设备1可以通过输入输出端口(未示出)连接到外接存储器2,从而访问存储在外接存储器2中的数据。例如,输入输出端口可以为SD/MMC接口。外接存储器2可以为flash,例如,安全数字卡(SDCard)、多媒体卡(MMC)等。
根据示例性实施例,外接存储器2可以存储有各种文件。例如,外接存储器2可以存储有映像文件形式的嵌入式设备1的操作***,从而可以通过将映像文件写入嵌入式设备1的内部存储模块20中以实现操作***的安装(即,烧录),这将在下文中详细描述。映像文件可以为本领域技术人员公知的,例如,在传统烧录方法中使用的映像文件。可以包括用于使嵌入式设备1初始化的引导代码、用于控制多功能模块50的驱动程序、实现嵌入式设备1的预定功能的应用程序、以及其他对于嵌入式设备1来说是必要的文件(例如,动态链接库文件、数据库文件、多媒体文件等)。映像文件可以为单个文件,然而,示例性实施例不限于此,映像文件为多个文件。另外,外接存储器2还可以存储有用于替换和/或更新已安装的操作***的映像文件、期望写入内部存储模块20中的其他文件等。根据示例性实施例,将要写入内部存储模块20中的数据可以被存储在多个外接存储器中,这将在下文中详细描述。
如上所述的嵌入式设备1可以为PDA、移动电话、便携式媒体播放器、网络路由器、数字相机、数字电视、打印机等嵌入式设备。然而,示例性实施例不限于此。嵌入式设备1可以为可通过运行包括在处理模块中的只读存储器中存储的程序来访问存储在外接存储器中的数据的各种嵌入式设备。
在下文中,将参照图2至图6描述根据示例性实施例的嵌入式设备的数据写入方法。
图2是示出根据示例性实施例的嵌入式设备的数据写入方法的流程图。如图2所示,根据示例性实施例的嵌入式设备的数据写入方法包括:使嵌入式设备初始化的初始化过程(S100)和将存储在外接存储器中的数据写入内部存储模块中的写入过程(S200)。
可以在如图1所示的嵌入式设备1中实现根据示例性实施例的数据写入方法。具体地讲,在初始化过程S100中,处理模块10运行存储在iROM 12中的特定程序(访问代码),以运行存储在外接存储器2中的引导代码,从而使嵌入式设备1初始化。然后,在写入过程S200中,处理模块10从外接存储器2中读取存储的数据,并将读取的数据写入内部存储模块20中。
图3是示出根据示例性实施例的初始化过程S100的流程图。
如图3所示。在步骤S110中,用户可以手动调节嵌入式设备1的设置模块40,使得嵌入式设备1处于第一模式,在第一模式下,处理模块10可以运行存储在iROM 12中的特定程序而不访问内部存储模块20。
然后,在步骤S120中,可以由电源70向嵌入式设备1供电。
因为在之前的步骤S110中将嵌入式设备1设置为第一模式,所以在随后的步骤S130中,处理模块10可以运行存储在iROM 12中的特定程序(访问代码)。根据示例性实施例,存储在iROM 12中的特定程序可以为与处理器11有关但与嵌入式设备1的其他元件和/或电路无关的外接存储器检测程序,如上所述。在步骤S130中,处理器11可以通过运行这样的特定程序来检测嵌入式设备1是否与外接存储器2连接。
如果在步骤S130中检测到嵌入式设备1没有与外接存储器2连接,则在步骤S131中,处理模块10可以通过多功能模块50中包括的LED和/或蜂鸣器等以光和/或声音等方式通知用户。
如果在步骤S130中检测到嵌入式设备1与外接存储器2连接,则在步骤S140中,处理模块10可以通过运行存储在iROM中的特定程序来检测在外接存储器2中是否存储有用于初始化嵌入式设备1的引导代码。
根据示例性实施例,外接存储器2中可以存储有用于初始化嵌入式设备的引导代码。这样的引导代码可以通过特殊但简单的PC软件写入到外接存储器2中。例如,可以将所述引导代码存储在外接存储器中的预定位置(通常为外接存储器的末端)。在传统技术中,这样的引导代码不能通过普通的文件拷贝(copy)的方式存储在外接存储器的末端,因此需要特定的PC软件对外接存储器的存储区域进行裸操作,从而简单地将所述引导代码写入到预定的存储位置。处理模块10可以通过运行这样的引导代码来使嵌入式设备1初始化。
如果在步骤S140中未检测到引导代码,则在步骤S141中,处理模块10可以通过多功能模块50中包括的LED和/或蜂鸣器等以光和/或声音等方式通知用户。
如果在步骤S140中检测到引导代码,则在步骤S150中,处理模块10运行引导代码,从而初始化嵌入式设备1。
图4是示出根据另一示例性实施例的初始化过程的流程图。在图4中示出的初始化过程S100′与图3中示出的初始化过程S100类似,因此,为了简明起见,省略了对于相同步骤的描述。
如图4中所示,如果在步骤S130中检测到嵌入式设备1没有与外接存储器2连接,则在步骤S131′中通知用户连接外接存储器并返回步骤S130,直到在步骤S130中检测到嵌入式设备1与外接存储器2连接为止。
类似地,如果在步骤S140中未检测到引导代码,则在步骤S141′中通知用户连接存储有引导代码的外接存储器并返回步骤S130,直到在步骤S140中检测到引导代码为止。
然而,示例性实施例不限于此,可以根据用户需要选择在检测到嵌入式设备1没有与外接存储器2连接时初始化过程等待用户操作或者初始化过程终止。类似地,可以根据用户需要选择在未检测到引导代码时初始化过程等待用户操作或者启动过程终止。另外,处理模块10可以实时通知用户关于初始化过程的信息。
图5是示出根据示例性实施例的数据写入过程的流程图。图5中示出的数据写入过程可以在图2或图3中示出的初始化过程之后进行。
如图5所示,在步骤S210中,处理模块10可以检测在外接存储器2中是否存储有将要写入内部存储模块20中的数据。例如,处理模块10可以读取关于外接存储器2中的文件中的信息,并根据所述信息确定该文件是否为可以写入内部存储模块20中的文件。如果在步骤S210中没有检测到将要写入内部存储模块20中的数据,则在步骤S211中,处理模块10可以通过多功能模块50中包括的LED和/或蜂鸣器等以光和/或声音等方式通知用户,直到在步骤S210中检测到将要写入的数据为止。在这样的情况下,存储有将要写入的数据的外接存储器可以与在初始化过程中的存储有引导代码的外接存储器不同。
如果在步骤S210中检测到将要写入的数据,则在步骤S220中,处理模块10可以将读取的关于外接存储器2中的文件中的信息(例如,文件名等)通知用户,以由用户选择一个或多个将要写入内部存储模块20中的数据。例如,根据示例性实施例,外接存储器2中可以存储有映像文件_1、映像文件2、期望写入的其他文件等,如图1所示。
然后,在步骤S230中,处理模块10可以读取用户选择的数据并将其写入内部存储模块20中。例如,处理模块10可以读取用户选择的数据并将其临时存储在缓冲存储器60中,然后,处理模块10可以对所述数据进行处理(例如,编码、解码等),并将处理过的数据写入内部存储模块20中。然而,示例性实施例不限于此,即,嵌入式设备1可以不包括缓冲存储器60和/或处理模块10可以直接写入数据而不进行处理。
根据示例性实施例,将要写入内部存储模块20中的数据可以存储在多个外接存储器中。在这样的情况下,将要写入的数据中的存储在一个外接存储器中的一部分数据被写入内部存储模块20中之后,处理模块10可以在步骤S240中检测是否已将所有的数据写入内部存储模块20中。如果在步骤S240中检测到没有将所有的数据写入内部存储模块20中,则可以通知用户将存储有将要写入的数据中的其他部分数据的外接存储器连接到嵌入式设备1,并返回步骤S210。
根据示例性实施例,在内部存储模块20中可以没有预先存储任何数据。即,可以通过将映像文件写入内部存储模块20中来实现嵌入式设备1的操作***的安装(即,烧录)。另外,在内部存储模块20中可以已经安装有操作***。在这样的情况下,可以通过将新的映像文件写入内部存储模块20中来实现操作***的更新。
在内部存储模块20中预先存储有数据(例如,安装有操作***)的情况下,处理模块10可以在写入之前擦除内部存储模块20中的与将要写入的数据对应的数据。例如,处理模块10可以在执行写入过程S200期间的任意时刻擦除内部存储模块20中的数据。优选地,处理模块10在检测到将要写入的数据之后擦除内部存储模块20中的与该数据对应的数据。更优选地,可以在步骤S230中同时执行数据的擦除和写入。
然后,在步骤S250中,处理模块10可以通过多功能模块50中包括的LED和/或蜂鸣器等以光和/或声音等方式通知用户写入完成。然后,在步骤S260中,用户可以手动调节嵌入式设备1的设置模块40,使得嵌入式设备1处于第二模式,在第二模式下,处理模块10可以在向嵌入式设备1供电(例如,重新启动嵌入式设备)之后运行已经写入在内部存储模块20中的操作***而不访问iROM 12,从而实现嵌入式设备1的正常运行。另外,根据示例性实施例,可以采用一次性设置模块从而省略步骤S260,即,用户通过在使嵌入式设备初始化过程中调节一次性设置模块,从而在后面的过程中使嵌入式设备仅在第一次被供电时访问iROM而不访问内部存储模块,并且在再次供电时访问内部存储模块而不访问iROM。同时,在采用上述一次性设置模块的情况下,也可以省略步骤S250,从而在步骤S240中检测到已将所有的数据写入内部存储模块20中完成之后,可以直接重启嵌入式设备,以实现嵌入式设备1的正常运行。
图6是示出根据另一示例性实施例的写入过程的流程图。在图4中示出的写入过程S200′与图3中示出的写入过程S200类似,因此,为了简明起见,省略了对于相同步骤的描述。
如图6所示,在步骤S210′中,处理模块10可以读取预先存储在外接存储器2中的特定文件,例如,批处理命令文件。在所述特定文件中可以包括有与数据写入过程有关的信息,例如,包括用于确定将要写入的数据的信息、确定将要擦除的数据的信息等。然后,在步骤S230中,处理模块10可以根据所述特定文件中的信息将数据写入内部存储模块20中。如上所述,可以以自动的方式实现写入过程而不需要用户手动操作。
通常,在诸如flash的内部存储模块10中,会存在一定数量的坏块。例如,在内部存储模块10的制造过程中以及在将内部存储模块10安装到嵌入式设备1的过程中,会在内部存储模块10中产生一些坏块。传统的数据写入(烧录)方法简单地将数据写入内部存储模块10的指定位置,因此,如果在指定位置存在坏块,则会导致数据的丢失。
根据示例性实施例,在外接存储器2中可以存储有坏块管理代码,处理模块10可以通过运行坏块管理代码以在数据写入过程中处理内部存储模块10中的坏块。例如,可以预先检测关于内部存储模块20中的坏块的信息,根据这样的信息形成坏块管理代码并将其存储在外接存储器2中。因此,可以在写入数据的过程中处理坏块,从而避免丢失数据。在一个实施例中,坏块管理代码可以作为单独的文件存储在外接存储器中。在另一实施例中,在将要写入的数据为映像文件的情况下,坏块管理代码可以包括在该映像文件中。
根据示例性实施例,可以(例如,通过夹具)将多个嵌入式设备连接到同一外接存储器,从而同时完成多个嵌入式设备的数据写入。因此,可以提高数据写入(烧录)的效率。
示例性实施例的数据写入方法不限于上述内容,即,在嵌入式***初始化之后,可以通过各种方式来将数据从外接存储器写入到内部存储模块中。
根据示例性实施例,可以在不需要传统烧录方法中采用的昂贵的工具而仅采用诸如安全数字卡、多媒体卡等的外接存储器来实现数据写入,从而降低生产成本,并简化生产过程。
根据示例性实施例,可以以手动或自动的方式来执行数据写入方法,使得写入数据(烧录)变得简便易行。
根据示例性实施例,可以在执行数据写入方法的过程中实时通知用户,从而易于用户控制并监视该过程。
虽然已经描述了示例性实施例的实施例,但是应该理解的是,示例性实施例不限于这些示例,且在如权利要求所保护的示例性实施例的精神和范围内,本领域普通技术人员可以进行各种改变和修改。
Claims (10)
1.一种用于嵌入式设备的数据写入方法,所述嵌入式设备包括处理模块和内部存储模块,该处理模块包括处理器和包含访问代码的只读存储器,所述方法包括步骤:
将所述嵌入式设备设置为写入模式;
执行所述访问代码,以访问连接到所述嵌入式设备的外接存储器,该外接存储器含有引导代码;
执行所述引导代码,以使所述嵌入式设备初始化;
将存储在外接存储器中的数据写入所述内部存储模块中,
其中,预先检测关于内部存储模块中的坏块的信息,根据所述信息形成坏块管理代码并将所述坏块管理代码存储在外接存储器中,通过运行存储在外接存储器中的所述坏块管理代码以在数据写入过程中处理内部存储模块中的坏块。
2.如权利要求1所述的方法,其中,所述访问外接存储器的步骤进一步包括:通过执行所述访问代码来检测所述嵌入式设备是否与外接存储器连接。
3.如权利要求2所述的方法,其中,所述访问外接存储器的步骤还包括:如果检测到所述嵌入式设备与外接存储器连接,则通过执行所述访问代码来检测在外接存储器中是否存储有所述引导代码。
4.如权利要求1所述的方法,其中,所述的将数据写入内部存储模块步骤进一步包括:检测在外接存储器中是否存储有将要写入的数据。
5.如权利要求4所述的方法,其中,所述的将数据写入内部存储模块步骤还包括:如果检测到在外接存储器中存储有将要写入的数据,则将关于将要写入的数据的信息提供给用户,从而由用户选择将要写入的数据中的一个或多个。
6.如权利要求1所述的方法,其中,所述的将数据写入内部存储模块步骤进一步包括:检测在外接存储器中是否存储有指示将要写入的数据的指示信息,从而根据所述指示信息来选择将要写入的数据中的一个或多个。
7.如权利要求1所述的方法,其中,所述的将数据写入内部存储模块步骤进一步包括:根据存储在外接存储器中的坏块管理代码来将数据写入内部存储模块中。
8.如权利要求1所述的方法,其中,将要写入的数据包括所述嵌入式设备的***的映像文件。
9.如权利要求1所述的方法,其中,所述处理器和所述只读存储器一体化形成。
10.如权利要求1所述的方法,其中,所述内部存储模块和外接存储器为闪速存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910175538.5A CN102024129B (zh) | 2009-09-22 | 2009-09-22 | 嵌入式设备的数据写入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910175538.5A CN102024129B (zh) | 2009-09-22 | 2009-09-22 | 嵌入式设备的数据写入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102024129A CN102024129A (zh) | 2011-04-20 |
CN102024129B true CN102024129B (zh) | 2015-03-11 |
Family
ID=43865412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910175538.5A Active CN102024129B (zh) | 2009-09-22 | 2009-09-22 | 嵌入式设备的数据写入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102024129B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838585A (zh) * | 2012-11-20 | 2014-06-04 | 广州市暨华医疗器械有限公司 | 基于sd卡实现arm9嵌入式***自动烧录的方法 |
CN105607925B (zh) * | 2015-12-16 | 2019-06-18 | 深圳市科陆电子科技股份有限公司 | 处理器片内flash程序烧录方法及烧录*** |
CN106873909B (zh) * | 2017-01-22 | 2020-06-30 | 建荣集成电路科技(珠海)有限公司 | 一种存储访问方法及其***、存储设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118494A (zh) * | 2006-08-01 | 2008-02-06 | 环达电脑(上海)有限公司 | 嵌入式设备从外接电子卡启动操作***的***与方法 |
CN101158904A (zh) * | 2006-10-08 | 2008-04-09 | 友鑫科技股份有限公司 | 嵌入式计算机*** |
CN101403972A (zh) * | 2008-01-17 | 2009-04-08 | 深圳市江波龙电子有限公司 | 嵌入式***的存储卡引导方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4815968B2 (ja) * | 2005-09-22 | 2011-11-16 | 日本電産株式会社 | ブラシレスdcモータ |
-
2009
- 2009-09-22 CN CN200910175538.5A patent/CN102024129B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118494A (zh) * | 2006-08-01 | 2008-02-06 | 环达电脑(上海)有限公司 | 嵌入式设备从外接电子卡启动操作***的***与方法 |
CN101158904A (zh) * | 2006-10-08 | 2008-04-09 | 友鑫科技股份有限公司 | 嵌入式计算机*** |
CN101403972A (zh) * | 2008-01-17 | 2009-04-08 | 深圳市江波龙电子有限公司 | 嵌入式***的存储卡引导方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102024129A (zh) | 2011-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8230160B2 (en) | Flash memory storage system and flash memory controller and data processing method thereof | |
US8683457B1 (en) | Updating firmware of an electronic device by storing a version identifier in a separate header | |
JP4371771B2 (ja) | 不揮発性メモリシステムにおいて用いられる電力管理ブロック | |
US8745443B2 (en) | Memory system | |
CN105094927B (zh) | 一种设备固件升级方法和装置 | |
US9519436B1 (en) | Memory erasing method, memory controller, and memory storage apparatus | |
US8897092B2 (en) | Memory storage device, memory controller and controlling method | |
US7640425B2 (en) | Disk apparatus and electronic apparatus | |
JP2010186341A (ja) | メモリシステム | |
JP2010140266A (ja) | 電子デバイスシステムと電子デバイス | |
US20100185846A1 (en) | Computer product, storage device, and firmware management method | |
US20130013885A1 (en) | Memory storage device, memory controller, and method for identifying valid data | |
US8291206B2 (en) | Method for booting computer system | |
US20130185549A1 (en) | Electronic device and bios updating device thereof | |
CN102024129B (zh) | 嵌入式设备的数据写入方法 | |
US20120011395A1 (en) | Boot method under boot sector failure in hard disk and computer device using the same | |
US20060288198A1 (en) | Data storage system and related method | |
US20090228641A1 (en) | Information processing apparatus and non-volatile semiconductor memory drive | |
JP2007122772A (ja) | 情報処理装置、データ記憶方法、およびデータ記憶プログラム | |
US9501397B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
JP2008158991A (ja) | Nand型フラッシュメモリの制御システム | |
US9311075B2 (en) | Electronic apparatus and BIOS updating apparatus thereof | |
JP2008159003A (ja) | 情報処理装置 | |
JP2007140689A (ja) | Usbホスト制御装置及びその制御方法、並びにプログラム | |
US20120226371A1 (en) | Memory storage apparatus, memory controller, and audio playing method |
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 |