nand write.yaffs疑惑

__阿飞__ 2012-10-26 10:14:50
本人接触嵌入式开发不久,最近leader叫我把一个yaffs文件烧到nand里,于是,我就照着他给我的命令操作了下,然后我又翻阅资料看下每条命令的意思,命令如下,命令下面是我自己的注释:


tftp 0x30000000 rootfs.yaffs
#通过tftp服务从env的serverip地址下载rootfs.yaffs到SDRAM的0x3000000地址

nand erase 0x260000 0x3d9c000
#擦除nand flash 0x260000地址的 0x3d9c000大小字节

nand write.yaffs 0x30000000 0x260000 0
#...不懂 0 是什么意思, 最后参数不是size的单位嘛,怎么是0,竟然还能烧进去,程序也能正常启动


最后一条命令我有点不怎么懂,查阅资料,资料均如下显示

nand write[.yaffs[1]] addr off size
#烧写yaffs 映像专用的命令,.yaffs1 for 512+16 NAND
#最后参数不是size的意思嘛?为什么我写0仍然烧写进去了?


希望大家帮着看下,谢谢!
...全文
353 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
__阿飞__ 2012-10-26
  • 打赏
  • 举报
回复
晕,我问了下leader,他说:写个0自动判断文件大小去烧写,又收获了点东西,不过这个知识点我在百度没找到,汗,希望大家也晓得下.
[Quote=引用 1 楼 的回复:]

nand write实现得比较智能?size=0的时候,就用文件的实际尺寸进行写操作?
[/Quote]
__阿飞__ 2012-10-26
  • 打赏
  • 举报
回复
我把这个uboot的env打出来大家看下:

utu-bootloader=>>>printenv
install-bootloader=tftp 30000000 u-boot.bin;nand erase 0 40000;nand write 30000000 0 0
install-kernel=tftp 30000000 uImage;nand erase 60000 200000;nand write.i 30000000 60000 0
install-filesystem=tftp 30000000 rootfs.arm.jffs2;nand erase 260000 3d9c000;nand write.jffs2 30000000 260000 0
erase-env=nand erase 40000 20000
bootargs=mem=64M root=/dev/mtdblock2 rw rootfstype=yaffs console=ttySAC0,115200
bootcmd=nboot 0x32000000 0 0x60000; bootm
bootdelay=1
baudrate=115200
ethaddr=00:0c:20:02:0a:5b
netmask=255.255.255.0
ipaddr=192.168.18.77
serverip=192.168.18.103
stdin=serial
stdout=serial
stderr=serial

Environment size: 605/131068 bytes
__阿飞__ 2012-10-26
  • 打赏
  • 举报
回复
我想的也是这样,就好比那个$filesize一样,自动读取?不晓得
[Quote=引用 1 楼 的回复:]

nand write实现得比较智能?size=0的时候,就用文件的实际尺寸进行写操作?
[/Quote]
曹大夯 2012-10-26
  • 打赏
  • 举报
回复
nand write实现得比较智能?size=0的时候,就用文件的实际尺寸进行写操作?

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧