各位大侠,小弟最新移植了一版u-boot,到现在为止还有nand flash无法写入的问题(read、erase等操作都能正常完成),请版上的大牛们帮我看看,u-boot操作的log我已经传到附件中了~
实验说明:
1. 我先往0x31000000地址处写了一些数据,这些数据通过md.b 0x31000000 0x20打印出来
2. 然后nand write 0x31000000 0x560000 0x20(事先erase过的)
3.之后nand read 0x30000000 0x560000 0x20
4.最后md.b 0x30000000 0x20
实验过后发现读出的数据和写入的数据不一致,读出的数据全部是0xFF(读功能没有问题,数据确实是0xFF),我分析觉得是nand write写的有问题,然后把nand驱动的底层命令和数据都加了打印,但发现nand write的指令序列没有问题,所以现在就不知道问题出在哪了。。。。
打印全部在log.txt里面
寄存器初始化代码:
cfg = S3C2440_NFCONF_TACLS(tacls - 1);
cfg |= S3C2440_NFCONF_TWRPH0(twrph0 - 1);
cfg |= S3C2440_NFCONF_TWRPH1(twrph1 - 1);
writel(cfg, &nand_reg->nfconf);
cfg = (1<<4)|(0<<1)|(1<<0);
writel(cfg, &nand_reg->nfcont);
[ 此帖被net_count在2012-08-22 22:44重新编辑 ]