管理提醒: 本帖被 qq2440 从 Linux技术交流专区 移动到本区(2010-02-08)
小弟在mini2440上移植了nand 启动(nand 型号K9F1G08U0B) ,现在使用nand write 命令出错,还请高手指教!!
出错信息:
[mini2440]# tftp 30800000 ramdisk.gz
dm9000 i/o: 0x20000300, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 08:00:3e:26:0a:5b
TFTP from server 192.168.9.101; our IP address is 192.168.9.100
Filename 'ramdisk.gz'.
Load address: 0x30800000
Loading: T #######################################
done
Bytes transferred = 564557 (89d4d hex)
[mini2440]# nand write 30008000 400000 89d4d
NAND write: device 0 offset 0x400000, size 0x89d4d
Skip bad block 0x00400000
nand_write: Attempt to write not page aligned data
NAND write to offset 4a0000 failed -22
524288 bytes written: ERROR
好像应该修改 nand_base.c中的nand_write函数,但是具体怎么修改呢?好像是没有对齐数据,网上说是分区要128K对齐,但是uboot的分区信息在哪里修改?我是在内核修改的,所以好像烧写也与uboot分区也无关吧?我仅仅是写入指定偏移的数据,只要指定的偏移满足128k对齐就行了吧?我这个地址400000是对齐的啊,大家帮帮忙吧。或者谁做过联系我QQ:168244380 万分感谢!
[ 此帖被linuxway在2009-10-23 14:45重新编辑 ]