修复酷鱼10代希捷硬盘ROM错误的方法与流程

文档序号:12596717阅读:2431来源:国知局

本发明涉及信息安全技术领域,特别涉及一种修复酷鱼10代希捷硬盘ROM错误的方法。



背景技术:

酷鱼10代希捷硬盘的ROM代码,主要存放的是磁头参数和硬盘的引导代码,包括最基本的读写参数,段位表和用户区与服务区入口地址,硬盘控制参数,硬盘伺服参数。如果这些硬盘基本参数,驱动引导代码都遭到损坏的话,那么硬盘,自然是无法正常运行的。现有技术采用的是通过焊锡的办法从其它匹配的正常硬盘上取下电路板的ROM芯片,并且将电路板焊接到数据盘的电路板上面。该技术在焊接过程中容易造成电路板损坏和虚焊、点焊的情况,造成接触不良,并可能产生不兼容不识别的错误。



技术实现要素:

本发明针对现有技术的缺陷,提供了一种修复酷鱼10代希捷硬盘ROM错误的方法,能有效的解决上述现有技术存在的问题。

为了实现以上发明目的,本发明采取的技术方案如下:

一种修复酷鱼10代希捷硬盘ROM错误的方法,包括以下步骤:

S1:硬盘供电正常,进入指令模式,读取数据到buffer,检测buffer数据是否为T,若是则将硬盘进入F级模式;

S2:读取ROM;

S3:写入ROM;

S4:修复硬盘。

作为优选,所述S2的详细步骤如下:

S201:对引脚端口进行初始化;

S202:读取ROM内容到缓存;

S203:关掉引脚端口;

S204:读取缓存数据的内容及大小;

S205:判断ROM内容大小是否为512KB,如果失败,则转到201,如果是,则表示读取成功,结束。

作为优选,所述S3的详细步骤如下:

S301:对引脚端口进行初始化;

S302:对ROM进行擦除;

S303:写入ROM内容;(其他匹配盘的ROM)

S304:关掉引脚端口;

S305:发送链接标记;

S306:让写入数据生效;

S307:判断指令是否“T>”,如果不是则失败,则转到301,如果是则退出。

作为优选,所述S4的详细步骤如下:

S401:将故障盘盘体上的CERT模块加载到故障盘电路板的缓存芯片中;

S402:开启强制写模式,在1级工厂模式下开启强制写;

S403:在T级模式下初始化G表;

S404:在1级工厂模式下清除S.M.A.R.T表。

与现有技术相比本发明的优点在于:无需拆卸电路板和焊接ROM,节约时间,提高修复效率,节约人力和财力。通过指令读取和写回ROM数据,并快速的修复硬盘,该方法修复硬盘修复硬盘。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下举实施例,对本发明做进一步详细说明。

一种修复酷鱼10代希捷硬盘ROM错误的方法,包括以下步骤:

S1:硬盘供电正常,进入指令模式,读取数据到buffer,检测buffer数据是否为T,若是则将硬盘进入F级模式;

S2:读取ROM;

S3:写入ROM;

S4:修复硬盘。

作为优选,所述S2的详细步骤如下:

S201:对引脚端口进行初始化;

调用函数:UART0_SendBuf("e5");

S202:读取ROM内容到缓存;

调用函数:UART0_SendBuf("e4,200,1,0");

IRQ_READ_UART0();

S203:关掉引脚端口;

调用函数:UART0_SendBuf("e6");

S204:读取缓存数据的内容及大小;

调用函数:UART0_SendBuf("B");

S205:判断ROM内容大小是否为512KB,如果失败,则转到201,如果是,则表示读取成功,结束。

作为优选,所述S3的详细步骤如下:

S301:对引脚端口进行初始化;

调用函数:UART0_SendBuf("e5");

S302:对ROM进行擦除;

调用函数:UART0_SendBuf("e9");

S303:写入ROM内容;需要说明的是,这里的ROM内容可以是原盘的ROM内容,也可以是从匹配盘中提取的ROM内容。

调用函数:

UART0_SendBuf("e3,200,1,0");

UART0_SendStr(char*str);

S304:关掉引脚端口;

调用函数:UART0_SendBuf("e6");

S305:发送链接标记;

调用函数:UART0_SendBuf("U");

S306:让写入数据生效;

调用函数:UART0_SendBuf("W");

S307:判断指令是否“T>”,如果不是则失败,则转到301,如果是则退出。

作为优选,所述S4的详细步骤如下:

S401:将故障盘盘体上的CERT模块加载到故障盘电路板的缓存芯片中;

调用函数:UART0_Sendchar(0x12);//CERT模块加到缓存

S402:开启强制写模式,在1级工厂模式下开启强制写;

调用函数:

UART0_SendBuf("/1");//进入1级模式

UART0_SendBuf("F");

S403:在T级模式下初始化G表;

调用函数:

UART0_Sendchar(0x1A);//回到T级模式

UART0_SendBuf("i4,1,22");

S404:在1级工厂模式下清除S.M.A.R.T表;

通过调用以下函数实现:

UART0_SendBuf("/1");//进入1级模式

UART0_SendBuf("N1")。

下面是调用上述函数的具体方法:

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈 述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1