本發(fā)明屬于服務(wù)器設(shè)計(jì)領(lǐng)域,尤其是一種基于bmc的服務(wù)器bmcpost運(yùn)行過程檢測的固件開發(fā)方法。
背景技術(shù):
目前主流的服務(wù)器上面都會用到bmc去遠(yuǎn)程監(jiān)控管理,當(dāng)服務(wù)器上電后bmc開始初始化,并進(jìn)入bmc的各個(gè)功能啟動階段,直到bmc初始化完成bmc心跳燈閃爍,在這個(gè)過程中當(dāng)bmc出現(xiàn)問題時(shí)無法直觀的去發(fā)現(xiàn)問題,無法判斷bmc沒有初始化成功是停留在具體的哪個(gè)階段,需要去串口引出調(diào)試線進(jìn)行調(diào)試查看bmc在什么地方出現(xiàn)問題,研發(fā)人員需要耗費(fèi)更多的精力去發(fā)現(xiàn)bmcpost階段出現(xiàn)的問題,難于管理維護(hù)并且影響到服務(wù)器的穩(wěn)定性。
顯然,這種方法雖然實(shí)現(xiàn)了bmcpost階段的問題診斷,但是其缺點(diǎn)很明顯,當(dāng)服務(wù)器的bmc固件出錯(cuò)時(shí),研發(fā)人員無法準(zhǔn)確快速的進(jìn)行定位分析,影響開發(fā)進(jìn)程。
為此,有必要設(shè)計(jì)一種新型的bmcpost運(yùn)行過程檢測診斷方法,能夠快速的診斷bmc固件出錯(cuò)點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的是提供一種基于bmc的服務(wù)器bmcpost運(yùn)行過程檢測的固件開發(fā)方法,用來克服現(xiàn)有bmc固件診斷速度較慢的問題。
本發(fā)明是這樣實(shí)現(xiàn)的,一種基于bmc的服務(wù)器bmcpost運(yùn)行過程檢測的固件,包括相互電連的控制單元和顯示單元,所述控制單元為bmc控制處理器,所述顯示單元通過gpio接口與所述控制單元相連。
bmc:基板管理控制器(baseboardmanagementcontroller)。一般內(nèi)置在主板上,支持行業(yè)標(biāo)準(zhǔn)的ipmi規(guī)范。bmc提供的功能包括:本地和遠(yuǎn)程診斷、控制臺支持、配置管理、硬件管理和故障排除。
gpio:generalpurposeinputoutput(通用輸入/輸出)簡稱為gpio,或總線擴(kuò)展器,人們利用工業(yè)標(biāo)準(zhǔn)i2c、smbus或spi接口簡化了i/o口的擴(kuò)展。當(dāng)微控制器或芯片組沒有足夠的i/o端口,或當(dāng)系統(tǒng)需要采用遠(yuǎn)端串行通信或控制時(shí),gpio產(chǎn)品能夠提供額外的控制和監(jiān)視功能。
本發(fā)明的進(jìn)一步技術(shù)方案是:所述顯示單元為led顯示屏。
本發(fā)明的進(jìn)一步技術(shù)方案是:所述顯示單元為至少2個(gè)led燈。
本發(fā)明的另一目的在于提供一種于bmc的服務(wù)器bmcpost運(yùn)行過程檢測的固件開發(fā)方法,該方法包括以下步驟:
步驟a:設(shè)定步驟,所述設(shè)定步驟系對bmcpost運(yùn)行過程中各錯(cuò)誤設(shè)定錯(cuò)誤代碼;
步驟b:上電步驟,所述上電步驟系服務(wù)器上電,啟動bmc;
步驟c:檢測步驟,所述檢測步驟系bmcpost進(jìn)行并檢測,若檢測出現(xiàn)問題則報(bào)錯(cuò),若檢測無問題則完成bmcpost步驟。
本發(fā)明的進(jìn)一步技術(shù)方案是:所述步驟a包括以下分步驟:
步驟a1:設(shè)定uboot階段對應(yīng)代碼;
步驟a2:設(shè)定kernel階段對應(yīng)代碼;
步驟a3:設(shè)定風(fēng)扇控溫讀取階段對應(yīng)代碼。
本發(fā)明的進(jìn)一步技術(shù)方案是:所述步驟c包括以下分步驟:
步驟c1:啟動到uboot階段,若出現(xiàn)錯(cuò)誤則通過顯示單元報(bào)錯(cuò),若沒有出錯(cuò)則進(jìn)入步驟c2;
步驟c2:啟動到kernel階段,若出現(xiàn)錯(cuò)誤則通過顯示單元報(bào)錯(cuò),若沒有出錯(cuò)則進(jìn)入步驟c3;
步驟c3:啟動到風(fēng)扇控溫讀取階段,若出現(xiàn)錯(cuò)誤則通過顯示單元報(bào)錯(cuò),若沒有出錯(cuò)則完成bmcpost步驟。
本發(fā)明的進(jìn)一步技術(shù)方案是:所述顯示單元為led顯示屏,通過將對應(yīng)代碼顯示在所述led顯示屏上報(bào)錯(cuò)。
本發(fā)明的進(jìn)一步技術(shù)方案是:所述顯示單元為3個(gè)led燈,步驟c中每個(gè)步驟對應(yīng)一個(gè)led燈,通過將出錯(cuò)步驟對應(yīng)的led燈點(diǎn)亮報(bào)錯(cuò)。
本發(fā)明的進(jìn)一步技術(shù)方案是:所述顯示單元為3個(gè)led燈,步驟c中每個(gè)步驟對應(yīng)一個(gè)led燈,若該檢測步驟不出錯(cuò)則對應(yīng)led燈點(diǎn)亮,若檢測步驟出錯(cuò)則對應(yīng)led燈不亮。
本發(fā)明的有益效果是:本方案提供的基于bmc的服務(wù)器bmcpost運(yùn)行過程檢測的固件開發(fā)方法公開了一種通過bmc上電post過程中讓開發(fā)人員獲取啟動狀態(tài)信息,把這些信息匯總成判斷故障的依據(jù),研發(fā)人員根據(jù)這些故障信息判斷bmc在哪個(gè)階段運(yùn)行錯(cuò)誤,真正達(dá)到了bmc自檢的效果,提高服務(wù)器維護(hù)效率,增強(qiáng)服務(wù)器的穩(wěn)定性。
附圖說明
為了更清楚地說明本申請實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的基于bmc的服務(wù)器bmcpost運(yùn)行過程檢測的固件的示意圖。
圖2是本發(fā)明實(shí)施例提供的基于bmc的服務(wù)器bmcpost運(yùn)行過程檢測的固件開發(fā)方法的流程圖。
具體實(shí)施方式
本發(fā)明提供一種基于bmc的服務(wù)器bmcpost運(yùn)行過程檢測的固件開發(fā)方法。以下結(jié)合附圖及實(shí)施例對本發(fā)明進(jìn)行詳細(xì)說明。
圖1是本發(fā)明實(shí)施例提供的基于bmc的服務(wù)器bmcpost運(yùn)行過程檢測的固件的示意圖。如圖,一種基于bmc的服務(wù)器bmcpost運(yùn)行過程檢測的固件,包括相互電連的控制單元和顯示單元,所述控制單元為bmc控制處理器,所述顯示單元通過gpio接口與所述控制單元相連。
bmc:基板管理控制器(baseboardmanagementcontroller)。一般內(nèi)置在主板上,支持行業(yè)標(biāo)準(zhǔn)的ipmi規(guī)范。bmc提供的功能包括:本地和遠(yuǎn)程診斷、控制臺支持、配置管理、硬件管理和故障排除。
gpio:generalpurposeinputoutput(通用輸入/輸出)簡稱為gpio,或總線擴(kuò)展器,人們利用工業(yè)標(biāo)準(zhǔn)i2c、smbus或spi接口簡化了i/o口的擴(kuò)展。當(dāng)微控制器或芯片組沒有足夠的i/o端口,或當(dāng)系統(tǒng)需要采用遠(yuǎn)端串行通信或控制時(shí),gpio產(chǎn)品能夠提供額外的控制和監(jiān)視功能。
進(jìn)一步的,所述顯示單元為led顯示屏。
進(jìn)一步的,所述顯示單元為至少2個(gè)led燈。
本發(fā)明的另一目的在于提供一種于bmc的服務(wù)器bmcpost運(yùn)行過程檢測的固件開發(fā)方法,該方法包括以下步驟:
步驟a:設(shè)定步驟,所述設(shè)定步驟系對bmcpost運(yùn)行過程中各錯(cuò)誤設(shè)定錯(cuò)誤代碼;
步驟b:上電步驟,所述上電步驟系服務(wù)器上電,啟動bmc;
步驟c:檢測步驟,所述檢測步驟系bmcpost進(jìn)行并檢測,若檢測出現(xiàn)問題則報(bào)錯(cuò),若檢測無問題則完成bmcpost步驟。
進(jìn)一步的,所述步驟a包括以下分步驟:
步驟a1:設(shè)定uboot階段對應(yīng)代碼;
步驟a2:設(shè)定kernel階段對應(yīng)代碼;
步驟a3:設(shè)定風(fēng)扇控溫讀取階段對應(yīng)代碼。
進(jìn)一步的,所述步驟c包括以下分步驟:
步驟c1:啟動到uboot階段,若出現(xiàn)錯(cuò)誤則通過顯示單元報(bào)錯(cuò),若沒有出錯(cuò)則進(jìn)入步驟c2;
步驟c2:啟動到kernel階段,若出現(xiàn)錯(cuò)誤則通過顯示單元報(bào)錯(cuò),若沒有出錯(cuò)則進(jìn)入步驟c3;
步驟c3:啟動到風(fēng)扇控溫讀取階段,若出現(xiàn)錯(cuò)誤則通過顯示單元報(bào)錯(cuò),若沒有出錯(cuò)則完成bmcpost步驟。
報(bào)錯(cuò)的方式可以設(shè)置多種,例如,可以將所述顯示單元設(shè)置為led顯示屏,通過將對應(yīng)代碼顯示在所述led顯示屏上報(bào)錯(cuò)。
也可以將所述顯示單元設(shè)置為3個(gè)led燈,步驟c中每個(gè)步驟對應(yīng)一個(gè)led燈,通過將出錯(cuò)步驟對應(yīng)的led燈點(diǎn)亮報(bào)錯(cuò)。
或者,所述顯示單元為3個(gè)led燈,步驟c中每個(gè)步驟對應(yīng)一個(gè)led燈,若該檢測步驟不出錯(cuò)則對應(yīng)led燈點(diǎn)亮,若檢測步驟出錯(cuò)則對應(yīng)led燈不亮。
圖2是本發(fā)明實(shí)施例1提供的基于bmc的服務(wù)器bmcpost運(yùn)行過程檢測的固件開發(fā)方法的流程圖。該具體實(shí)施例通過bmc上電運(yùn)行后把各個(gè)階段的運(yùn)行狀態(tài)以led的方式體現(xiàn)出來。
這些依賴于bmc程序的功能模塊,存儲于bmcflash中,在主板上電之后即會被調(diào)用,bmc會有一個(gè)初始化的過程,這一功能模塊具體描述如下:
1.bmc上電運(yùn)行。
2.通過底層驅(qū)動代碼編程的方式把這些各個(gè)階段對應(yīng)的gpio進(jìn)行設(shè)定,達(dá)到點(diǎn)亮不同led的方式。
這種方式可以實(shí)現(xiàn)研發(fā)人員快速定位bmcpost階段的問題。
本方案提供的基于bmc的服務(wù)器bmcpost運(yùn)行過程檢測的固件開發(fā)方法公開了一種通過bmc上電post過程中讓開發(fā)人員獲取啟動狀態(tài)信息,把這些信息匯總成判斷故障的依據(jù),研發(fā)人員根據(jù)這些故障信息判斷bmc在哪個(gè)階段運(yùn)行錯(cuò)誤,真正達(dá)到了bmc自檢的效果,提高服務(wù)器維護(hù)效率,增強(qiáng)服務(wù)器的穩(wěn)定性。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。