亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 54781 | 回復(fù): 12
打印 上一主題 下一主題

[驅(qū)動] busybox提供的nandwrite是否支持yaffs2燒寫? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-09-07 14:43 |只看該作者 |倒序?yàn)g覽
我用的目標(biāo)板是arm9 + linux 2.6.30.  采用yaffs2 文件系統(tǒng)。

分區(qū)如下:
dev:    size          erasesize  name
mtd0: 00020000 00020000 "bootstrap"
mtd1: 00040000 00020000 "uboot"
mtd2: 00020000 00020000 "env1"
mtd3: 00020000 00020000 "env2"
mtd4: 00200000 00020000 "linux"
mtd5: 07d60000 00020000 "root"


現(xiàn)在增加在線燒寫固件的功能。編譯最新的busybox 1.20后,得到flash_erase/flash_eraseall, nandwrite/nanddump.

在板子上分別運(yùn)行
flash_eraseall /dev/mtd4
nandwrite -p /dev/mtd4 new_uImage   //新的kernel
flash_eraseall /dev/mtd5
nandwrite -p /dev/mtd5 new_rfs.yaffs2 //新的文件系統(tǒng)


# reboot
save exit: isCheckpointed 1
The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL to all processes
Requesting system reboot
Restarting system.



重啟后,kernel升級成功,但文件系統(tǒng)載入失敗。錯誤信息如下:


Kernel command line: console=ttyS0,115200 root=/dev/mtdblock5 mtdparts=atmel_nan
d:128k(bootstrap)ro,256k(uboot)ro,128k(env1)ro,128k(env2)ro,2M(linux),-(root) rw
rootfstype=yaffs2
.
.
.
NET: Registered protocol family 1
NetWinder Floating Point Emulator V0.97 (double precision)
yaffs Jun 20 2012 15:58:17 Installing.
msgmni has been set to 121
io scheduler noop registered
.
.
.
NAND device: Manufacturer ID: 0x20, Chip ID: 0xf1 (ST Micro NAND 128MiB 3,3V 8-b
it)
AT91 NAND: 8-bit, Software ECC
Scanning device for bad blocks
6 cmdlinepart partitions found on MTD device atmel_nand
Creating 6 MTD partitions on "atmel_nand":
0x000000000000-0x000000020000 : "bootstrap"
0x000000020000-0x000000060000 : "uboot"
0x000000060000-0x000000080000 : "env1"
0x000000080000-0x0000000a0000 : "env2"
0x0000000a0000-0x0000002a0000 : "linux"
0x0000002a0000-0x000008000000 : "root"
.
.
.
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
yaffs: dev is 32505861 name is "mtdblock5"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.5, "mtdblock5"
uncorrectable error : <3>uncorrectable error : yaffs_read_super: isCheckpointed
0
VFS: Mounted root (yaffs2 filesystem) on device 31:5.
Freeing init memory: 124K
Warning: unable to open an initial console.
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
Backtrace:
[<c002b34c>] (dump_backtrace+0x0/0x104) from [<c002b468>] (dump_stack+0x18/0x1c)

r7:00000000 r6:c02ce87c r5:c0020eac r4:c02ce5b4
[<c002b450>] (dump_stack+0x0/0x1c) from [<c003ca4c>] (panic+0x40/0x10c)
[<c003ca0c>] (panic+0x0/0x10c) from [<c00274d4>] (init_post+0xd0/0x100)
r3:c3805e30 r2:0000000d r1:0000000c r0:c027794c
[<c0027404>] (init_post+0x0/0x100) from [<c0008a54>] (kernel_init+0xbc/0xe4)
r4:c02ce5b8
[<c0008998>] (kernel_init+0x0/0xe4) from [<c003ef5c>] (do_exit+0x0/0x58
r5:00000000 r4:00000000




請問是否busybox提供的nand擦寫工具不支持yaffs2?


論壇徽章:
0
2 [報告]
發(fā)表于 2012-09-07 16:48 |只看該作者
改成nandwrite -a -o /dev/mtd5 new_rfs.yaffs2 試試

論壇徽章:
0
3 [報告]
發(fā)表于 2012-09-07 18:35 |只看該作者
看了一下nandwrite的參數(shù),貌似比mtd-utils提供的相同命令要少啊。


#nandwrite -?

BusyBox v1.20.2 (2012-09-06 15:01:56 CST) multi-call binary.

Usage: nandwrite [-p] [-s ADDR] MTD_DEVICE [FILE]

Write to the specified MTD device

        -p      Pad to page size
        -s ADDR Start address



zhsishi 發(fā)表于 2012-09-07 16:48
改成nandwrite -a -o /dev/mtd5 new_rfs.yaffs2 試試

論壇徽章:
0
4 [報告]
發(fā)表于 2012-09-10 13:53 |只看該作者
有大蝦出手幫忙嗎? 這個問題郁悶死了。

論壇徽章:
0
5 [報告]
發(fā)表于 2012-09-10 15:26 |只看該作者
不采用在線升級,在bootloader下更新可以嗎

論壇徽章:
0
6 [報告]
發(fā)表于 2012-09-10 16:38 |只看該作者
項(xiàng)目要求遠(yuǎn)程以太網(wǎng)升級, 而且還有其它設(shè)備的升級包一并處理 ~~   

__SevenEleven 發(fā)表于 2012-09-10 15:26
不采用在線升級,在bootloader下更新可以嗎

論壇徽章:
0
7 [報告]
發(fā)表于 2012-09-12 16:13 |只看該作者
更新: 安裝編譯了mtd-utils v1.0.1版本,使用生成的nandwrite/flash_eraseall 工具去在線燒寫固件,癥狀依舊,mtd4的kernel image燒寫啟動成功,mtd5的yaffs2文件系統(tǒng)燒寫后,啟動失敗。

大家能幫忙分析一下嗎? 或者有能提供編譯好的工具和鏡像文件供我測試對比一下嗎?

這兩天這問題調(diào)的很辛苦。。。

論壇徽章:
0
8 [報告]
發(fā)表于 2013-05-08 10:37 |只看該作者
樓主升級成功了嗎?我也遇到同樣的問題,linux下燒寫yaffs2成功了,而且mount了一下,也看到文件了,就是啟動還找不到文件系統(tǒng)

論壇徽章:
0
9 [報告]
發(fā)表于 2013-11-19 19:22 |只看該作者
回復(fù) 1# fifodct

這個帖子還有人看嗎?
我前幾天也碰到這個問題,找了好久才找到解決的方法。
不過我用的是mtd-utils
燒寫yaffs2失敗的一個重要原因是,nandwrite時需要跳過nand的第一個block,不管這個block是不是好的
可以用這樣的格式:(這個nandwrite是mtd-utils里面的,推薦)
nandwrite -o -s 0x20000  /dev/mtd5   rfs.yaffs2
-s 表示跳過 0x20000大小的區(qū)域,在我的nand里面一個block為128k(就是0x20000)
-o 表示用rfs.yaffs2文件自帶的oob數(shù)據(jù)。
如果這個不行的話 再加一個 -a
nandwrite -o  -a -s 0x20000  /dev/mtd5   rfs.yaffs2
   

論壇徽章:
0
10 [報告]
發(fā)表于 2013-11-19 19:24 |只看該作者
回復(fù) 8# shamofeiyu


    這個帖子還有人看嗎?
我前幾天也碰到這個問題,找了好久才找到解決的方法。
不過我用的是mtd-utils
燒寫yaffs2失敗的一個重要原因是,nandwrite時需要跳過nand的第一個block,不管這個block是不是好的
可以用這樣的格式:(這個nandwrite是mtd-utils里面的,推薦)
nandwrite -o -s 0x20000  /dev/mtd5   rfs.yaffs2
-s 表示跳過 0x20000大小的區(qū)域,在我的nand里面一個block為128k(就是0x20000)
-o 表示用rfs.yaffs2文件自帶的oob數(shù)據(jù)。
如果這個不行的話 再加一個 -a
nandwrite -o  -a -s 0x20000  /dev/mtd5   rfs.yaffs2
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP