- 积分
- 2
贡献0
飞刀0 FD
注册时间2010-6-23
在线时间0 小时
扫一扫,手机访问本帖
|
CheckBadBlk
mov r7, lr
mov r5, #NFCONF
bic r0,r0,#0x3f ;addr &= ~0x3f;
ldr r1,[r5,#4] ;NFChipEn()
bic r1,r1,#2
str r1,[r5,#4]
mov r1,#0x00
strb r1,[r5,#8] ;WrNFCmd(READCMD)
mov r1, #0 ;2048&0xff
strb r1,[r5,#0xc] ;WrNFAddr(2048&0xff);
mov r1, #8 ;(2048>>8)&0xf
strb r1,[r5,#0xc]
strb r0,[r5,#0xc] ;WrNFAddr(addr)
mov r1,r0,lsr #8 ;WrNFAddr(addr>>8)
strb r1,[r5,#0xc]
cmp r6,#0 ;if(NandAddr)
movne r1,r0,lsr #16 ;WrNFAddr(addr>>16)
strb r1,[r5,#0xc]
mov r1,#0x30 ;WrNFCmd(0x30)
strb r1,[r5,#8]
mov r0, #100
1
subs r0, r0, #1
bne %B1
2
ldr r0, [r5, #0x20]
tst r0, #1
beq %B2
ldrb r0, [r5,#0x10] ;RdNFDat()
sub r0, r0, #0xff
ldr r1,[r5,#4] ;NFChipDs()
orr r1,r1,#2
str r1,[r5,#4]
mov pc, r7
这是光盘附带的源码中的一小段,它附近的我看懂了 检查每一块的第一页,好的就复制,块的就检查下一个,对吧。这段是具体的检查过程, 看了好久 谁能帮我解释下啊,不胜感激 |
|