R6871-DC,无法进ECAL维修一例
本帖最后由 forester 于 2015-1-29 10:42 编辑前段时间从坛里买了一台R6871-DC,回来时发现无法进ECAL,别的功能正常检查了外围电路,没有发现有问题.开机也没有报错.
从wbxms处得知他有一台无法进ECAL,后来刷ROM解决了.
于是.买回6片W27C512 EEPROM,2.5元一片.
DIY一个编程器:
用ATMEGA16A做主控MCU,可支持12V-25V的烧写电压,可写FLASH\I2C EEPROM
用串口和电脑通信.
电路板背面.
用C#写好上位机软件,开始写入数据
把写好数据的二个W27C512 EEPROM 插到6871上
好了.可爱的ECAL亮起来了.
写了坛上下载下来的二个版本的程序:
11 22版本号: U D 00,
111 222版本号:U d 00 ,
我那无法进ECAL的版本号:U d00A0 00.
U d 00和我原装的ROM代码长度最长.
U D 00的代码长度短好多.
6871的ROM自检用的是和校验.有时和校验通过了.但ROM不一定是完整的.
下面是6871和校验汇偏代码:
ROMTest:
lea (ROM_00000).w,a0 ;装入开始累加的地址:ROM 0000
lea (ROM_1FFF0).l,a1 ;a1装入结束累加的地址
clr.l d0
ROMTestAdd:
add.w (a0)+,d0 ; 把a0处的数据累加到d0中,加完地址自增2
cmpa.la1,a0 ; 进行地址比较,
blt.s ROMTestAdd ;如果a0小于a1(1FF0)就跳转到ROMTestAdd,继续累加.
cmp.w (a0),d0 ; 加起来的结果D0和(ROM_1FFF0)地址内容进行字比较
bne.s loc_3DD4 ; 不相等。跳转到错误显示子程序
rts
loc_3DD4:
lea (Error_LEDData).l,a0
jsr LEDN_DIS_Err ; 向显示RAM写5个数据:Error
lea (Lattice_RO).l,a0
jsr Lattice_Load_Data ; 写入二个LED点阵数据:RO
jsr Delay100MS ; 延时100毫秒
学习了 超强大,进来学习了 龙夫,你好像好久没上群了. 祝贺楼主维修成功。
我的机器当时也是费了不少周折,起初估计是很小的故障,结果查遍了数字板有关的零件也没搞好,后来猜测可能是软件故障,结果重新刷Rom后故障消失了。
看来这个毛病是该机器的易发故障。 向楼主学习。 这个必须得顶 懂软件又懂硬件就是牛 只懂硬件的只能膜拜了{:142_372:} 技术牛人一个{:142_364:}{:142_364:}{:142_364:} laisla 发表于 2015-2-3 11:45
你读出的ROM是怎么反编译的?用什么工具?我也想分析我手上那个机子的ROM,找工具好像都用不了。
IDA Pro Advanced 网上有下 楼主做了个编程上位机,还利用手里的开发板做串口通讯,非常不错,充分利用资源,赞一个! 你
就是个人才 懂软件又懂硬件就是好,软硬兼施。 技术牛人一个 牛人真多呀 楼主技术全面,思路值得学习。 牛,咱只有羡慕的份。
懂软件又懂硬件就是牛!! 学习,记号一个 N年不来论坛,看到文件名是11 22 111 222就知道是我上传的,不错有人能用到{:142_364:} baof 发表于 2017-2-28 12:48
N年不来论坛,看到文件名是11 22 111 222就知道是我上传的,不错有人能用到
谢谢,谢谢!你这个ROM,救活了一台机,买家卖家都舒心。真正的造福坛友。
都是牛人,顶。
页:
[1]