|
读512M nand flash 的ID顺序颠倒的问题求助
[复制链接]
读ID的代码如下
;set timing value
ldr r0, =(7<<12)|(7<<8)|(7<<4 str r0, [r5]
;enable control--------这个没有错,和nand.c中初始化是一样的。
ldr r0, =(0<<13)|(0<<12)|(0<<10)|(0<<9)|(0<<8)|(1<<6)|(1<<5)|(1<<4)|(1<<1)|(1<<0)
str r0, [r5, #4]
bl ReadNandID
;===========================================================
ReadNandID
mov r7,#NFCONF
ldr r0,[r7,#4] ;NFChipEn();
bic r0,r0,#2
str r0,[r7,#4]
mov r0,#0x90 ;WrNFCmd(RdIDCMD);
strb r0,[r7,#8]
mov r4,#0 ;WrNFAddr(0);
strb r4,[r7,#0xc]
1 ;while(NFIsBusy());
ldr r0,[r7,#0x20]
tst r0,#1
beq %B1
ldrb r0,[r7,#0x10] ;id = RdNFDat()<<8;
mov r0,r0,lsl #8
ldrb r1,[r7,#0x10] ;id |= RdNFDat();
orr r5,r1,r0
ldr r0,[r7,#4] ;NFChipDs();
orr r0,r0,#2
str r0,[r7,#4]
mov pc,lr
------------现在出现的情况是读出的ID顺序颠倒了,按照数据手册全部ID读出来应该是0xecdc109554h的,根据上面程序读了最高的0xecdc,但是竟然是0x5410,
是怎么回事?时钟设置有关吗?
|
|