專利名稱:電子設(shè)備及其引導(dǎo)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種電子設(shè)備及其引導(dǎo)方法。更特別地,本發(fā)明涉及一種通過在啟動主存儲器前執(zhí)行以高級編程語言編寫的控制碼來執(zhí)行引導(dǎo)操作的電子設(shè)備、及其引導(dǎo)方法。
背景技術(shù):
圖1是顯示了傳統(tǒng)的電子設(shè)備的方框圖。參考圖1,電子設(shè)備100包括片上系統(tǒng)110、存儲器模塊120以及NAND閃存130。片上系統(tǒng)110包括中央處理單元(CPU)111、存儲器控制器112、I2C控制器113、NAND閃存控制器114、內(nèi)部RAM 115,以及系統(tǒng)總線116。存儲器模塊120包括DRAM 121以及串行存在檢測(SPD)122。
圖2是顯示了圖1的傳統(tǒng)電子設(shè)備的引導(dǎo)操作的流程圖,以及圖3是顯示了傳統(tǒng)的引導(dǎo)程序的存儲器映射的示例的視圖。
下文中,將參考圖1到圖3描述傳統(tǒng)的電子設(shè)備100的引導(dǎo)操作。
當(dāng)電子設(shè)備100的自引導(dǎo)開始時,在操作S210中NAND閃存控制器114將自動復(fù)制存儲在NAND閃存130中的引導(dǎo)映像到內(nèi)部RAM 115中。圖3顯示了引導(dǎo)映像。
在操作S220中,CPU 111通過執(zhí)行對應(yīng)于CPU 111的初始化的引導(dǎo)映像的控制碼而初始化提供到CPU 111中的環(huán)境設(shè)定寄存器。
在操作S230中,CPU 111通過執(zhí)行對應(yīng)于I2C控制器113的初始化的控制碼來初始化I2C控制器113。在操作S240中,CPU 111通過執(zhí)行對應(yīng)于SPD122的控制碼來從SPD 122中讀取關(guān)于存儲器模塊120的配置信息數(shù)據(jù)。在操作S250中,CPU通過初始化存儲器控制器112來啟動DRAM 121以便與使用所讀出的數(shù)據(jù)與存儲器模塊120相符。
在操作S260中CPU 111在已啟動的DRAM 121的區(qū)域內(nèi)設(shè)定堆棧指針。正如圖3所示的,使用DRAM 121的某一塊作為堆棧區(qū)域。在操作S270中,CPU 111通過執(zhí)行由C語言編寫、并且與LCD板的初始化相對應(yīng)的控制碼,來啟動液晶顯示(LCD)面板(未顯示)。最后,在操作S280中CPU 111完成了引導(dǎo)程序的執(zhí)行,以及然后開始執(zhí)行應(yīng)用程序。
根據(jù)上述傳統(tǒng)的引導(dǎo)過程,在啟動DRAM 121之前僅僅執(zhí)行基于匯編語言的控制碼,以通過堆棧指針在其中設(shè)定堆棧。因此,對應(yīng)于存儲器控制器112的初始化的控制碼必須基于匯編語言編寫,對于開發(fā)者這增加了直觀理解的難度。
如果電子設(shè)備是一個要求高容量和高速度存儲器的嵌入式系統(tǒng),那么為了實現(xiàn)系統(tǒng)擴展和容易設(shè)計的目的,電子設(shè)備使用商用存儲器模塊,而代替了使用直接安裝到片上系統(tǒng)的存儲器設(shè)備。為了使用商用存儲器模塊,初始化存儲器控制器不得不基于安裝在存儲器模塊中的EEPROM(下文中稱為串行存在檢測(SPD))中記錄的存儲器模塊的配置信息。
因此,在傳統(tǒng)的設(shè)備中,不得不基于匯編語言編寫初始化存儲器控制器的控制碼,以及,由于匯編語言命令依賴于CPU的型號而不同,因此不得不重新編寫控制程序以便適應(yīng)于CPU。
由于初始化和操作諸如LCD面板的顯示設(shè)備(未顯示)的設(shè)備驅(qū)動程序通常是以諸如C,C++和Java之類的高級編程語言編寫的,所以在通過從SPD讀取存儲器控制器初始化所必須的數(shù)據(jù)以便啟動DRAM區(qū)域之后才驅(qū)動設(shè)備驅(qū)動程序。然而,由于SPD使用了從10kbps到400kbps范圍內(nèi)的低傳送率的EEPROM,所以在系統(tǒng)加電后,為了初始化存儲器控制器和啟動DRAM區(qū)域,要求大量的時間。因此,用戶需要花費大量的時間以便經(jīng)由顯示設(shè)備確定系統(tǒng)的操作狀態(tài),以及經(jīng)常出現(xiàn)用戶錯誤地判斷系統(tǒng)未操作的情況。
因此,存在至少有效高效地改善引導(dǎo)操作的系統(tǒng)和方法的需要。
發(fā)明內(nèi)容
為了在相關(guān)領(lǐng)域充分地解決上述和其他問題已開發(fā)了本發(fā)明的實施例。因此,本發(fā)明的實施例的一個方面是提供了一種在啟動主存儲器前通過執(zhí)行以高級編程語言編寫的控制碼來執(zhí)行引導(dǎo)操作的電子設(shè)備,及其引導(dǎo)操作。
通過提供一種電子設(shè)備而實現(xiàn)了這些和/或其它的方面,所述電子設(shè)備包括記錄關(guān)于所述電子設(shè)備的引導(dǎo)映像的第一非易失性存儲器,以及控制在所述CPU和所述主存儲器之間數(shù)據(jù)輸入/輸出的主存儲器控制器。所述引導(dǎo)映像是如此配置的在內(nèi)部RAM中設(shè)定堆棧指針的控制碼比通過初始化所述主存儲器控制器來啟動所述主存儲器的控制碼被更早地執(zhí)行。
優(yōu)選地,但不是必然的,所述電子設(shè)備還包括第一存儲器控制器,當(dāng)所述電子設(shè)備的引導(dǎo)操作開始時,自動從所述第一非易失性存儲器中復(fù)制所述引導(dǎo)映像到所述內(nèi)部RAM中,以及控制所述引導(dǎo)映像由所述CPU執(zhí)行。
優(yōu)選地,但不是必然的,所述電子設(shè)備還包括顯示設(shè)備;以及所述引導(dǎo)映像還包括初始化所述顯示設(shè)備的控制碼。在所述內(nèi)部RAM中設(shè)定所述堆棧指針的控制碼和啟動所述主存儲器的控制碼之間執(zhí)行初始化所述顯示設(shè)備的控制碼。
優(yōu)選地,但不是必然的,所述電子設(shè)備還包括第二非易失性存儲器,以記錄所述主存儲器的配置信息數(shù)據(jù);以及第二存儲器控制器,以控制在所述CPU和所述第二非易失性存儲器之間的數(shù)據(jù)輸入/輸出。所述引導(dǎo)映像還包括用來初始化第二存儲器控制器和從第二非易失性存儲器中讀取所述主存儲器的配置信息數(shù)據(jù)的控制碼。在所述內(nèi)部RAM中設(shè)定所述堆棧指針的控制碼和啟動所述主存儲器的控制碼之間執(zhí)行初始化所述第二存儲器控制器以及讀取配置信息數(shù)據(jù)的控制碼。
優(yōu)選地,但不是必然的,所述CPU使用初始化所述主存儲器控制器的控制碼和讀出的主存儲器的配置信息數(shù)據(jù)來初始化所述主存儲器控制器以及在所述主存儲器中設(shè)定所述堆棧指針。
優(yōu)選地,但不是必然的,初始化所述主存儲器控制器的控制碼、初始化所述顯示設(shè)備的控制碼、以及讀取所述主存儲器的配置信息數(shù)據(jù)的控制碼中的至少一個是以高級編程語言編寫的。
優(yōu)選地,但不是必然的,所述高級編程語言包括C、C++和Java中的一種。
優(yōu)選地,但不是必然的,所述第一非易失性存儲器包括NAND閃存和EEPROM中的一種,以及所述第二非易失性存儲器是EEPROM。
優(yōu)選地,但不是必然的,所述第二存儲器控制器包括I2C控制器。
通過提供一種電子設(shè)備的引導(dǎo)方法也可以實現(xiàn)這些和/或其它的方面,所述電子設(shè)備包括CPU、內(nèi)部RAM、主存儲器、用來控制在所述CPU和所述主存儲器之間的數(shù)據(jù)輸入/輸出的主存儲器控制器、以及記錄引導(dǎo)映像的第一非易失性存儲器。所述方法包括以下步驟當(dāng)所述電子設(shè)備的引導(dǎo)操作開始時,從所述第一非易失性存儲器中復(fù)制所述引導(dǎo)映像到內(nèi)部RAM中;通過執(zhí)行在所述引導(dǎo)映像的控制碼中設(shè)定所述堆棧指針的控制碼來在所述內(nèi)部RAM中設(shè)定堆棧指針;以及通過執(zhí)行在所述引導(dǎo)映像的控制碼中初始化所述主存儲器控制器和啟動所述主存儲器的控制碼來啟動所述主存儲器;初始化所述主存儲器控制器并且啟動所述主存儲器的控制碼使用所述堆棧指針。
優(yōu)選地,但不是必然的,所述方法還包括步驟通過執(zhí)行在所述引導(dǎo)映像的控制碼中初始化所述顯示設(shè)備的控制碼來初始化所述顯示設(shè)備,在所述堆棧指針設(shè)定步驟與所述主存儲器啟動步驟之間執(zhí)行初始化所述顯示設(shè)備的所述控制碼。
優(yōu)選地,但不是必然的,所述方法還包括通過執(zhí)行在所述引導(dǎo)映像的控制碼中從第二非易失性存儲器中讀取配置信息數(shù)據(jù)的控制碼來讀取所述配置信息數(shù)據(jù)。在所述堆棧指針設(shè)定步驟與所述主存儲器啟動步驟之間執(zhí)行讀取配置信息數(shù)據(jù)的所述控制碼,以及所述主存儲器啟動步驟使用所讀取的配置信息數(shù)據(jù)來初始化所述主存儲器控制器并且啟動所述主存儲器。
優(yōu)選地,但不是必然的,所述方法還包括在已啟動的主存儲器中設(shè)定堆棧指針的步驟。
結(jié)合伴隨的附圖,從下面實施例的描述中,本發(fā)明的實施例的這些和/或其它的方面將更加明顯和更容易理解,其中圖1是顯示傳統(tǒng)的電子設(shè)備的方框圖;圖2是顯示圖1所示的傳統(tǒng)的電子設(shè)備的引導(dǎo)操作的流程圖;圖3是顯示傳統(tǒng)引導(dǎo)程序的存儲器映射的視圖;圖4是顯示根據(jù)本發(fā)明實施例的示范性電子設(shè)備的方框圖;圖5是顯示根據(jù)本發(fā)明實施例的引導(dǎo)程序的示范性存儲器映射的視圖;以及圖6是顯示圖4所示的電子設(shè)備的示范性引導(dǎo)操作的流程圖。
在附圖中,類似的附圖標(biāo)記應(yīng)該理解為指類似的零件、元件和結(jié)構(gòu)。
具體實施例方式
下面將參照附圖詳細地描述本發(fā)明的各實施例。
圖4是根據(jù)本發(fā)明實施例的示范性電子設(shè)備的方框圖。
參考圖4,根據(jù)本發(fā)明實施例的電子設(shè)備400包括片上系統(tǒng)410、存儲器模塊420、第一非易失性存儲器430、以及顯示設(shè)備440。片上系統(tǒng)410包括CPU 411、主存儲器控制器412、第一存儲器控制器414、第二存儲器控制器413、內(nèi)部RAM 415、顯示設(shè)備控制器416、以及系統(tǒng)總線417。存儲器模塊420包括主儲器421和第二非易失性存儲器422。
CPU 411解譯程序命令以便執(zhí)行命令。更特別地,CPU 411通過使用包括在引導(dǎo)映像中的數(shù)據(jù)和記錄在第二非易失性存儲器422中的主存儲器421的配置信息數(shù)據(jù)來執(zhí)行引導(dǎo)映像的控制碼,以控制引導(dǎo)電子設(shè)備400。
主存儲器控制器412控制在CPU 411和主存儲器421之間的數(shù)據(jù)輸入/輸出。
第一存儲器控制器414控制在CPU 411和第一非易失性存儲器430之間的數(shù)據(jù)輸入/輸出。
第二存儲器控制器413控制在CPU 411和第二非易失性存儲器422之間的數(shù)據(jù)輸入/輸出,以及經(jīng)由串行時鐘(SCL)和串行數(shù)據(jù)鏈路(SDL)在第二非易失性存儲器422和CPU 411之間執(zhí)行I2C通訊。
顯示設(shè)備控制器416根據(jù)由CPU 411執(zhí)行的命令來控制顯示設(shè)備440。
內(nèi)部RAM 415作為CPU 411、主存儲器421、或第一非易失性存儲器430的高速緩存,并且通過例如諸如SRAM的存儲器元件來實施。更特別地,當(dāng)與電子設(shè)備400相對應(yīng)的引導(dǎo)操作開始時,內(nèi)部RAM 415在第一存儲器控制器414的控制下從第一非易失性存儲器430復(fù)制引導(dǎo)映像。在啟動主存儲器421前,臨時使用內(nèi)部RAM 415的某一區(qū)域作為堆棧。因此,即使堆棧指針沒有被設(shè)定在主存儲器421中,也可能執(zhí)行由諸如C、C++和Java之類的高級編程語言編寫的控制碼。
系統(tǒng)總線417跨接在片上系統(tǒng)410中布置的各個部件。存儲器模塊420包括主存儲器421和第二非易失性存儲器422。主存儲器421可以通過DRAM實施,以及第二非易失性存儲器422記錄關(guān)于主存儲器421的配置信息數(shù)據(jù),諸如主存儲器421的尺寸、配置和時序等信息,以及例如可以通過EEPROM而實施。通常,安裝在存儲器模塊420中并且記錄關(guān)于主存儲器421的配置信息數(shù)據(jù)的存儲器元件叫做“串行存在檢測”(SPD)。
第一非易失性存儲器430記錄用于電子設(shè)備400的引導(dǎo)操作所必需的控制碼和具有數(shù)據(jù)結(jié)構(gòu)的引導(dǎo)映像,以及使用例如NAND閃存或EEPROM。
顯示設(shè)備440顯示電子設(shè)備400的操作狀態(tài)或由電子設(shè)備400實現(xiàn)的圖像,以及可以由例如LCD面板來實施。
根據(jù)本發(fā)明的實施例,引導(dǎo)映像是如此配置的在內(nèi)部RAM 415中設(shè)定堆棧指針的控制碼比通過初始化主存儲器控制器412而啟動主存儲器421的控制碼更早地由CPU 411執(zhí)行。因此,正如圖5所示的,在主存儲器421中設(shè)定堆棧區(qū)域前,使用CPU 411的堆棧指針,在內(nèi)部RAM 415中設(shè)定臨時堆棧區(qū)域。
因此,執(zhí)行了以高級編程語言編寫的控制碼,以及因此可能在啟動主存儲器421前而操作顯示設(shè)備440。此外,由于在啟動主存儲器421前執(zhí)行初始化第二存儲器控制器413的控制碼和為從第二非易失性存儲器422中讀取主存儲器421的配置信息數(shù)據(jù)的控制碼,因此這些控制碼能夠以高級編程語言編寫而代替了匯編語言。
圖6是顯示了根據(jù)本發(fā)明的實施例的電子設(shè)備的示范性引導(dǎo)操作的流程圖。
參考圖4到圖6,在操作S610中,當(dāng)電子設(shè)備400的自引導(dǎo)開始時,第一存儲器控制器414控制存儲在第一非易失性存儲器430中的引導(dǎo)映像以使其自動地被復(fù)制到內(nèi)部RAM 415中。
在操作S620中,CPU 411通過執(zhí)行已復(fù)制到內(nèi)部RAM 415中的引導(dǎo)映像中的初始化CPU 411的控制碼,以初始化在CPU 411中的環(huán)境設(shè)定寄存器。
在操作S630中,CPU 411通過執(zhí)行在內(nèi)部RAM 415中設(shè)定堆棧指針的控制碼,在內(nèi)部RAM 415中建立臨時的堆棧區(qū)域,如圖5所示。圖5是顯示根據(jù)本發(fā)明實施例的引導(dǎo)程序的示范性存儲器映射的視圖。至此,由于能使用CPU 411的堆棧指針,所以以高級編程語言編寫的控制碼能夠由CPU 411執(zhí)行。
在操作S640中,CPU 411使用在內(nèi)部RAM中設(shè)定的堆棧指針來執(zhí)行以高級編程語言編寫的、初始化顯示設(shè)備440的控制碼。因此,用戶能夠經(jīng)由顯示設(shè)備440直觀地檢查電子設(shè)備400的操作狀態(tài)。
在操作S650中,CPU 411通過執(zhí)行初始化第二存儲器控制器413的控制碼來初始化第二存儲器控制器413。在操作S660中,CPU 411通過執(zhí)行以高級編程語言編寫的、讀取主存儲器421的配置信息數(shù)據(jù)的控制碼,來讀取主存儲器421的配置信息數(shù)據(jù)。
在操作S670中,CPU 411使用所讀取的主存儲器的配置信息數(shù)據(jù),通過執(zhí)行以高級編程語言編寫的、初始化主存儲器控制器412的控制碼,來啟動主存儲器421。
在操作S680中,CPU 411在已啟動的主存儲器412的區(qū)域內(nèi)設(shè)定堆棧指針,以及因此能夠使用主存儲器421的某一塊作為堆棧區(qū)域。最后,在操作S690中,CPU 411完成引導(dǎo)操作并且開始執(zhí)行應(yīng)用程序。
根據(jù)本發(fā)明的實施例,在內(nèi)部RAM 415中設(shè)定臨時堆棧區(qū)域,從而在啟動要求大量時間啟動的主存儲器421前,能夠執(zhí)行以高級編程語言編寫的控制碼。
由于為了啟動主存儲器421而從SPD中讀取主存儲器421的配置信息數(shù)據(jù)的控制碼和初始化主存儲器控制器412的控制碼都是用諸如C、C++和Java之類的、對于開發(fā)者容易直觀理解的高級編程語言而非使用匯編語言開發(fā)的,所以使任何調(diào)試變得容易,并且可以減少開發(fā)時間。由于以高級編程語言而非以匯編語言編寫控制碼,所以同樣的控制碼能夠在不同的CPU上使用。
由于能夠在啟動主存儲器420前驅(qū)動顯示設(shè)備400,它能滿足用戶快速驅(qū)動時間的需求。
前述的實施例和優(yōu)點僅僅是示范性的,而不應(yīng)該被理解為限定本發(fā)明。本示教能夠容易地實施到其它類型的設(shè)備。本發(fā)明的實施例的描述是用來說明的,而不是限定權(quán)利要求的范圍,以及本領(lǐng)域技術(shù)人員將理解這里可以做出很多替代、修改和變化。
權(quán)利要求
1.一種電子設(shè)備,包括CPU;與所述CPU通訊的內(nèi)部RAM;與所述CPU通訊的主存儲器;與所述CPU通訊的第一非易失性存儲器,以記錄關(guān)于所述電子設(shè)備的引導(dǎo)映像;以及與所述CPU通訊的主存儲器控制器,以控制在所述CPU和所述主存儲器之間的數(shù)據(jù)輸入/輸出,其中所述引導(dǎo)映像是如此配置的在所述內(nèi)部RAM中設(shè)定堆棧指針的控制碼比通過初始化所述主存儲器控制器而啟動所述主存儲器的控制碼被更早地執(zhí)行。
2.根據(jù)權(quán)利要求1所述的電子設(shè)備,還包括第一存儲器控制器,當(dāng)所述電子設(shè)備的引導(dǎo)操作開始時,自動從所述第一非易失性存儲器中復(fù)制所述引導(dǎo)映像到所述內(nèi)部RAM中,以及控制所述引導(dǎo)映像由所述CPU執(zhí)行。
3.根據(jù)權(quán)利要求1所述的電子設(shè)備,還包括顯示設(shè)備,其中所述引導(dǎo)映像還包括初始化所述顯示設(shè)備的控制碼,在所述內(nèi)部RAM中設(shè)定所述堆棧指針的控制碼和啟動所述主存儲器的控制碼之間執(zhí)行初始化所述顯示設(shè)備的所述控制碼。
4.根據(jù)權(quán)利要求1所述的電子設(shè)備,還包括第二非易失性存儲器,用來記錄所述主存儲器的配置信息數(shù)據(jù);以及第二存儲器控制器,用來控制在所述CPU和所述第二非易失性存儲器之間的數(shù)據(jù)輸入/輸出,其中所述引導(dǎo)映像還包括初始化所述第二存儲器控制器并且從所述第二非易失性存儲器中讀取所述主存儲器的配置信息數(shù)據(jù)的控制碼,在所述內(nèi)部RAM中設(shè)定所述堆棧指針的控制碼和啟動所述主存儲器的控制碼之間執(zhí)行初始化第二存儲器控制器并且讀取配置信息數(shù)據(jù)的所述控制碼。
5.根據(jù)權(quán)利要求4所述的電子設(shè)備,其中,所述CPU是如此配置的使用初始化所述主存儲器控制器的控制碼和所讀取的主存儲器的配置信息數(shù)據(jù),初始化所述主存儲器控制器和在所述主存儲器中設(shè)定所述堆棧指針。
6.根據(jù)權(quán)利要求3所述的電子設(shè)備,其中,初始化所述主存儲器控制器的控制碼、初始化所述顯示設(shè)備的控制碼、以及讀取所述主存儲器的配置信息數(shù)據(jù)的控制碼中的至少一個是以高級編程語言編寫的。
7.根據(jù)權(quán)利要求4所述的電子設(shè)備,其中,初始化所述主存儲器控制器的控制碼、初始化所述顯示設(shè)備的控制碼、以及讀取所述主存儲器的配置信息數(shù)據(jù)的控制碼中的至少一個是以高級編程語言編寫的。
8.根據(jù)權(quán)利要求6所述的電子設(shè)備,其中,所述高級編程語言包括C、C++和Java中的一種。
9.根據(jù)權(quán)利要求7所述的電子設(shè)備,其中,所述高級編程語言包括C、C++和Java中的一種。
10.根據(jù)權(quán)利要求1所述的電子設(shè)備,其中,所述第一非易失性存儲器包括NAND閃存和EEPROM中的至少一種。
11.根據(jù)權(quán)利要求4所述的電子設(shè)備,其中,所述第二非易失性存儲器包括EEPROM。
12.根據(jù)權(quán)利要求4所述的電子設(shè)備,其中,所述第二存儲器控制器包括I2C控制器。
13.一種電子設(shè)備的引導(dǎo)方法,所述電子設(shè)備包括CPU、內(nèi)部RAM、主存儲器、控制在所述CPU和所述主存儲器之間的數(shù)據(jù)輸入/輸出的主存儲器控制器、以及用于記錄引導(dǎo)映像的第一非易失性存儲器,所述方法包括當(dāng)所述電子設(shè)備的引導(dǎo)操作開始時,從所述第一非易失性存儲器中復(fù)制所述引導(dǎo)映像到所述內(nèi)部RAM;通過執(zhí)行在所述引導(dǎo)映像的控制碼中設(shè)定所述堆棧指針的控制碼來在所述內(nèi)部RAM中設(shè)定堆棧指針;以及通過執(zhí)行在所述引導(dǎo)映像的控制碼中初始化所述主存儲器控制器和啟動所述主存儲器的控制碼來啟動所述主存儲器,初始化所述主存儲器控制器和啟動所述主存儲器的控制碼使用所述堆棧指針。
14.根據(jù)權(quán)利要求13所述的方法,還包括通過執(zhí)行在所述引導(dǎo)映像的控制碼中初始化所述顯示設(shè)備的控制碼來初始化所述顯示設(shè)備,在所述堆棧指針設(shè)定步驟與所述主存儲器啟動步驟之間執(zhí)行初始化所述顯示設(shè)備的所述控制碼。
15.根據(jù)權(quán)利要求13所述的方法,還包括通過執(zhí)行在所述引導(dǎo)映像的控制碼中初始化第二存儲器控制器以便從第二非易失性存儲器中讀取配置信息數(shù)據(jù)的控制碼來讀取所述配置信息數(shù)據(jù),在所述堆棧指針設(shè)定步驟和所述主存儲器啟動步驟之間執(zhí)行讀取配置信息數(shù)據(jù)的控制碼,其中,所述主存儲器啟動步驟使用所讀取的配置信息數(shù)據(jù)來初始化所述主存儲器控制器以及啟動所述主存儲器。
16.根據(jù)權(quán)利要求15所述的方法,還包括在已啟動的主存儲器中設(shè)定堆棧指針。
17.根據(jù)權(quán)利要求14所述的方法,其中,初始化所述主存儲器控制器的控制碼、初始化所述顯示設(shè)備的控制碼、以及讀取所述主存儲器的配置信息數(shù)據(jù)的控制碼中的至少一個是以高級編程語言編寫的。
18.根據(jù)權(quán)利要求15所述的方法,其中,初始化所述主存儲器控制器的控制碼、初始化所述顯示設(shè)備的控制碼、以及讀取所述主存儲器的配置信息數(shù)據(jù)的控制碼中的至少一個是以高級編程語言編寫的。
19.根據(jù)權(quán)利要求17所述的方法,其中,所述高級編程語言包括C、C++和Java中的一種。
20.根據(jù)權(quán)利要求18所述的方法,其中,所述高級編程語言包括C、C++和Java中的一種。
21.根據(jù)權(quán)利要求13所述的方法,其中,所述第一非易失性存儲器包括NAND閃存和EEPROM中的至少一種。
22.根據(jù)權(quán)利要求15所述的方法,其中,所述第二非易失性存儲器包括EEPROM。
23.根據(jù)權(quán)利要求15所述的方法,其中,所述第二存儲器控制器包括I2C控制器。
全文摘要
本發(fā)明提供一種電子設(shè)備及其引導(dǎo)方法,其中所述方法包括以下步驟當(dāng)所述電子設(shè)備的引導(dǎo)操作開始時,從第一非易失性存儲器中復(fù)制所述引導(dǎo)映像到所述內(nèi)部RAM中;通過執(zhí)行在所述引導(dǎo)映像的控制碼中設(shè)定堆棧指針的控制碼來在所述內(nèi)部RAM中設(shè)定堆棧指針;以及通過執(zhí)行在所述引導(dǎo)映像的控制碼中初始化所述主存儲器控制器和啟動所述主存儲器的控制碼來啟動所述主存儲器;初始化所述主存儲器控制器和啟動所述主存儲器的所述控制碼使用所述堆棧指針。因此,由于初始化所述主存儲器控制器以便啟動所述主存儲器的所述控制碼是以高級編程語言而非匯編語言編寫的,因此在啟動所述主存儲器前能夠驅(qū)動所述顯示設(shè)備。
文檔編號G06F9/445GK1869936SQ20061008454
公開日2006年11月29日 申請日期2006年5月25日 優(yōu)先權(quán)日2005年5月25日
發(fā)明者李相亨 申請人:三星電子株式會社