本發(fā)明涉及計(jì)算機(jī),尤其涉及一種點(diǎn)亮屏幕的方法、裝置、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、目前,各個(gè)整機(jī)廠商是通過bios(basic?input?output?system,基本輸入輸出系統(tǒng))代碼去點(diǎn)亮屏幕,如采用顯卡廠商提供的顯卡pcie?option?rom。而顯卡的pcie?optionrom不是電子設(shè)備一上電就能運(yùn)行,當(dāng)前的pcie?optionrom都是在電子設(shè)備上電后非常后期階段運(yùn)行,此時(shí)點(diǎn)亮屏幕時(shí)間已經(jīng)非常晚,pc(personal?computer,個(gè)人計(jì)算機(jī))客戶設(shè)備少感官不明顯,但是對于服務(wù)器用戶,由于設(shè)備多,這個(gè)階段點(diǎn)亮屏幕,離上電開機(jī)可能有6分鐘到10分鐘之久,客戶體驗(yàn)感差,如果電量屏幕時(shí)間拖得再久一點(diǎn),客戶還可能錯(cuò)誤判斷機(jī)器宕機(jī)?;诖?,整機(jī)廠商把顯卡pcie?option?rom點(diǎn)亮屏幕的代碼進(jìn)行了移植,這樣大大縮短了屏幕點(diǎn)亮?xí)r間,這種提前點(diǎn)亮屏幕的方式,就是fast?video功能,即,電子設(shè)備開機(jī)快速點(diǎn)亮屏幕的功能。
2、但是,采用此方式實(shí)現(xiàn)fast?video功能,局限性也很大:首先要移植顯卡pcieoption?rom代碼,這個(gè)工作量巨大;然后要顯卡廠商支持,如果顯卡廠商不提供這部分代碼,fast?video功能就無法實(shí)現(xiàn);同樣,如果服務(wù)器引入新的顯卡,要支持該功能還得修改代碼發(fā)布bios版本,以及需經(jīng)測試同事驗(yàn)證功能,驗(yàn)證穩(wěn)定性,可維護(hù)性差,浪費(fèi)人力。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明實(shí)施例提供一種點(diǎn)亮屏幕的方法、裝置、電子設(shè)備及存儲介質(zhì),可以支持所有顯卡的fast?vidoe功能,無需移植更改代碼,減輕了研發(fā)工作量,節(jié)省了廠商人力和研發(fā)支出,實(shí)現(xiàn)了fast?vid?eo功能的通用性。
2、本發(fā)明實(shí)施例第一方面提供了一種點(diǎn)亮屏幕的方法,所述方法包括:
3、在電子設(shè)備的基本輸入輸出系統(tǒng)的預(yù)處理階段中添加目標(biāo)階段,所述目標(biāo)階段為用于執(zhí)行點(diǎn)亮屏幕代碼的階段;
4、在所述基本輸入輸出系統(tǒng)的預(yù)處理階段完成內(nèi)存初始化后,在所述目標(biāo)階段執(zhí)行用于部署點(diǎn)亮屏幕代碼的運(yùn)行環(huán)境的代碼,完成所述點(diǎn)亮屏幕代碼的運(yùn)行環(huán)境的部署;
5、在所述運(yùn)行環(huán)境部署完畢后,執(zhí)行所述點(diǎn)亮屏幕代碼,點(diǎn)亮所述電子設(shè)備的屏幕。
6、可選地,所述在所述目標(biāo)階段執(zhí)行用于部署點(diǎn)亮屏幕代碼的運(yùn)行環(huán)境的代碼,完成所述點(diǎn)亮屏幕代碼的運(yùn)行環(huán)境的部署,包括:
7、在所述目標(biāo)階段執(zhí)行用于部署點(diǎn)亮屏幕代碼的運(yùn)行環(huán)境的代碼后,加載第一驅(qū)動(dòng),初始化所述電子設(shè)備的顯卡和顯卡所在鏈路,完成所述運(yùn)行環(huán)境的部署。
8、可選地,所述在電子設(shè)備的基本輸入輸出系統(tǒng)的預(yù)處理階段中添加目標(biāo)階段,包括:
9、將所述基本輸入輸出系統(tǒng)的預(yù)處理階段分為第一階段和第二階段,所述第一階段用于初始化內(nèi)存;
10、在所述第一階段和所述第二階段之間添加所述目標(biāo)階段;
11、在所述執(zhí)行所述點(diǎn)亮屏幕代碼,點(diǎn)亮所述電子設(shè)備的屏幕之后,所述方法還包括:
12、執(zhí)行所述第二階段對應(yīng)的代碼。
13、可選地,所述加載第一驅(qū)動(dòng),初始化所述電子設(shè)備的顯卡和顯卡所在鏈路,包括:
14、加載所述第一驅(qū)動(dòng),為所述電子設(shè)備的顯卡和顯卡所在鏈路分配第一資源;
15、建立所述顯卡所在鏈路,并注冊所述顯卡的pci-io協(xié)議;
16、在所述執(zhí)行所述點(diǎn)亮屏幕代碼,點(diǎn)亮所述電子設(shè)備的屏幕之后,所述方法還包括:
17、在所述基本輸入輸出系統(tǒng)的啟動(dòng)設(shè)備選擇階段之前,釋放為所述顯卡和所述顯卡所在鏈路分配的所述第一資源。
18、可選地,所述用于部署點(diǎn)亮屏幕代碼的運(yùn)行環(huán)境的代碼,包括:
19、用于實(shí)現(xiàn)所述基本輸入輸出系統(tǒng)的驅(qū)動(dòng)執(zhí)行環(huán)境階段的一部分函數(shù)調(diào)用的代碼;
20、所述一部分函數(shù)調(diào)用的代碼至少包括:用于實(shí)現(xiàn)第一函數(shù)調(diào)用集合的代碼和用于實(shí)現(xiàn)第二函數(shù)調(diào)用集合的代碼;
21、所述第一函數(shù)調(diào)用集合至少包括:內(nèi)存分配函數(shù)調(diào)用,信號處理函數(shù)調(diào)用,事件處理函數(shù)調(diào)用,協(xié)議注冊函數(shù)調(diào)用,協(xié)議查詢函數(shù)調(diào)用和鏡像加載函數(shù)調(diào)用;
22、所述第二函數(shù)調(diào)用集合至少包括:內(nèi)存池管理函數(shù)調(diào)用和輸入輸出池管理函數(shù)調(diào)用。
23、可選地,在所述執(zhí)行所述點(diǎn)亮屏幕代碼,點(diǎn)亮所述電子設(shè)備的屏幕之后,所述方法還包括:
24、在所述基本輸入輸出系統(tǒng)的驅(qū)動(dòng)執(zhí)行環(huán)境階段,執(zhí)行所述驅(qū)動(dòng)執(zhí)行環(huán)境階段的剩余部分函數(shù)調(diào)用的代碼,所述剩余部分函數(shù)調(diào)用的代碼為所述驅(qū)動(dòng)執(zhí)行環(huán)境階段的所有代碼中除所述一部分函數(shù)調(diào)用的代碼外的代碼。
25、可選地,在所述釋放為所述顯卡和所述顯卡所在鏈路分配的所述第一資源之后,所述方法還包括:
26、在所述基本輸入輸出系統(tǒng)的啟動(dòng)設(shè)備選擇階段,加載第二驅(qū)動(dòng),掃描所述電子設(shè)備中的所有pcie設(shè)備;
27、基于包含所述第一資源在內(nèi)的第二資源,為所述所有pcie設(shè)備分配資源;
28、在為所述所有pcie設(shè)備分配資源后,針對所述所有pcie設(shè)備中的每個(gè)pcie設(shè)備,分別建立每個(gè)pcie設(shè)備所在的pcie鏈路;
29、分別針對所述每個(gè)pcie設(shè)備,加載各自對應(yīng)的初始化代碼,完成所述所有pcie設(shè)備的初始化,再次點(diǎn)亮所述電子設(shè)備的屏幕;
30、其中,所述第二驅(qū)動(dòng)用于初始化所述電子設(shè)備中的所有pcie設(shè)備,所述所有pcie設(shè)備中至少包括:所述電子設(shè)備的顯卡;
31、所述電子設(shè)備的顯卡對應(yīng)的初始化代碼至少包括:所述點(diǎn)亮屏幕代碼;
32、在所述目標(biāo)階段,點(diǎn)亮所述電子設(shè)備的屏幕對應(yīng)的點(diǎn)亮維持時(shí)長為第一時(shí)長;在所述啟動(dòng)設(shè)備選擇階段,再次點(diǎn)亮所述電子設(shè)備的屏幕對應(yīng)的點(diǎn)亮維持時(shí)長為第二時(shí)長;所述第一時(shí)長小于所述第二時(shí)長。
33、本發(fā)明實(shí)施例第二方面提供了一種點(diǎn)亮屏幕的裝置,所述裝置包括:
34、階段添加模塊,用于在電子設(shè)備的基本輸入輸出系統(tǒng)的預(yù)處理階段中添加目標(biāo)階段,所述目標(biāo)階段為用于執(zhí)行點(diǎn)亮屏幕代碼的階段;
35、環(huán)境部署模塊,用于在所述基本輸入輸出系統(tǒng)的預(yù)處理階段完成內(nèi)存初始化后,在所述目標(biāo)階段執(zhí)行用于部署點(diǎn)亮屏幕代碼的運(yùn)行環(huán)境的代碼,完成所述點(diǎn)亮屏幕代碼的運(yùn)行環(huán)境的部署;
36、第一屏幕點(diǎn)亮模塊,用于在所述運(yùn)行環(huán)境部署完畢后,執(zhí)行所述點(diǎn)亮屏幕代碼,點(diǎn)亮所述電子設(shè)備的屏幕。
37、可選地,所述環(huán)境部署模塊,包括:
38、第一驅(qū)動(dòng)執(zhí)行模塊,用于在所述目標(biāo)階段執(zhí)行用于部署點(diǎn)亮屏幕代碼的運(yùn)行環(huán)境的代碼后,加載第一驅(qū)動(dòng),初始化所述電子設(shè)備的顯卡和顯卡所在鏈路,完成所述運(yùn)行環(huán)境的部署。
39、可選地,所述階段添加模塊,包括:
40、階段區(qū)分模塊,用于將所述基本輸入輸出系統(tǒng)的預(yù)處理階段分為第一階段和第二階段,所述第一階段用于初始化內(nèi)存;
41、目標(biāo)階段添加模塊,用于在所述第一階段和所述第二階段之間添加所述目標(biāo)階段;
42、所述裝置還包括:
43、第一執(zhí)行模塊,用于在所述執(zhí)行所述點(diǎn)亮屏幕代碼,點(diǎn)亮所述電子設(shè)備的屏幕之后,執(zhí)行所述第二階段對應(yīng)的代碼。
44、可選地,所述第一驅(qū)動(dòng)執(zhí)行模塊,包括:
45、第一資源分配模塊,用于加載所述第一驅(qū)動(dòng),為所述電子設(shè)備的顯卡和顯卡所在鏈路分配第一資源;
46、顯卡注冊模塊,用于建立所述顯卡所在鏈路,并注冊所述顯卡的pci-io協(xié)議;所述裝置還包括:
47、資源釋放模塊,用于在所述執(zhí)行所述點(diǎn)亮屏幕代碼,點(diǎn)亮所述電子設(shè)備的屏幕之后,在所述基本輸入輸出系統(tǒng)的啟動(dòng)設(shè)備選擇階段之前,釋放為所述顯卡和所述顯卡所在鏈路分配的所述第一資源。
48、可選地,所述用于部署點(diǎn)亮屏幕代碼的運(yùn)行環(huán)境的代碼,包括:
49、用于實(shí)現(xiàn)所述基本輸入輸出系統(tǒng)的驅(qū)動(dòng)執(zhí)行環(huán)境階段的一部分函數(shù)調(diào)用的代碼;
50、所述一部分函數(shù)調(diào)用的代碼至少包括:用于實(shí)現(xiàn)第一函數(shù)調(diào)用集合的代碼和用于實(shí)現(xiàn)第二函數(shù)調(diào)用集合的代碼;
51、所述第一函數(shù)調(diào)用集合至少包括:內(nèi)存分配函數(shù)調(diào)用,信號處理函數(shù)調(diào)用,事件處理函數(shù)調(diào)用,協(xié)議注冊函數(shù)調(diào)用,協(xié)議查詢函數(shù)調(diào)用和鏡像加載函數(shù)調(diào)用;
52、所述第二函數(shù)調(diào)用集合至少包括:內(nèi)存池管理函數(shù)調(diào)用和輸入輸出池管理函數(shù)調(diào)用。
53、可選地,所述裝置還包括:
54、第二執(zhí)行模塊,用于在所述執(zhí)行所述點(diǎn)亮屏幕代碼,點(diǎn)亮所述電子設(shè)備的屏幕之后,在所述基本輸入輸出系統(tǒng)的驅(qū)動(dòng)執(zhí)行環(huán)境階段,執(zhí)行所述驅(qū)動(dòng)執(zhí)行環(huán)境階段的剩余部分函數(shù)調(diào)用的代碼,所述剩余部分函數(shù)調(diào)用的代碼為所述驅(qū)動(dòng)執(zhí)行環(huán)境階段的所有代碼中除所述一部分函數(shù)調(diào)用的代碼外的代碼。
55、可選地,所述裝置還包括:
56、第二驅(qū)動(dòng)執(zhí)行模塊,用于在所述釋放為所述顯卡和所述顯卡所在鏈路分配的所述第一資源之后,在所述基本輸入輸出系統(tǒng)的啟動(dòng)設(shè)備選擇階段,加載第二驅(qū)動(dòng),掃描所述電子設(shè)備中的所有pcie設(shè)備;
57、第二資源分配模塊,用于基于包含所述第一資源在內(nèi)的第二資源,為所述所有pcie設(shè)備分配資源;
58、鏈路建立模塊,用于在為所述所有pcie設(shè)備分配資源后,針對所述所有pcie設(shè)備中的每個(gè)pcie設(shè)備,分別建立每個(gè)pcie設(shè)備所在的pcie鏈路;
59、第二屏幕點(diǎn)亮模塊,用于分別針對所述每個(gè)pcie設(shè)備,加載各自對應(yīng)的初始化代碼,完成所述所有pcie設(shè)備的初始化,再次點(diǎn)亮所述電子設(shè)備的屏幕;
60、其中,所述第二驅(qū)動(dòng)用于初始化所述電子設(shè)備中的所有pcie設(shè)備,所述所有pcie設(shè)備中至少包括:所述電子設(shè)備的顯卡;
61、所述電子設(shè)備的顯卡對應(yīng)的初始化代碼至少包括:所述點(diǎn)亮屏幕代碼;
62、在所述目標(biāo)階段,點(diǎn)亮所述電子設(shè)備的屏幕對應(yīng)的點(diǎn)亮維持時(shí)長為第一時(shí)長;在所述啟動(dòng)設(shè)備選擇階段,再次點(diǎn)亮所述電子設(shè)備的屏幕對應(yīng)的點(diǎn)亮維持時(shí)長為第二時(shí)長;所述第一時(shí)長小于所述第二時(shí)長。
63、本發(fā)明實(shí)施例第三方面提供一種電子設(shè)備,包括處理器、存儲器及存儲在所述存儲器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如本發(fā)明實(shí)施例第一方面所述的點(diǎn)亮屏幕的方法的步驟。
64、本發(fā)明實(shí)施例第四方面提供一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)上存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如本發(fā)明實(shí)施例第一方面所述的點(diǎn)亮屏幕的方法的步驟。
65、本發(fā)明實(shí)施例第五方面提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,所述計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如本發(fā)明實(shí)施例第一方面所述的點(diǎn)亮屏幕的方法的步驟。
66、本發(fā)明實(shí)施例提供的一種點(diǎn)亮屏幕的方法,首先,在電子設(shè)備的基本輸入輸出系統(tǒng)的預(yù)處理階段中添加目標(biāo)階段,該目標(biāo)階段為用于執(zhí)行點(diǎn)亮屏幕代碼的階段;然后,在基本輸入輸出系統(tǒng)的預(yù)處理階段完成內(nèi)存初始化后,在目標(biāo)階段執(zhí)行用于部署點(diǎn)亮屏幕代碼的運(yùn)行環(huán)境的代碼,完成點(diǎn)亮屏幕代碼的運(yùn)行環(huán)境的部署;最后,在運(yùn)行環(huán)境部署完畢后,執(zhí)行點(diǎn)亮屏幕代碼,點(diǎn)亮電子設(shè)備的屏幕。在本實(shí)施例中,基本輸入輸出系統(tǒng)在內(nèi)存初始化完成后,通過代碼部署點(diǎn)亮屏幕代碼的運(yùn)行環(huán)境,在運(yùn)行環(huán)境部署完畢后既可馬上運(yùn)行點(diǎn)亮屏幕代碼,執(zhí)行點(diǎn)亮屏幕操作。由于點(diǎn)亮屏幕操作還是由點(diǎn)亮屏幕代碼執(zhí)行,并且點(diǎn)亮屏幕代碼本來就集成在電子設(shè)備的顯卡上,所以本實(shí)施例可以應(yīng)用于所有顯卡,無需移植更改代碼,同理,如果導(dǎo)入新的顯卡,也無需更改代碼,無需發(fā)布新的基本輸入輸出系統(tǒng)版本,無需測試驗(yàn)證,減輕了研發(fā)工作量,節(jié)省了廠商人力和研發(fā)支出,實(shí)現(xiàn)了fast?video功能的通用性。