亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

啟動引導程序的方法、裝置及cpu的制作方法

文檔序號:6504174閱讀:207來源:國知局
啟動引導程序的方法、裝置及cpu的制作方法
【專利摘要】本發(fā)明涉及電子通信領域,公開了一種啟動引導程序的方法、裝置及CPU。所述啟動boot程序的方法中,預先將boot程序存儲在nand flash中,并且,在中央處理器CPU中,設置有用于讀取boot程序的mini boot程序,所述mini boot程序能夠讀取所述nand flash中存儲的信息。在本方案中,首先根據mini boot程序,讀取存儲在nand flash中的boot程序,將讀取到的boot程序存儲至CPU對應的存儲空間中,并由CPU啟動所述存儲的boot程序。其中,nand flash的成本低,讀取速度快,從而解決了現有技術中在啟動boot程序時所具有的成本高、啟動慢的問題。
【專利說明】啟動引導程序的方法、裝置及CPU

【技術領域】
[0001]本發(fā)明涉及電子通信領域,特別是涉及一種啟動引導程序的方法、裝置及CPU。

【背景技術】
[0002]當前常用的flash (存儲器),即閃存主要包括三種:serial flash (串行閃存存儲器)、nor flash (并行閃存存儲器)和nand flash (資料儲存型閃存存儲器)。這三種flash具有各自的特點,其中,nor flash存儲數據穩(wěn)定且讀寫速度適中,不過它的價格隨著容量的增加而增加,價格較貴;serial flash存儲數據穩(wěn)定價格較低,但讀寫速度較慢,是nandflash的1/6左右;nand flash的讀寫速度較快,但是,不支持CPU (Central ProcessingUnit,中央處理器)對其地址空間的直接訪問。在嵌入式系統(tǒng)中,如果用戶觸發(fā)了某個應用程序,需要CPU啟動引導程序boot,再通過所述boot程序將用戶觸發(fā)的應用程序導入主存后,用戶才可以使用該應用程序。其中,所述boot程序預先存儲于flash存儲器中。
[0003]現有技術中,CPU通常有兩種方式啟動boot程序,其中一種方式是將boot程序存儲至nor flash中,CPU從所述nor flash中讀取boot程序并存儲至CPU對應的存儲空間,再由CPU根據讀取到的boot程序信息,啟動所述boot程序;另一種方式是將boot程序存儲至serial flash中,CPU從所述serial flash中讀取boot程序并存儲至CPU對應的存儲空間,再由CPU根據讀取到的boot程序信息,啟動所述boot程序。
[0004]但是,發(fā)明人在本申請的研究過程中發(fā)現,由于nor flash的價格較高,且價格隨著容量的增加而增加,采用第一種方式啟動boot程序時,需要的成本較高;采用第二種方式啟動boot程序時,由于serial flash的讀寫速度慢,因此啟動boot程序的速度較慢。


【發(fā)明內容】

[0005]有鑒于此,本發(fā)明的目的在于提供一種啟動boot程序的方法、裝置及CPU,與現有技術中的第一種方式相比,可以降低成本,并且與現有技術中的第二種方式相比,可以提高啟動boot程序的速度。具體實施方案如下:
[0006]一種啟動boot程序的方法,所述boot程序存儲在nand flash中,并且,在中央處理器CPU中設置有用于讀取所述boot程序的mini boot程序,所述啟動boot程序的方法包括:
[0007]根據所述mini boot程序,讀取存儲在所述nand flash中的所述boot程序;
[0008]將讀取到的所述boot程序存儲至與CPU對應的存儲空間中,并啟動所述存儲的boot程序。
[0009]優(yōu)選的,所述讀取存儲在nand flash中的boot程序,包括:
[0010]讀取預先加載在所述boot程序中的數據頭,以獲取所述數據頭中加載的boot程序的相關信息,所述相關信息包括:所述boot程序在所述nand flash中的開始地址,以及所述boot程序的容量;
[0011]根據所述boot程序的開始地址和容量,讀取存儲在所述nand flash中的所述boot程序。
[0012]優(yōu)選的,還包括:
[0013]根據啟動后的所述boot程序啟動相應的應用程序。
[0014]優(yōu)選的,所述應用程序存儲在所述nand flash中。
[0015]相應的,本發(fā)明還公開了一種啟動boot程序的裝置,所述boot程序存儲在nandflash中,并且,在中央處理器CPU中設置有用于讀取所述boot程序的mini boot程序,所述啟動boot程序的裝置包括:
[0016]讀取模塊,用于根據所述mini boot程序,讀取存儲在所述nand flash中的所述boot程序;
[0017]啟動模塊,用于將讀取到的所述boot程序存儲至與CPU對應的存儲空間中,并啟動所述存儲的boot程序。
[0018]優(yōu)選的,所述讀取模塊包括:
[0019]數據頭讀取單元,用于讀取預先加載在所述boot程序中的數據頭,以獲取所述數據頭中加載的boot程序的相關信息,所述相關信息包括:所述boot程序在所述nand flash中的開始地址,以及所述boot程序的容量;
[0020]boot程序讀取單元,用于根據所述boot程序的開始地址和容量,讀取存儲在所述nand flash中的所述boot程序。
[0021]優(yōu)選的,還包括:
[0022]應用程序啟動模塊,用于根據啟動后的所述boot程序啟動相應的應用程序。
[0023]相應的,本發(fā)明還公開了一種CPU,所述CPU的芯片中集成有用于讀取boot程序的mini boot程序,還包括:以上所述的讀取boot程序的裝置。
[0024]本發(fā)明所公開的啟動boot程序的方法中,預先將boot程序存儲在nand flash中,并且,在中央處理器CPU中,設置有用于讀取boot程序的mini boot程序,所述mini boot程序能夠讀取所述nand flash中存儲的信息。在本方案中,首先根據所述mini boot程序,讀取存儲在nand flash中的boot程序,繼而將讀取到的所述boot程序存儲至CPU對應的存儲空間中,從而使CPU根據讀取到的所述boot程序啟動應用程序。其中,所述nandflash的成本較低,且讀取速度快,根據mini boot程序,CPU能夠直接訪問nand flash,解決了現有技術中,在啟動boot程序時具有的成本高、讀取速度慢的問題。

【專利附圖】

【附圖說明】
[0025]為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0026]圖1為本發(fā)明實施例公開的了一種啟動boot程序的方法的工作流程示意圖;
[0027]圖2為本發(fā)明實施例公開的了一種啟動boot程序的方法中,讀取存儲在nandflash中的boot程序的工作流程示意圖;
[0028]圖3為本發(fā)明實施例公開的一種啟動boot程序的裝置的結構示意圖。

【具體實施方式】
[0029]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0030]為了解決現有技術在啟動boot程序時,第一種方式中存在的成本高,以及第二種方式中存在的啟動速度慢的問題,本發(fā)明公開了一種啟動boot程序的方法。其中,所述boot程序存儲在nand flash中,并且,在中央處理器CPU中設置有用于讀取所述boot程序的mini boot程序。參見圖1所示的工作流程示意圖,所述啟動boot程序的方法包括:
[0031]步驟S11、根據所述mini boot程序,讀取存儲在所述nand flash中的所述boot程序;
[0032]步驟S12、將讀取到的所述boot程序存儲至與CPU對應的存儲空間中,并啟動所述存儲的boot程序。
[0033]其中,所述與CPU對應的存儲空間通常采用的是SDRAM (同步動態(tài)隨機存儲器,Synchronous Dynamic Random Access Memory)。當然,也可以米用其他種類的存儲器,本發(fā)明對此不做限定。
[0034]本申請中,將待啟動的boot程序存儲在nand flash中,由于nand flash不支持CPU的直接訪問,因此,在CPU中設置用于讀取boot程序的mini boot程序。所述mini boot程序實際上是一個微型的boot程序,具備從nand flash中讀取數據,引導boot程序的功能。在啟動boot程序之前,根據不同的boot程序,預先設置相應的mini boot程序,并將其集成至CPU中。
[0035]本發(fā)明所公開的啟動boot程序的方法中,預先將boot程序存儲在nand flash中,并且,在中央處理器CPU中,設置有用于讀取boot程序的mini boot程序,所述mini boot程序能夠讀取所述nand flash中存儲的boot程序。在本方案中,首先根據所述mini boot程序,讀取存儲在nand flash中的boot程序,繼而將讀取到的所述boot程序存儲至CPU對應的存儲空間中,并啟動所述存儲的boot程序。其中,所述nand flash的成本較低,且讀取速度快,根據mini boot程序,CPU能夠直接訪問nand flash,且將mini boot程序集成在CPU中所需的費用低,解決了現有技術中,在啟動boot程序時具有的成本高、讀取速度慢的問題。
[0036]其中,所述mini boot程序是一個小型的引導程序,通常將其保存在CPU自帶的只讀存儲器中,其作用是引導存儲在nand flash中的boot程序。
[0037]boot程序為一種引導程序,當所述boot程序被CPU啟動后,才能夠啟動相應的應用程序。例如,Uboot即為一種廣泛應用的boot程序,能夠集成各種設備驅動,負責引導存儲于flash或其他設備中的應用程序。
[0038]進一步的,參見圖2所示的工作流程示意圖,在步驟Sll中所述的讀取存儲在nandflash中的boot程序的方法包括:
[0039]步驟S111、讀取預先加載在所述boot程序中的數據頭,以獲取所述數據頭中加載的boot程序的相關信息,所述相關信息包括:所述boot程序在所述nand flash中的開始地址,以及所述boot程序的容量;
[0040]步驟SI 12、根據所述boot程序的開始地址和容量,讀取存儲在所述nand flash中的所述boot程序。
[0041]在本方案中,mini boot程序根據不同的boot程序被預先設定并存儲在CPU中,所述mini boot程序一般存儲在CPU自帶的固定只讀存儲器內,這種情況下,所述mini boot程序將無法被改變或刪除,也就是說,所述mini boot程序為固化的程序,不易被更改,從而增加了系統(tǒng)的安全性。
[0042]另外,所述mini boot程序在讀取boot程序時,以數據塊為單位。為了使所述miniboot程序能夠識別已經燒錄在nand flash中的boot程序,所述boot程序中預先被加載了數據頭,所述數據頭為所述nand flash中的第一個數據塊。所述數據頭中包含有boot程序的相關信息,即所述boot程序在所述nand flash中的開始地址,和所述boot程序的容量。在利用所述mini boot程序讀取所述boot程序時,首先讀取所述boot程序的數據頭,獲取所述boot程序在所述nand flash中的開始地址和容量,再根據所述開始地址和容量,從nand flash讀取所述boot程序。
[0043]本方案中,通過所述mini boot程序讀取所述boot程序,并將讀取到的所述boot程序存儲至與CPU對應的存儲空間中,再由CPU啟動所述存儲的boot程序。其中所述nandflash的成本較低,且CPU根據mini boot程序從所述nand flash中讀取數據的速度較快。
[0044]另外,在步驟S12后,本發(fā)明所公開的啟動boot程序的方法還包括:根據啟動后的所述boot程序啟動相應的應用程序。進一步的,由于所述nand flash的成本低,通常將與所述boot程序相對應的應用程序也存儲在所述nand flash中。
[0045]相應的,本發(fā)明還公開了一種啟動boot程序的裝置,所述boot程序存儲在nandflash中,并且,在中央處理器CPU中設置有用于讀取boot程序的mini boot程序,參見圖3所示的結構示意圖,所述啟動boot程序的裝置包括:讀取模塊I和啟動模塊2,其中,
[0046]所述讀取模塊I,用于根據所述mini boot程序,讀取存儲在nand flash中的boot程序;
[0047]所述啟動模塊2,用于將讀取到的所述boot程序存儲至與CPU對應的存儲空間中,并啟動所述存儲的boot程序。
[0048]進一步的,所述讀取模塊I包括:數據頭讀取單元11和boot程序讀取單元12,其中,
[0049]所述數據頭讀取單元11,用于讀取預先加載在所述boot程序中的數據頭,以獲取所述數據頭中加載的boot程序的相關信息,所述相關信息包括:所述boot程序在所述nandflash中的開始地址,以及所述boot程序的容量;
[0050]所述boot程序讀取單元12,用于根據所述boot程序的開始地址和容量,讀取存儲在所述nand flash中的所述boot程序。
[0051]本發(fā)明所公開的啟動boot程序的裝置,包括讀取模塊和啟動模塊,在啟動boot程序時,由讀取模塊根據預先存儲在CPU中的mini boot程序,讀取存儲在nand flash中的boot程序,再通過啟動模塊將讀取到的所述boot程序存儲至與CPU對應的存儲空間,并啟動所述存儲的boot程序。其中,所述nand flash的成本較低,且讀取速度快,根據miniboot程序,CPU能夠直接訪問nand flash,解決了現有技術中,在啟動boot程序時具有的成本高、讀取速度慢的問題。
[0052]進一步的,本發(fā)明所公開的啟動boot程序的裝置,還包括:應用程序啟動模塊,所述應用程序啟動模塊用于根據啟動后的所述boot程序,啟動相應的應用程序。在本發(fā)明中,所述應用程序預先存儲至所述nand flash中。
[0053]相應的,本發(fā)明還公開了一種CPU,所述CPU的芯片中集成有用于讀取boot程序的mini boot程序,并且還集成有上述讀取boot程序的裝置,其中,所述讀取boot程序的裝置包括:讀取模塊I和啟動模塊2,并且,所述讀取模塊I包括數據頭讀取單元11和boot程序讀取單元12,進一步的,還可以包括應用程序啟動模塊。
[0054]本發(fā)明所公開的CPU,根據讀取模塊和啟動模塊,啟動存儲在nand flash中的boot程序。其中,所述CPU讀取的boot程序,存儲至nand flash中,而所述nand flash的成本較低,且讀取速度快。根據mini boot程序,CPU能夠直接訪問nand flash,成本低廉,啟動速度快,可以應用到各種嵌入式設備或者移動設備,如游戲機等,具有廣泛的應用前景。
[0055]本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發(fā)明的范圍。
[0056]所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0057]在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0058]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
[0059]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
[0060]所述功能如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。
[0061]對所公開的實施例的上述說明,使本領域專業(yè)技術人員能夠實現或使用本發(fā)明。對這些實施例的多種修改對本領域的專業(yè)技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
【權利要求】
1.一種啟動boot程序的方法,其特征在于,所述boot程序存儲在nand flash中,并且,在中央處理器CPU中設置有用于讀取所述boot程序的mini boot程序,所述啟動boot程序的方法包括: 根據所述mini boot程序,讀取存儲在所述nand flash中的所述boot程序; 將讀取到的所述boot程序存儲至與CPU對應的存儲空間中,并啟動所述存儲的boot程序。
2.根據權利要求1所述的方法,其特征在于,所述讀取存儲在nandflash中的boot程序,包括: 讀取預先加載在所述boot程序中的數據頭,以獲取所述數據頭中加載的boot程序的相關信息,所述相關信息包括:所述boot程序在所述nand flash中的開始地址,以及所述boot程序的容量; 根據所述boot程序的開始地址和容量,讀取存儲在所述nand flash中的所述boot程序。
3.根據權利要求1所述的方法,其特征在于,還包括: 根據啟動后的所述boot程序啟動相應的應用程序。
4.根據權利要求3所述的方法,其特征在于,所述應用程序存儲在所述nandflash中。
5.一種啟動boot程序的裝置,其特征在于,所述boot程序存儲在nand flash中,并且,在中央處理器CPU中設置有用于讀取所述boot程序的mini boot程序,所述啟動boot程序的裝置包括: 讀取模塊,用于根據所述mini boot程序,讀取存儲在所述nand flash中的所述boot程序; 啟動模塊,用于將讀取到的所述boot程序存儲至與CPU對應的存儲空間中,并啟動所述存儲的boot程序。
6.根據權利要求5所述的裝置,其特征在于,所述讀取模塊包括: 數據頭讀取單元,用于讀取預先加載在所述boot程序中的數據頭,以獲取所述數據頭中加載的boot程序的相關信息,所述相關信息包括:所述boot程序在所述nand flash中的開始地址,以及所述boot程序的容量; boot程序讀取單元,用于根據所述boot程序的開始地址和容量,讀取存儲在所述nandflash中的所述boot程序。
7.根據權利要求5所述的裝置,其特征在于,還包括: 應用程序啟動模塊,用于根據啟動后的所述boot程序啟動相應的應用程序。
8.—種CPU,其特征在于,所述CPU的芯片中集成有用于讀取boot程序的mini boot程序,還包括: 權利要求5和7任一項所述的讀取boot程序的裝置。
【文檔編號】G06F9/445GK104239077SQ201310232721
【公開日】2014年12月24日 申請日期:2013年6月13日 優(yōu)先權日:2013年6月13日
【發(fā)明者】陳明塑 申請人:北京賽科世紀數碼科技有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1