CallMeBroYang

CallMeBroYang

1个粉丝

7

问答

0

专栏

0

资料

CallMeBroYang  发布于  2017-03-15 09:37:28
采纳率 0%
7个问答
5697

busybox提供的nandwrite是否支持yaffs2烧写?

 
本帖最后由 CallMeBroYang 于 2017-3-15 10:58 编辑

分区如下:
[code]dev:    size   erasesize  name
mtd0: 00100000 00020000 "boot"
mtd1: 00300000 00020000 "kernel"
mtd2: 0fc00000 00020000 "rootfs"
mtd3: 10000000 00020000 "reserved"[/code]

使用busybox自带的flash_eraseall与nandwrite命令,
升级命令如下:
[code]flash_eraseall /dev/mtd0
nandwrite -p /dev/mtd1 u-boot-hi3519v101.bin

flash_eraseall /dev/mtd1
nandwrite -p /dev/mtd1 uImage_hi3519v101

flash_eraseall /dev/mtd2
nandwrite -p /dev/mtd2 rootfs_hi3519v101_2k_4bit.yaffs2[/code]

boot与kernel都可以升级成功,但是rootfs升级失败,启动时提示“No working init found”,
在uboot里烧写rootfs_hi3519v101_2k_4bit.yaffs2文件是可以启动的。

然后尝试把 rootfs_hi3519v101_2k_4bit.yaffs2 用 nandwrite 写到 mtd3,挂载,
只看到lost+found,其他文件都没了。
[code]flash_eraseall /dev/mtd3
nandwrite -p /dev/mtd3 rootfs_hi3519v101_2k_4bit.yaffs2[/code]

[code]~ # mount -t yaffs /dev/mtdblock3 /mnt
yaffs: dev is 32505859 name is "mtdblock3" rw
yaffs: passed flags ""
~ # ls /mnt
lost+found[/code]

参照:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3769834
的方法,使用mtd-utils提供的相同命令,也是不行。

不知大家有谁用nandwrite升级yaffs文件系统成功过的。
我来回答
回答8个
时间排序
认可量排序

CallMeBroYang

1个粉丝

7

问答

0

专栏

0

资料

CallMeBroYang 2017-03-15 10:22:51
认可0
本帖最后由 CallMeBroYang 于 2017-3-15 10:58 编辑

看了下海思提供的PC端 mkyaffs2image 命令与 uboot的 nand write.yaffs 命令源码,都是海思针对芯片FMC修改过的。

cangcanglang

0个粉丝

1

问答

0

专栏

0

资料

cangcanglang 2017-03-15 14:56:05
认可0
有个flashcp命令不过不是很好用,还是mtd的工具兼容性最好

CallMeBroYang

1个粉丝

7

问答

0

专栏

0

资料

CallMeBroYang 2017-03-15 16:09:37
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=46586&ptid=14529]cangcanglang 发表于 2017-3-15 14:56[/url]
有个flashcp命令不过不是很好用,还是mtd的工具兼容性最好[/quote]

flashcp尝试过,不行啊

awb

0个粉丝

6

问答

0

专栏

0

资料

awb 2018-03-10 14:57:00
认可0
楼主解决了没有?

zjx94

0个粉丝

7

问答

0

专栏

0

资料

zjx94 2018-03-17 10:35:16
认可0
说明文档里有写: 注意根文件系统格式,和bootcmd。
烧写映像文件到SPI Flash::
    4)烧写文件系统
        mw.b 42000000 ff b00000
        tftp 42000000 rootfs_hi3531a_64k.jffs2
        sf probe 0
        sf erase 500000 b00000
        sf write 42000000 500000 b00000
    5)设置启动参数
        setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),4M(kernel),11M(rootfs)'
        setenv bootcmd 'sf probe 0;sf read 0x42000000 0x100000 0x400000;bootm 0x42000000'
        sa

烧写映像文件到NAND Flash::
4)烧写文件系统
        mw.b 42000000 ff 2000000
        tftp 42000000 rootfs_hi3531a_2k_4bit.yaffs2
        nand erase 500000 2000000
        nand write.yaffs 42000000 500000  96d200    #注意:96d200为rootfs文件实际大小(16进制)
    5)设置启动参数
            setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 mtdparts=hinand:1M(boot),4M(kernel),32M(rootfs),27M(test)'
        setenv bootcmd 'nand read 0x42000000 0x100000 0x400000;bootm 0x42000000'
        sa

jar4812

0个粉丝

4

问答

0

专栏

0

资料

jar4812 2018-03-27 17:38:42
认可0
我也遇到同样问题, busybox 中的 nandwrite 没提供对 OOB刻录支持, 因此应该是无法刻录 yaffs2 格式档案.

hero

0个粉丝

1

问答

0

专栏

0

资料

hero 2018-03-17 13:49:00
认可0
:victory::victory::victory::victory::victory:

qn1522720710

0个粉丝

9

问答

0

专栏

0

资料

qn1522720710 2020-11-12 16:32:52
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=46597&ptid=14529]CallMeBroYang 发表于 2017-3-15 16:09[/url]
flashcp尝试过,不行啊[/quote]

我也遇到同样的问题,一样的没结果{:3_62:}
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区