一種加快嵌入式產(chǎn)品開機(jī)界面顯示的方法
【專利摘要】本發(fā)明公開了一種加快嵌入式產(chǎn)品開機(jī)界面顯示的方法,包括啟動(dòng)boot程序,boot程序?qū)?nèi)存進(jìn)行掃描測試;boot程序初始化LCD接口模塊,并顯示LOGO;boot程序?qū)?nèi)核程序讀取到內(nèi)存中;boot使用既定啟動(dòng)參數(shù)啟動(dòng)內(nèi)核;內(nèi)核加載LCD驅(qū)動(dòng),刪除“顯示LOGO操作”;內(nèi)核加載其他驅(qū)動(dòng)直至啟動(dòng)完成。本發(fā)明是在boot程序運(yùn)行階段實(shí)現(xiàn)LOGO顯示。因此,相對于在內(nèi)核運(yùn)行階段實(shí)現(xiàn)LOGO顯示的傳統(tǒng)開機(jī)顯示方法,本發(fā)明能夠加快開機(jī)界面的顯示。
【專利說明】-種加快嵌入式產(chǎn)品開機(jī)界面顯示的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種信息處理方法,特別涉及一種加快嵌入式產(chǎn)品開機(jī)界面顯示的方 法。
【背景技術(shù)】
[0002] 嵌入式產(chǎn)品的軟件在產(chǎn)品供電后將依次運(yùn)行W下流程;boot程序,內(nèi)核系統(tǒng),力口 載根文件系統(tǒng)和運(yùn)行應(yīng)用程序。
[0003] 對于具備UI(用戶界面)交互能力的嵌入式產(chǎn)品,往往需要在開機(jī)階段在顯示屏 上顯示特定的LOGO(圖標(biāo)),且對該個(gè)LOGO的顯示要求是在開機(jī)之后越快越好。
[0004] 傳統(tǒng)嵌入式產(chǎn)品的系統(tǒng)啟動(dòng)過程中與LOGO顯示相關(guān)的操作流程圖如圖1所示,包 括如下步驟:
[0005]S1.啟動(dòng)boot程序,boot程序?qū)?nèi)存進(jìn)行掃描測試;
[0006]S2.boot程序?qū)?nèi)核程序讀取到內(nèi)存中;
[0007]S3,boot使用既定啟動(dòng)參數(shù)啟動(dòng)內(nèi)核;
[000引 S4.內(nèi)核加載LCD(液晶顯示器)驅(qū)動(dòng),顯示LOGO;
[0009]S5.內(nèi)核加載其他驅(qū)動(dòng)直至啟動(dòng)完成。
[0010] 可見,現(xiàn)有的嵌入式產(chǎn)品(如WinCE、嵌入式Linux等系統(tǒng)),都是在內(nèi)核系統(tǒng)啟動(dòng) 后盡快實(shí)現(xiàn)LOGO的顯示,該種機(jī)制導(dǎo)致LOGO顯示對于產(chǎn)品上電后總是有一定的滯后,且滯 后時(shí)間直接取決于系統(tǒng)所選用的boot程序類型(如u-boot、e-boot、bootlets等)。
【發(fā)明內(nèi)容】
[0011] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)之不足,提供一種加快嵌入式產(chǎn)品開機(jī)界面顯示 的方法,通過將現(xiàn)有技術(shù)中在內(nèi)核運(yùn)行階段實(shí)現(xiàn)LOGO顯示改為在boot程序運(yùn)行階段實(shí)現(xiàn) LOGO顯示,加快開機(jī)界面的顯示。
[0012] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是;一種加快嵌入式產(chǎn)品開機(jī)界面顯示 的方法,包括:
[0013] 1)啟動(dòng)boot程序,boot程序?qū)?nèi)存進(jìn)行掃描測試;
[0014] 2)boot程序初始化LCD接口模塊,并顯示LOGO;
[0015] 3)boot程序?qū)?nèi)核程序讀取到內(nèi)存中;
[0016] 4)boot使用既定啟動(dòng)參數(shù)啟動(dòng)內(nèi)核;
[0017]W內(nèi)核加載LCD驅(qū)動(dòng),刪除"顯示LOGO操作";
[0018]6)內(nèi)核加載其他驅(qū)動(dòng)直至啟動(dòng)完成。
[0019] 所述boot程序是采用bootlets、u-boot、e-boot中的其中一種。
[0020] 所述內(nèi)核是采用嵌入式Linux系統(tǒng)內(nèi)核或WinCE內(nèi)核。
[0021] 步驟2)中,boot程序初始化LCD接口模塊并顯示LOGO的具體過程包括如下步驟:
[0022] A.設(shè)置LCD的像素格式和接口時(shí)鐘,對CPU的LCD接口模塊進(jìn)行初始化和啟動(dòng);
[0023] B.根據(jù)boot程序中的LOGO圖像數(shù)據(jù),在內(nèi)存中為LOGO圖像分配一個(gè)第一緩存;
[0024] C.設(shè)置LCD接口的DM相關(guān)寄存器,為所述第一緩存與LCD接口之間創(chuàng)建DMA(直 接內(nèi)存存?。┩ǖ溃?br>
[0025] D.將LOGO圖像數(shù)據(jù)讀取到所述第一緩存,LCD接口和DMA通道將所述第一緩存的 圖像輸出到LCD屏上顯示。
[0026] 步驟A中,所述像素格式包括有效列數(shù)、有效行數(shù)、列同步脈沖數(shù)和行同步脈沖 數(shù)。
[0027] 步驟B中,所述LOGO圖像數(shù)據(jù)是將LOGO位圖通過初始化的靜態(tài)數(shù)組的形式編譯 到boot程序中的。
[0028] 步驟C中,所述設(shè)置LCD接口的DMA相關(guān)寄存器包括設(shè)置LCD接口為Master(主) 模式、設(shè)置當(dāng)前峽和下一峽的地址。
[0029] 步驟扣中,boot程序?qū)?nèi)核程序讀取到內(nèi)存中之前,所述內(nèi)核程序保存在 flash(閃存)或tf化(簡單文件傳輸協(xié)議)。
[0030] 步驟5)中,內(nèi)核加載LCD驅(qū)動(dòng)包括重新配置CPU的LCD接口模塊相關(guān)寄存器、創(chuàng) 建LCD驅(qū)動(dòng)和接口W供應(yīng)用層使用。
[0031] 由上述對本發(fā)明的描述可知,與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果:
[0032] 本發(fā)明的一種加快嵌入式產(chǎn)品開機(jī)界面顯示的方法通過將現(xiàn)有技術(shù)中在內(nèi)核運(yùn) 行階段實(shí)現(xiàn)LOGO顯示改為在boot程序運(yùn)行階段實(shí)現(xiàn)LOGO顯示,使嵌入式產(chǎn)品開機(jī)顯示 LOGO的時(shí)間大幅度縮減。例如,當(dāng)基于i.MX28平臺(tái)的Linux系統(tǒng)采用bootlets進(jìn)行系統(tǒng) 引導(dǎo)時(shí),在內(nèi)核運(yùn)行階段顯示LOGO需要3砂時(shí)間,而在boot運(yùn)行階段顯示LOGO只需要1 砂W下的時(shí)間,該就極大地改善了產(chǎn)品的用戶體驗(yàn)。
【專利附圖】
【附圖說明】
[0033] 圖1是傳統(tǒng)嵌入式產(chǎn)品的系統(tǒng)啟動(dòng)過程中與LOGO顯示相關(guān)的操作流程圖;
[0034] 圖2是本發(fā)明的系統(tǒng)啟動(dòng)過程中與LOGO顯示相關(guān)的操作流程圖。
【具體實(shí)施方式】
[00對 實(shí)施例,
[0036] W下通過【具體實(shí)施方式】對本發(fā)明做進(jìn)一步的描述。圖1為傳統(tǒng)嵌入式產(chǎn)品的系統(tǒng) 啟動(dòng)過程中與LOGO顯示相關(guān)的操作流程圖。由圖1可見,現(xiàn)有的嵌入式產(chǎn)品是在內(nèi)核運(yùn)行 階段進(jìn)行LOGO顯示操作,該就導(dǎo)致產(chǎn)品在上電開機(jī)后的LOGO顯示存在明顯的滯后。圖2 為本發(fā)明的系統(tǒng)啟動(dòng)過程中與LOGO顯示相關(guān)的操作流程圖。由圖2可見,本發(fā)明提供了一 種加快嵌入式產(chǎn)品開機(jī)界面顯示的方法,包括:
[0037] R1.啟動(dòng)boot程序,boot程序?qū)?nèi)存進(jìn)行掃描測試;
[0038] R2.boot程序初始化LCD接口模塊,并顯示LOGO;
[0039] R3.boot程序?qū)?nèi)核程序讀取到內(nèi)存中;
[0040] R4.boot使用既定啟動(dòng)參數(shù)啟動(dòng)內(nèi)核;
[00川貼.內(nèi)核加載LCD驅(qū)動(dòng),刪除。顯示LOGO操作";
[0042] R6.內(nèi)核加載其他驅(qū)動(dòng)直至啟動(dòng)完成。
[0043] 本發(fā)明所采用的技術(shù)方案是在boot程序運(yùn)行階段進(jìn)行LOGO顯示操作,從而能夠 在開機(jī)后快速顯示LOGO,改善用戶體驗(yàn)。
[0044] 另外,W上界面顯示過程的步驟中,所述boot程序可W采用bootlets、u-boot、 e-boot中的其中一種。
[0045] 所述內(nèi)核可采用嵌入式Linux系統(tǒng)內(nèi)核或WinCE內(nèi)核。
[0046] 進(jìn)一步的,步驟R2中,boot程序初始化LCD接口模塊并顯示LOGO的具體過程包 括如下步驟:
[0047] A.設(shè)置LCD的像素格式和接口時(shí)鐘,對CPU的LCD接口模塊進(jìn)行初始化和啟動(dòng);
[0048]B.根據(jù)boot程序中的LOGO圖像數(shù)據(jù),在內(nèi)存中為LOGO圖像分配一個(gè)第一緩存;
[0049] C.設(shè)置LCD接口的DMA相關(guān)寄存器,為所述第一緩存與LCD接口之間創(chuàng)建DMA通 道:
[0050] D.將LOGO圖像數(shù)據(jù)讀取到所述第一緩存,LCD接口和DMA通道將所述第一緩存的 圖像輸出到LCD屏上顯示。
[0051] 步驟A中,所述像素格式包括有效列數(shù)、有效行數(shù)、列同步脈沖數(shù)和行同步脈沖 數(shù)。針對特定的LCD,該些參數(shù)均為固有值。因此,當(dāng)選定一種LCD后,可將該些參數(shù)的固有 值寫入相應(yīng)的寄存器進(jìn)行配置。
[0052] 步驟B中,所述LOGO圖像數(shù)據(jù)是將LOGO位圖通過初始化的靜態(tài)數(shù)組的形式編譯 到boot程序中的。
[0053] 步驟C中,所述設(shè)置LCD接口的DMA相關(guān)寄存器包括設(shè)置LCD接口為Master模式 (即時(shí)鐘由CPU提供)、設(shè)置當(dāng)前峽和下一峽的地址。
[0054] 步驟R3中,boot程序?qū)?nèi)核程序讀取到內(nèi)存中之前,所述內(nèi)核程序保存在flash 或tf化(即從網(wǎng)絡(luò)服務(wù)器獲?。?。
[00巧]步驟貼中,內(nèi)核加載LCD驅(qū)動(dòng)包括重新配置CPU的LCD接口模塊相關(guān)寄存器、創(chuàng) 建LCD驅(qū)動(dòng)和接口W供應(yīng)用層使用。所述驅(qū)動(dòng)主要是創(chuàng)建和管理一個(gè)軟件緩沖區(qū)。
[0056]W下是基于i.MX28處理器的Linux系統(tǒng)采用夏普液晶Iq035q3dg01和bootlets 程序分別實(shí)現(xiàn)上述操作中步驟R1和步驟R2的具體代碼。
[0057] //bootlets的肉存檢測代碼----start printf("starttestmemoryaccress\r\n");
[0058]
【權(quán)利要求】
1. 一種加快嵌入式產(chǎn)品開機(jī)界面顯示的方法,其特征在于,包括: 1) 啟動(dòng)boot程序,boot程序?qū)?nèi)存進(jìn)行掃描測試; 2. boot程序初始化IXD接口模塊,并顯示LOGO ; 3. boot程序?qū)?nèi)核程序讀取到內(nèi)存中; 4. boot使用既定啟動(dòng)參數(shù)啟動(dòng)內(nèi)核; 5) 內(nèi)核加載IXD驅(qū)動(dòng),刪除"顯示LOGO操作"; 6) 內(nèi)核加載其他驅(qū)動(dòng)直至啟動(dòng)完成。
2. 如權(quán)利要求1所述的一種加快嵌入式產(chǎn)品開機(jī)界面顯示的方法,其特征在于,所述 boot程序是采用bootlets程序、u-boot程序、e-boot程序中的其中一種。
3. 如權(quán)利要求1或2所述的一種加快嵌入式產(chǎn)品開機(jī)界面顯示的方法,其特征在于,所 述內(nèi)核采用嵌入式Linux系統(tǒng)內(nèi)核或WinCE內(nèi)核。
4. 如權(quán)利要求3所述的一種加快嵌入式產(chǎn)品開機(jī)界面顯示的方法,其特征在于,步驟 2) 中,boot程序初始化IXD接口模塊并顯示LOGO的具體過程包括如下步驟: A. 設(shè)置IXD的像素格式和接口時(shí)鐘,對CPU的IXD接口模塊進(jìn)行初始化和啟動(dòng); B. 根據(jù)boot程序中的LOGO圖像數(shù)據(jù),在內(nèi)存中為LOGO圖像分配一個(gè)第一緩存; C. 設(shè)置IXD接口的DMA相關(guān)寄存器,為所述第一緩存與IXD接口之間創(chuàng)建DMA通道: D. 將LOGO圖像數(shù)據(jù)讀取到所述第一緩存,IXD接口和DMA通道將所述第一緩存的圖像 輸出到IXD屏上顯示。
5. 如權(quán)利要求4所述的一種加快嵌入式產(chǎn)品開機(jī)界面顯示的方法,其特征在于,步驟A 中,所述像素格式包括有效列數(shù)、有效行數(shù)、列同步脈沖數(shù)和行同步脈沖數(shù)。
6. 如權(quán)利要求4所述的一種加快嵌入式產(chǎn)品開機(jī)界面顯示的方法,其特征在于,步驟 B中,所述LOGO圖像數(shù)據(jù)是將LOGO位圖通過初始化的靜態(tài)數(shù)組的形式編譯到boot程序中 的。
7. 如權(quán)利要求4所述的一種加快嵌入式產(chǎn)品開機(jī)界面顯示的方法,其特征在于,步驟C 中,所述設(shè)置IXD接口的DMA相關(guān)寄存器包括設(shè)置IXD接口為Master模式、設(shè)置當(dāng)前幀和 下一幀的地址。
8. 如權(quán)利要求3所述的一種加快嵌入式產(chǎn)品開機(jī)界面顯示的方法,其特征在于,步驟 3) 中,boot程序?qū)?nèi)核程序讀取到內(nèi)存中之前,所述內(nèi)核程序保存在flash或tftp中。
9. 如權(quán)利要求3所述的一種加快嵌入式產(chǎn)品開機(jī)界面顯示的方法,其特征在于,步驟 5)中,內(nèi)核加載LCD驅(qū)動(dòng)包括重新配置CPU的LCD接口模塊相關(guān)寄存器、創(chuàng)建LCD驅(qū)動(dòng)和接 口以供應(yīng)用層使用。
【文檔編號】G06F9/445GK104375852SQ201310359147
【公開日】2015年2月25日 申請日期:2013年8月16日 優(yōu)先權(quán)日:2013年8月16日
【發(fā)明者】鄭福弟, 許寧, 鄭振貴, 黃杭星, 任賦 申請人:廈門雅迅網(wǎng)絡(luò)股份有限公司