CN1734420A - 执行嵌入系统的引导程序代码的方法和装置 - Google Patents

执行嵌入系统的引导程序代码的方法和装置 Download PDF

Info

Publication number
CN1734420A
CN1734420A CNA200510082149XA CN200510082149A CN1734420A CN 1734420 A CN1734420 A CN 1734420A CN A200510082149X A CNA200510082149X A CN A200510082149XA CN 200510082149 A CN200510082149 A CN 200510082149A CN 1734420 A CN1734420 A CN 1734420A
Authority
CN
China
Prior art keywords
memory
mode
signal
accumulator system
indication
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.)
Granted
Application number
CNA200510082149XA
Other languages
English (en)
Other versions
CN100517228C (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1734420A publication Critical patent/CN1734420A/zh
Application granted granted Critical
Publication of CN100517228C publication Critical patent/CN100517228C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Microcomputers (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种储存器系统和对应的方法,用于执行在其上存储的引导程序代码,该存储器系统包括:模式解码器;第一存储器,其与模式解码器进行信号通讯;第二存储器,其与模式解码器进行信号通讯;和模式发生器,其与模式解码器进行信号通讯,并产生信号以指示选择第一和第二储存器中的一个作为引导存储器。并且执行引导程序代码的方法包括:开始时从第一存储器引导系统;编程第二存储器用于随后的引导;编程模式发生器以随后从第二存储器来引导系统;和随后从第二存储器来引导系统。

Description

执行嵌入系统的引导程序代码的方法和装置
技术领域
本发明涉及一种嵌入系统,更具体地,涉及一种用于执行嵌入系统的引导程序代码的方法和装置。
背景技术
通常为特定的目的来制造嵌入系统。这样的系统典型地包括:中央处理单元(CPU)、存储器、和包含“引导程序代码”的软件。引导程序代码初始化存储器和CPU寄存器,并且指令CPU的初始操作。
通常,当制造系统时可以将引导程序代码写入只读存储器(ROM),并且将其与系统一起提供给用户。可是,如果在引导程序代码中需要很小的改变,都必须更换ROM,因为ROM是不能改写的。此外,一些用户可能需要使用他们自己的引导程序代码来初始化系统,以便比如解决安全问题。
最近,经常将引导程序代码存储在非易失存储器中(non-volatile memory,NVM),比如EEPROM和/或闪速存储器,而不是ROM。虽然NVM的使用可以允许用户来定制引导程序代码,但是它具有几个固有的问题。比如在闪速存储器再编程期间试图用定制的引导程序代码盖写原来的引导程序代码,那么在闪速存储器再编程期间的错误可以导致嵌入系统变得不可引导。
图1示出了用于执行嵌入系统的引导程序代码的传统装置,将其用标号100指示。装置100包括CPU 110、与CPU连接的地址解码器120、和与解码器连接的闪速存储器130。
如果制造商将引导程序代码和基本库函数存储在如130的闪速存储器中,则在初始时由制造商提供的引导程序代码来引导系统。在初始引导之后,用户可以部分或全部擦除该引导程序代码,并且通过使用制造商提供的基本库函数来重写或再编程新的引导程序代码。之后,系统应可以用新的引导程序代码正常引导。但是,在擦除旧代码的过程中,容易损坏闪速存储器。当这种情况发生时,由于引导程序代码的损坏,系统可能不能正常工作或根本不能引导。
发明内容
示例的存储器系统包括模式解码器、与模式解码器进行信号通讯的第一存储器、与模式解码器进行信号通讯的第二存储器、和与模式解码器进行信号通讯的模式发生器,该模式发生器产生信号以指示选择第一和第二储存器中的一个作为引导存储器。
用于执行存储在存储器系统中的引导程序代码的对应方法,包括开始从第一存储器引导系统、为随后的引导编程第二存储器、编程模式发生器以随后从第二存储器引导系统,并且随后从第二存储器引导系统。
结合附图来阅读,本公开的这些和其他的特点将从下面对示例实施例的说明中变得非常明显。
附图说明
根据下面示例附图,本公开示教了用于执行嵌入系统的引导程序代码的方法和装置,其中:
图1示出了用于执行嵌入系统的引导程序代码的传统装置示意图;
图2示出了根据本公开的示例实施例,用于执行嵌入系统的引导程序代码的装置示意图;
图3示出了图2的模式解码器的示例实施例的逻辑图;
图4示出了在特定条件下图2的闪速存储器和ROM的存储器布置的存储器映射;
图5示出了根据本公开的另一示例实施例,用于执行嵌入系统的引导程序代码的装置示意图;
图6示出了根据本公开的示例实施例,用于执行嵌入系统的引导程序代码的方法的流程图;
图7示出了图2的模式解码器的另一个示例实施例的逻辑图;和
图8示出了根据本公开的另一示例实施例,用于执行嵌入系统的引导程序代码的装置示意图;
具体实施方式
当将系统交付给用户时,使用存储在诸如只读存储器(ROM)的第一存储器中的引导程序代码,来初始引导本公开的实施例。在初始引导之后,用户可以将用户的特定代码写入诸如闪速存储器的第二存储器。之后,可以使用存储在第二存储器中的用户引导程序代码来引导系统。即使存在第二存储器的损坏或擦除了引导程序代码的破坏,仍可以使用存储在第一存储器中的引导程序代码来引导系统。示例实施例提供了各种选择,用于控制如ROM和闪速存储器之间的引导模式。
如图2所示,通常使用标号200来指示示例装置,该示例装置用于执行嵌入系统的引导程序代码。装置200包括:中央处理单元(CPU)210,其用于接收内部复位信号,并且发布地址信号和指示将地址作为指令地址还是数据地址来处理的信号;与CPU连接的模式解码器220,用于发布翻译的地址信号以及ROM选择信号或闪速存储器选择信号;与解码器连接的只读存储器(ROM)230,用于接收翻译的地址和ROM选择信号;与解码器连接的闪速存储器240,用于接收翻译的地址和闪速存储器选择信号;以及与解码器连接的模式发生器250,用于接收翻译的地址。模式发生器包括:第一非易失存储器(NVM)单元251,用于存储指示选择ROM还是闪速存储器作为引导存储器的值;第二NVM单元252,用于存储指示ROM是可访问的还是隐藏的值。在替代实施例中,可以将模式发生器250合并到模式解码器220中。
转到图3,通常用标号220指示图2的模式解码器的示例模式解码部分。这里,模式解码部分包括:第一AND门221,用于接收BootAdd信号,其指示地址是否落在引导地址范围内;和指令/数据信号,其指示将地址内容当作指令还是数据来处理。由另一个AND门222来接收AND门221的输出。AND门222还接收BootMem模式信号,其指示使用位于ROM中还是闪速存储器中的引导程序代码。OR门223接收从AND门222的输出,接收指示输入地址的至少一个比特的信号,并且输出到AND门224。输入AND门224的另一个信号源于RomHidden模式信号,其指示是否禁止对ROM的访问,其随后经过NOT门225。AND门224的输出是ROM SEL信号,用于选择ROM作为输出地址的目的地。
还在AND门227处接收指示输入地址的至少一个比特的信号。由NOT门226接收AND门222的输出,其将它发送到AND门227的其他的输入。AND门227的输出是FM SEL信号,用于选择闪速储存器作为输出地址的目的地。
这样,为了取回引导程序指令,当模式发生器指示ROM不是隐藏的并且ROM是引导存储器时,为进行引导而启动ROM选择信号,而当模式存储器指示ROM是隐藏的或闪速存储器是引导存储器时,为引导启动闪速存储器信号。此外,从addr1到addr2的地址翻译使ROM和闪速存储器中的仅仅一个对应于引导地址指针或矢量的异常(Vectored Exception)指针的位置。是ROM或者闪速存储器的引导存储器包括引导地址指针或矢量的异常指针。为了取回非引导指令和访问数据,启动闪速存储器,而只在其不隐藏的情况下才启动ROM。
现在转到图4,通常由标号400来指示图2的装置200的存储器映射。ROM映射410包括ROM引导地址指针412,而闪速存储器映射420包括未初始化的引导地址指针422。这样,在使用制造商的代码的初始引导期间,使用存储在ROM映射410中的引导程序代码来引导系统。
另一个ROM映射450包括ROM引导地址452,而另一个闪速存储器映射460包括初始化的引导地址462。这样,在使用用户特定代码来引导的期间,使用存储在闪速存储器映射460中的引导程序代码来引导系统。
如图5所示,通常用标号300指示另一个示例装置,该装置用于执行嵌入系统的引导程序代码。装置300包括CPU 310、与CPU连接的模式解码器320、与解码器连接的ROM 330、与解码器连接的闪速存储器340、和与编码器连接的模式发生器350。模式发生器包括第一NVM单元351、第二NVM单元352、第三NVM353和第四NVM单元354。
转到图6,通常用标号600指示根据本公开的示例实施例的执行嵌入系统的引导程序代码的方法。方法600包括外部复位步骤610,如在加电时,其将控制交给模式信号读出步骤612。读出步骤612将控制交给解码器设置步骤614,其随后将控制交给内部复位步骤616,如在CPU启动时。步骤616将控制交给输出步骤618,以将引导地址输出给解码器,并且将控制交给决定步骤620。
决定步骤620确定解码结果选择哪个存储器,并且如果选择了ROM,则将控制交给取回步骤622,其中CPU从ROM取回指令。步骤622将控制交给步骤624,其将地址发送给ROM并且将控制交给步骤626。步骤626使用制造商的代码来进行引导,并且将控制交给写步骤628。写步骤628将用户特定的代码写入闪速存储器,并且将控制交给决定块630。决定块630检查模式设置信号,该信号用于设置如RomHidden、UserLock和/或RomHiddenLock模式。
如果在另一方面,决定步骤620确定是选择了闪速存储器,其将控制交给取回步骤632,其中CPU从闪速存储器取回指令。步骤632将控制交给步骤634,其将地址发送给闪速存储器并且将控制交给步骤636。步骤636使用用户特定的代码来进行引导,并且将控制交给决定块638。决定块638检查模式设置信号,该信号用于设置如RomHidden、UserLock和/或RomHiddenLock模式。
转到图7,通常用标号700指示一种替代实施例模式解码部分,该部分是根据图4的存储器映射的图2的模式解码器的解码部分。这里,模式解码器部分包括:NOT门710,用于接收CPU发布的地址的第20个最高有效比特,其与闪速存储器和ROM之间不同的地址比特对应;NOT门712,用于接收CPU发布的地址的第21个或更高的最高有效比特;AND门714,用于接收NOT门710和712的输出,并且输出指示地址是引导存储器地址的信号;AND门716,用于接收AND门714的输出以及从CPU来的指令/数据信号,该信号以高为指令而低为数据;AND门718,用于接收AND门716的输出以及从模式发生器来的BootMem模式信号;以及AND门720,用于接收AND门718的输出。NOT门722用于从模式发生器接收RomHidden模式信号,并且将反转的RomHidden信号作为第二输入提供给AND门720。AND门720的输出提供ROM选择信号ROM_SEL用于启动ROM。反相器724接收ROM_SEL信号并且将反转的信号作为闪速存储器选择信号FM_SEL输出用于启动闪速储存器。并且AND门726接收NOT门724的输出和NOT门710的输出,而NOT门728接收AND门726的输出并且提供翻译的地址比特,该地址比特与被作为引导存储器来使用的存储器的第20个最高有效比特对应,在这个情况下,其对于在0x80000开始的ROM地址是1,而其对在0x00000开始的闪速储存器地址是0。
这样,为了取回引导指令,当模式发生器指示ROM不是隐藏的并且ROM是引导存储器时,为引导启动ROM选择信号,而当模式发生器指示ROM是隐藏的并且闪速存储器是引导存储器时,为进行引导而启动闪速储存器信号。此外,使从CPU发布的地址addr1的第20比特到引导存储器地址addr2的第20比特的地址翻译使ROM和闪速储存器中的仅仅一个与引导地址指针和矢量的异常指针的位置对应。引导存储器(不论ROM还是闪速储存器)都包括引导地址指针和矢量的异常指针。为了取回非引导指令和为了访问数据,启动闪速存储器而同时只在ROM不隐藏时才启动ROM。
如图8所示,通常用标号800指示另一种示例装置,该装置用于执行嵌入系统的引导程序代码。装置800包括CPU 810、与CPU连接的模式解码器820、与解码器连接的ROM 830、与解码器连接的闪速存储器840、以及与编码器连接的模式发生器850。模式发生器包括第一NVM单元851、第二NVM单元852、第三NVM单元853以及第四NVM单元854。
在操作中,图2的第一或ROM存储器230存储引导程序代码,该代码用于初始化寄存器或存储器,并且存储基本库函数,用于擦除并且编程第二或闪速存储器240。当制造系统200时,由制造商在第一储存器230中写入引导程序代码。这里,不能擦除或再编程第一存储器,因为它是掩模型只读存储器。第二存储器240是可擦除的和可编程的NVM,通常是闪速存储器,并且初始为空。
模式发生器250包括两个NVM 251和252,用于存储模式,该模式确定选择ROM230和闪速储存器240中的哪个存储器。在本实施例中,闪速存储器的地址范围是从0x00000到0x4FFFF,ROM的地址范围是从0x80000到0x83FFF并且作为引导程序代码的索引地址的引导程序地址是0。
当制造系统时固定CPU 210指令的引导程序地址。在这种情况下,CPU可以试图读出在闪速存储器中的引导程序代码,但是闪速存储器初始为空,并且在使用之前需要使用ROM的引导程序代码进行初始化。
一旦将系统交付给用户,示例的操作流程如下进行:
1、由加电或复位管脚引起外部复位(EXT_RST)。
2、从模式发生器的两个NVM 251和252读出模式信号(BootMem,RomHidden)。
3、将模式信号输入到解码器220。开始,BootMem是逻辑高而RomHidden是逻辑低。这里,BootMem信号表示哪个存储器地址范围包括引导程序地址。在这个例子中,因为引导程序地址属于闪速存储器的范围,所以当制造系统时BootMem已经是逻辑高了。逻辑高的RomHidden信号防止CPU 210访问ROM。为了安全,在将用户特定的代码写入闪速存储器后,制造商的代码将不再在系统中使用。
4、响应于内部复位(INT_RST)CPU 210启动。
5、CPU将引导程序地址发送到解码器220。
6、解码器确定将引导程序地址发送到哪个存储器。即使引导程序地址属于闪速存储器地址范围,仍在第一次引导时将引导程序地址发送到ROM 230。
7、CPU取回存储在对应于引导程序地址的ROM地址中的指令。
8、CPU将与指令对应的地址(addr1)发送到解码器。
9、解码器将与地址(addr1)对应的地址(addr2)发送到ROM。
10、根据地址(addr2)指定的例程,CPU开始引导操作。
11、引导操作完成。这是制造商代码的引导操作。初始化了包括ROM和闪速存储器的存储器和寄存器,并且可以使用CPU和外部IO间的通讯。
12、CPU将存储在外部IO中的用户特定代码写入到闪速存储器240。
13、之后,用户可以改变两个NVM 251和252的值。当BootMem变为逻辑低时,由存储在闪速储存器中的用户代码来引导系统,而不是ROM。当RomHidden变为逻辑高时,CPU不能访问ROM。这防止了在系统中使用制造商的代码。
响应于外部复位,在CPU 210启动前设置BootMem和RomHidden。开始,BootMem是逻辑高而RomHidden是逻辑低。CPU 210将地址(addr1)和地址的类型(即,引导程序地址、指令或数据)输出到解码器。当addr1的类型是引导程序地址(BootAdd)和指令(INST)时,解码器激活ROM_SEL并且不激活(inactivate)FM_SEL。
解码器将从CPU来的addr1发送到ROM 230的addr2。使用存储在ROM中的引导程序代码来引导系统,该ROM具有制造商的代码。在初始引导和写入闪速存储器240后,用户可以改变BootMem为逻辑低。这样,解码器不激活ROM_SEL和激活FM_SEL。解码器将从CPU来的addr1发送到闪速储存器240的addr2。使用存储在闪速储存器中的引导程序代码来引导系统,该闪速储存器具有用户代码。
用户可以将RomHidden变为逻辑高。解码器不激活ROM_SEL直到RomHidden变为逻辑低。系统不能访问ROM。这防止了在系统中使用制造商的代码,并且针对后门(backdoor)保护了系统,比如,为了容易地维护系统程序或其他目的制造商故意植入的后门。
图5的示例的模式发生器350与图2的模式发生器250类似,但是还包括两个存储器353和354,用于存储锁定模式。两个存储器353和354仅仅是可编程NVM,通常是PROM。一旦被编程(例如,逻辑高),将不能擦除该存储器(例如,逻辑低)。UserLock信号使得系统能够仅仅使用闪速存储器340来引导。这防止了由于BootMem的错误变化,系统使用ROM330来引导。这里,用户仍可以访问ROM 330并且将库和程序复制到闪速储存器。
图3的模式解码器320使用从模式发生器350来的UserLock和RomHiddenLock模式,来防止对NVM的写访问,这些NVM分别具有BootMem和RomHidden模式。
RomHiddenLock信号永久地防止CPU 310访问ROM。这防止了由于RomHidden的错误变化,系统访问ROM 330。这里用户不能使用由制造商提供并存储在ROM中的库和程序。
图8的系统800与图5中的系统300的操作类似,但是使用模式发生器850来防止对NVM的写访问,该模式发生器850用于解释UserLock和RomHiddenLock模式,这些NVM分别具有BootMem和RomHidden模式。
虽然参照附图在这里描述了说明的实施例,应该理解本发明并不限于那些详细的实施例,在不偏离本发明的要旨和精神的情况下,本领域的普通技术人员可以实施各种变化和修改。所附权利要求中所述的本发明的范围试图包括所有的这样的修改和改变。

Claims (33)

1、一种存储器系统包括:
模式解码器;
第一存储器,其与模式解码器进行信号通讯;
第二存储器,其与模式解码器进行信号通讯;和
模式发生器,其与模式解码器进行信号通讯,并产生信号以指示选择第一和第二储存器中的一个作为引导存储器。
2、根据权利要求1所述的存储器系统,其中第一存储器是不可擦除存储器。
3、根据权利要求1所述的存储器系统,其中第二存储器是可擦除和可编程存储器。
4、根据权利要求1所述的存储器系统,第一和第二存储器中的至少一个包括内部地址解码器。
5、根据权利要求1所述的存储器系统,其中模式发生器产生信号,该信号指示防止对第一存储器的访问。
6、根据权利要求1所述的存储器系统,模式发生器包括多个非易失存储器单元用于存储模式,该模式中的至少一个指示选择第一和第二存储器中的至少一个。
7、根据权利要求6所述的存储器系统,模式发生器还包括至少一个锁定模式。
8、根据权利要求7所述的存储器系统,至少一个锁定模式包括要求存储器系统随后仅使用当前选择的存储器进行引导的锁定模式。
9、根据权利要求7所述的存储器系统,至少一个锁定模式包括用于防止存储器系统改变指示防止对第一存储器进行访问的模式的锁定模式。
10、根据权利要求6所述的存储器系统,其中模式发生器响应多个操作模式,操作模式的一个防止对所述锁定模式进行解锁定。
11、根据权利要求10所述的存储器系统,模式发生器还包括字线解码电路,该电路响应于指示锁定模式的信号、指示编程指令的信号、和指示擦除指令的信号,用于防止除锁定模式之外的模式的改变。
12、根据权利要求1所述的存储器系统,其中第一存储器是掩模ROM并且第二存储器是闪速存储器。
13、根据权利要求1所述的存储器系统,第一存储器包括引导程序代码和库函数。
14、根据权利要求6所述的存储器系统,其中多个非易失存储器单元中的至少一个用于存储一模式,该模式用于指示防止对第一存储器的访问。
15、根据权利要求14所述的存储器系统,其中指示选择第一和第二储存器中的至少一个的模式在开始时选择第一存储器,并且指示防止对第一存储器的访问的模式在开始允许对第一存储器的访问。
16、根据权利要求1所述的存储器系统,模式解码器包括:
指令/数据输入端,用于接收指令/数据信号;和
指令/数据解码部分,用于响应于所接收的指令/数据信号来选择第一和第二存储器之一。
17、根据权利要求16所述的存储器系统,模式解码器还包括引导程序地址输入端,用于接收引导程序地址信号,该信号指示所要求的存储器地址是否在引导程序地址的范围之内,其中指令/数据解码部分响应于引导程序地址信号。
18、根据权利要求17所述的存储器系统,模式解码器还包括,用于输出指示选择第一存储器的信号的输出端,和用于输出指示选择第二存储器的信号的输出端中的至少一个。
19、根据权利要求17所述的存储器系统,模式解码器还包括:
地址输入端,用于接收所要求存储器地址的至少一个比特;
输出端,用于提供指示选择第一存储器的信号;和
输出端,用于提供指示选择第二存储器的信号,
其中模式解码器响应于接收的所要求的存储器地址的至少一个比特。
20、根据权利要求16所述的存储器系统,模式解码器还包括引导程序存储器输入端,用于接收指示引导程序存储器模式的信号,其中指令/数据解码部分响应于引导程序存储器模式。
21、根据权利要求16所述的存储器系统,模式解码器还包括隐藏的模式输入端,用于接收指示被隐藏的存储器的信号,其中指令/数据解码部分响应于隐藏的模式。
22、一种单片微控制器,其包括权利要求1所述的存储器系统。
23、一种嵌入系统,其包括权利要求1所述的存储器系统。
24、根据权利要求23所述的嵌入系统,还包括与解码器进行信号通讯的至少一个处理器,该解码器用于仅仅根据模式发生器来访问存储器地址。
25、根据权利要求24所述的嵌入系统,其中在处理器读出模式发生器的模式前,模式发生器响应于用于稳定模式发生器的复位信号。
26、一种用于执行嵌入系统的引导程序代码的方法,该方法包括:
开始时从第一存储器引导系统;
编程第二存储器用于随后的引导;
编程模式发生器以随后从第二存储器来引导系统;和
随后从第二存储器来引导系统。
27、根据权利要求26所述的方法,还包括:
稳定模式发生器;
读出模式发生器的模式;和
仅仅根据模式发生器来访问存储器地址。
28、根据权利要求26所述的方法,还包括编程模式发生器来将系统锁定到从第二存储器进行引导。
29、根据权利要求26所述的方法,还包括编程模式发生器从而随后防止对第一存储器的访问。
30、根据权利要求26所述的方法,还包括编程模式发生器从而将系统锁定到防止对模式的改变,该模式指示允许或防止对第一存储器的访问。
31、根据权利要求30所述的方法,其中系统对任何软件后门都进行安全处理,否则该软件后门可以在第一存储器中实施。
32、根据权利要求26所述的方法,还包括:
编程模式发生器以随后从第一存储器引导系统;
再编程用于随后引导的第二存储器;
编程模式发生器以随后从再编程的第二存储器引导系统;和
随后从再编程的第二存储器来引导系统。
33、根据权利要求26所述的方法,还包括:
再编程模式发生器以随后从第一存储器重新引导系统;和
随后从第一存储器重新引导系统。
CNB200510082149XA 2004-07-03 2005-07-04 执行嵌入系统的引导程序代码的方法和装置 Active CN100517228C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020040051801A KR100604877B1 (ko) 2004-07-03 2004-07-03 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법
KR51801/04 2004-07-03
US11/050,477 2005-02-03

Publications (2)

Publication Number Publication Date
CN1734420A true CN1734420A (zh) 2006-02-15
CN100517228C CN100517228C (zh) 2009-07-22

Family

ID=36076865

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200510082149XA Active CN100517228C (zh) 2004-07-03 2005-07-04 执行嵌入系统的引导程序代码的方法和装置

Country Status (3)

Country Link
US (1) US7493484B2 (zh)
KR (1) KR100604877B1 (zh)
CN (1) CN100517228C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345456A (zh) * 2013-06-21 2013-10-09 烽火通信科技股份有限公司 调节BootLoader启动地址的电路及方法
CN111429961A (zh) * 2019-01-09 2020-07-17 力晶科技股份有限公司 补偿非易失存储元件编程时电荷流失与源极线偏置的方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7581678B2 (en) 2005-02-22 2009-09-01 Tyfone, Inc. Electronic transaction card
KR100784866B1 (ko) * 2006-12-13 2007-12-14 삼성전자주식회사 쓰기 시간을 줄일 수 있는 불 휘발성 메모리 장치 및그것을 포함한 메모리 카드
US9741027B2 (en) 2007-12-14 2017-08-22 Tyfone, Inc. Memory card based contactless devices
US20090282419A1 (en) * 2008-05-09 2009-11-12 International Business Machines Corporation Ordered And Unordered Network-Addressed Message Control With Embedded DMA Commands For A Network On Chip
US8451122B2 (en) 2008-08-08 2013-05-28 Tyfone, Inc. Smartcard performance enhancement circuits and systems
US20100033310A1 (en) * 2008-08-08 2010-02-11 Narendra Siva G Power negotation for small rfid card
US7961101B2 (en) 2008-08-08 2011-06-14 Tyfone, Inc. Small RFID card with integrated inductive element
US8231061B2 (en) 2009-02-24 2012-07-31 Tyfone, Inc Contactless device with miniaturized antenna
US10401961B2 (en) * 2009-06-09 2019-09-03 Immersion Corporation Method and apparatus for generating haptic effects using actuators
TWI497414B (zh) * 2009-06-23 2015-08-21 Phison Electronics Corp 檔案執行方法及系統
US8245024B2 (en) * 2009-08-21 2012-08-14 Micron Technology, Inc. Booting in systems having devices coupled in a chained configuration
US8429391B2 (en) 2010-04-16 2013-04-23 Micron Technology, Inc. Boot partitions in memory devices and systems
KR101094245B1 (ko) * 2010-05-25 2011-12-19 주식회사 씨앤엠마이크로 저전력소비와 pcb기판 단순화를 위한 셋탑박스 메인 디코더칩 구조
GB2493340A (en) * 2011-07-28 2013-02-06 St Microelectronics Res & Dev Address mapping of boot transactions between dies in a system in package
US10459735B2 (en) * 2015-11-04 2019-10-29 Texas Instruments Incorporated Scalable boot options for a processor/controller
US10979232B2 (en) * 2018-05-31 2021-04-13 Motorola Solutions, Inc. Method for provisioning device certificates for electronic processors in untrusted environments
US10430181B1 (en) * 2018-08-20 2019-10-01 Quanta Computer Inc. Retrieving updated firmware code

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5388267A (en) 1991-05-29 1995-02-07 Dell Usa, L.P. Method and apparatus for updating and restoring system BIOS functions while maintaining BIOS integrity
US5634079A (en) * 1992-05-15 1997-05-27 Zenith Data Systems Corporation System for providing for a parallel port with standard signals and a flash recovery mode with second predetermined signals redefining parallel port with alternate functions
US6182187B1 (en) * 1993-04-07 2001-01-30 Compaq Computer Corporation System ROM including a flash EPROM and a ROM for storing primary boot code replacing a block flash EPROM
JP2940480B2 (ja) 1996-07-05 1999-08-25 日本電気株式会社 コンピュータシステム
US5805882A (en) * 1996-07-19 1998-09-08 Compaq Computer Corporation Computer system and method for replacing obsolete or corrupt boot code contained within reprogrammable memory with new boot code supplied from an external source through a data port
JP3094924B2 (ja) 1996-10-31 2000-10-03 日本電気株式会社 通信装置制御回路
US5822243A (en) * 1997-09-09 1998-10-13 Macronix International Co., Ltd. Dual mode memory with embedded ROM
US5987605A (en) * 1998-02-28 1999-11-16 Hewlett-Packard Co. Methods and apparatus for dual-boot memory selection, update, and recovery in a programmable device
JP2000148594A (ja) * 1998-11-10 2000-05-30 Mitsubishi Electric Corp Romデータの読み出しプロテクト回路
JP3727485B2 (ja) 1999-04-02 2005-12-14 シャープ株式会社 不揮発性メモリ内蔵マイクロコンピュータ
JP2000293376A (ja) 1999-04-05 2000-10-20 Nec Corp ブートプログラムの切替回路及び切替方法
JP2000293375A (ja) * 1999-04-05 2000-10-20 Toshiba Information Systems (Japan) Corp オブジェクト指向計算機システム及びプログラムを記憶したコンピュータ読み取り可能な記憶媒体
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
US6687154B2 (en) * 2002-02-25 2004-02-03 Aplus Flash Technology, Inc. Highly-integrated flash memory and mask ROM array architecture
JP2004013719A (ja) 2002-06-10 2004-01-15 Fujitsu Ltd 多重化された不揮発性メモリの更新回路、及び多重化された不揮発性メモリの更新方法
US7111202B2 (en) * 2002-06-28 2006-09-19 Hewlett-Packard Development Company, L.P. Autonomous boot failure detection and recovery
JP2004038529A (ja) * 2002-07-03 2004-02-05 Nec Corp 情報処理装置
KR100744873B1 (ko) * 2002-08-20 2007-08-01 엘지전자 주식회사 컴퓨터 시스템에서의 펌웨어 기록방법
CN100337197C (zh) 2002-10-14 2007-09-12 华为技术有限公司 一种引导程序存储装置及其保障在线升级的方法
US7272709B2 (en) * 2002-12-26 2007-09-18 Micron Technology, Inc. Using chip select to specify boot memory
US7206971B2 (en) * 2003-04-07 2007-04-17 Lsi Logic Corporation Selectable and updatable computer boot memory

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345456A (zh) * 2013-06-21 2013-10-09 烽火通信科技股份有限公司 调节BootLoader启动地址的电路及方法
CN103345456B (zh) * 2013-06-21 2015-12-02 烽火通信科技股份有限公司 调节BootLoader启动地址的电路及方法
CN111429961A (zh) * 2019-01-09 2020-07-17 力晶科技股份有限公司 补偿非易失存储元件编程时电荷流失与源极线偏置的方法
CN111429961B (zh) * 2019-01-09 2022-03-22 力晶积成电子制造股份有限公司 补偿非易失存储元件编程时电荷流失与源极线偏置的方法

Also Published As

Publication number Publication date
KR100604877B1 (ko) 2006-07-31
US7493484B2 (en) 2009-02-17
CN100517228C (zh) 2009-07-22
KR20060002664A (ko) 2006-01-09
US20060005005A1 (en) 2006-01-05

Similar Documents

Publication Publication Date Title
CN1734420A (zh) 执行嵌入系统的引导程序代码的方法和装置
US10552311B2 (en) Recovery for non-volatile memory after power loss
KR100375217B1 (ko) 전기적으로 재기입 가능한 불휘발성 메모리를 구비하는마이크로컨트롤러
US7761653B2 (en) Flash micro-controller with shadow boot-loader SRAM for dual-device booting of micro-controller and host
US8391064B2 (en) Non-volatile memory with dynamic multi-mode operation
KR100493884B1 (ko) 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩
KR100895065B1 (ko) 리페어 데이터의 신뢰성을 높일 수 있는 플래시 메모리장치 및 그것의 리페어 방법
KR19990023469A (ko) 불휘발성 반도체 메모리의 제어방법
CN1905070A (zh) 能够存储多比特数据和单比特数据的闪存设备
US7580281B2 (en) Flash memory device with write protection
KR100385184B1 (ko) 컴퓨터 및 컴퓨터의 운영체계 정보 자동 설정 방법
US6704865B1 (en) Microprocessor conditional deterministic reset vector method
CN1253893C (zh) 一种引导用只读存储器的写保护实现方法
US6415371B1 (en) Storage system, storage device, storage medium controller, access device, method for protecting data, storage medium and computer data signal
JP2008158964A (ja) メモリ用アドレスマッピング方法、それを適用したメモリデバイス
US8296497B2 (en) Self-updating memory controller
US6442058B2 (en) Control circuit and semiconductor device including same
US7508730B2 (en) Semiconductor memory devices having control circuitry to avoid recovering a charge pump when executing consecutive sections of a continuous operation command and methods of operating the same
US20050055530A1 (en) Method and apparatus for protecting a specific memory section
CN1705041A (zh) 一种基于与非型闪存实现用户程序引导的方法
FR2872603A1 (fr) Procede et dispositif pour executer le code d'amorcage de systemes integres

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