本發(fā)明涉及信息安全技術(shù)領(lǐng)域,特別涉及一種修復(fù)酷魚10代希捷硬盤ROM錯誤的方法。
背景技術(shù):
酷魚10代希捷硬盤的ROM代碼,主要存放的是磁頭參數(shù)和硬盤的引導(dǎo)代碼,包括最基本的讀寫參數(shù),段位表和用戶區(qū)與服務(wù)區(qū)入口地址,硬盤控制參數(shù),硬盤伺服參數(shù)。如果這些硬盤基本參數(shù),驅(qū)動引導(dǎo)代碼都遭到損壞的話,那么硬盤,自然是無法正常運行的?,F(xiàn)有技術(shù)采用的是通過焊錫的辦法從其它匹配的正常硬盤上取下電路板的ROM芯片,并且將電路板焊接到數(shù)據(jù)盤的電路板上面。該技術(shù)在焊接過程中容易造成電路板損壞和虛焊、點焊的情況,造成接觸不良,并可能產(chǎn)生不兼容不識別的錯誤。
技術(shù)實現(xiàn)要素:
本發(fā)明針對現(xiàn)有技術(shù)的缺陷,提供了一種修復(fù)酷魚10代希捷硬盤ROM錯誤的方法,能有效的解決上述現(xiàn)有技術(shù)存在的問題。
為了實現(xiàn)以上發(fā)明目的,本發(fā)明采取的技術(shù)方案如下:
一種修復(fù)酷魚10代希捷硬盤ROM錯誤的方法,包括以下步驟:
S1:硬盤供電正常,進入指令模式,讀取數(shù)據(jù)到buffer,檢測buffer數(shù)據(jù)是否為T,若是則將硬盤進入F級模式;
S2:讀取ROM;
S3:寫入ROM;
S4:修復(fù)硬盤。
作為優(yōu)選,所述S2的詳細步驟如下:
S201:對引腳端口進行初始化;
S202:讀取ROM內(nèi)容到緩存;
S203:關(guān)掉引腳端口;
S204:讀取緩存數(shù)據(jù)的內(nèi)容及大??;
S205:判斷ROM內(nèi)容大小是否為512KB,如果失敗,則轉(zhuǎn)到201,如果是,則表示讀取成功,結(jié)束。
作為優(yōu)選,所述S3的詳細步驟如下:
S301:對引腳端口進行初始化;
S302:對ROM進行擦除;
S303:寫入ROM內(nèi)容;(其他匹配盤的ROM)
S304:關(guān)掉引腳端口;
S305:發(fā)送鏈接標(biāo)記;
S306:讓寫入數(shù)據(jù)生效;
S307:判斷指令是否“T>”,如果不是則失敗,則轉(zhuǎn)到301,如果是則退出。
作為優(yōu)選,所述S4的詳細步驟如下:
S401:將故障盤盤體上的CERT模塊加載到故障盤電路板的緩存芯片中;
S402:開啟強制寫模式,在1級工廠模式下開啟強制寫;
S403:在T級模式下初始化G表;
S404:在1級工廠模式下清除S.M.A.R.T表。
與現(xiàn)有技術(shù)相比本發(fā)明的優(yōu)點在于:無需拆卸電路板和焊接ROM,節(jié)約時間,提高修復(fù)效率,節(jié)約人力和財力。通過指令讀取和寫回ROM數(shù)據(jù),并快速的修復(fù)硬盤,該方法修復(fù)硬盤修復(fù)硬盤。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下舉實施例,對本發(fā)明做進一步詳細說明。
一種修復(fù)酷魚10代希捷硬盤ROM錯誤的方法,包括以下步驟:
S1:硬盤供電正常,進入指令模式,讀取數(shù)據(jù)到buffer,檢測buffer數(shù)據(jù)是否為T,若是則將硬盤進入F級模式;
S2:讀取ROM;
S3:寫入ROM;
S4:修復(fù)硬盤。
作為優(yōu)選,所述S2的詳細步驟如下:
S201:對引腳端口進行初始化;
調(diào)用函數(shù):UART0_SendBuf("e5");
S202:讀取ROM內(nèi)容到緩存;
調(diào)用函數(shù):UART0_SendBuf("e4,200,1,0");
IRQ_READ_UART0();
S203:關(guān)掉引腳端口;
調(diào)用函數(shù):UART0_SendBuf("e6");
S204:讀取緩存數(shù)據(jù)的內(nèi)容及大?。?/p>
調(diào)用函數(shù):UART0_SendBuf("B");
S205:判斷ROM內(nèi)容大小是否為512KB,如果失敗,則轉(zhuǎn)到201,如果是,則表示讀取成功,結(jié)束。
作為優(yōu)選,所述S3的詳細步驟如下:
S301:對引腳端口進行初始化;
調(diào)用函數(shù):UART0_SendBuf("e5");
S302:對ROM進行擦除;
調(diào)用函數(shù):UART0_SendBuf("e9");
S303:寫入ROM內(nèi)容;需要說明的是,這里的ROM內(nèi)容可以是原盤的ROM內(nèi)容,也可以是從匹配盤中提取的ROM內(nèi)容。
調(diào)用函數(shù):
UART0_SendBuf("e3,200,1,0");
UART0_SendStr(char*str);
S304:關(guān)掉引腳端口;
調(diào)用函數(shù):UART0_SendBuf("e6");
S305:發(fā)送鏈接標(biāo)記;
調(diào)用函數(shù):UART0_SendBuf("U");
S306:讓寫入數(shù)據(jù)生效;
調(diào)用函數(shù):UART0_SendBuf("W");
S307:判斷指令是否“T>”,如果不是則失敗,則轉(zhuǎn)到301,如果是則退出。
作為優(yōu)選,所述S4的詳細步驟如下:
S401:將故障盤盤體上的CERT模塊加載到故障盤電路板的緩存芯片中;
調(diào)用函數(shù):UART0_Sendchar(0x12);//CERT模塊加到緩存
S402:開啟強制寫模式,在1級工廠模式下開啟強制寫;
調(diào)用函數(shù):
UART0_SendBuf("/1");//進入1級模式
UART0_SendBuf("F");
S403:在T級模式下初始化G表;
調(diào)用函數(shù):
UART0_Sendchar(0x1A);//回到T級模式
UART0_SendBuf("i4,1,22");
S404:在1級工廠模式下清除S.M.A.R.T表;
通過調(diào)用以下函數(shù)實現(xiàn):
UART0_SendBuf("/1");//進入1級模式
UART0_SendBuf("N1")。
下面是調(diào)用上述函數(shù)的具體方法:
本領(lǐng)域的普通技術(shù)人員將會意識到,這里所述的實施例是為了幫助讀者理解本發(fā)明的實施方法,應(yīng)被理解為本發(fā)明的保護范圍并不局限于這樣的特別陳 述和實施例。本領(lǐng)域的普通技術(shù)人員可以根據(jù)本發(fā)明公開的這些技術(shù)啟示做出各種不脫離本發(fā)明實質(zhì)的其它各種具體變形和組合,這些變形和組合仍然在本發(fā)明的保護范圍內(nèi)。