如何访问 nand flash 分区 - 嵌入式开发 - Linux论坛
来源:百度文库 编辑:神马文学网 时间:2024/04/27 22:41:40
我用提优龙 2440 中 NAND Flash 总共 64M,系统只用了前 32M,
我希望把后面 32M 利用来存储我自己的数据,
系统是 2.6.30.4,在 common-S3C2440.c 中的 uc_default_nand_part 数组加上一项:
[3] = {
.name = "cfg",
.offset = 0x02000000,
.size = 0x01000000,
}
启动后,增加了一个分区 /dev/mtdblock3;
但这个 mtdblock3 如何加载成一个可以访问的磁盘分区呢?
以下是几次失败的尝试:
=============================================================================
[root@(none) /]# mount /dev/mtdblock3 /tmp/cfg
mount: mounting /dev/mtdblock3 on /tmp/cfg failed: Invalid argument
[root@(none) /]# mount /dev/mtdblock3 /tmp/cfg -t ext2
mount: mounting /dev/mtdblock3 on /tmp/cfg failed: Invalid argument
[root@(none) /]# mkfs.minix /dev/mtdblock3
5472 inodes
16384 blocks
Firstdatazone=176 (176)
Zonesize=1024
Maxsize=268966912
[root@(none) /]# mount /dev/mtdblock3 /tmp/cfg -t minix
mount: mounting /dev/mtdblock3 on /tmp/cfg failed: No such device
=============================================================================
请问我应该怎么做?
谢谢。
| | |
发短消息加为好友
T-Bagwell 当前离线
UID
11344913
帖子
4188
精华
20
积分
9550
可用积分
9550
信誉积分
5
专家积分
35
空间积分
0
阅读权限
100
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
版主
帖子
4188
主题
126
精华
20
可用积分
9550
专家积分
35
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
状态:...保密...
[] [博客] [短信]
2楼 发表于 2010-01-22 11:55 |只看该作者
mount -t minix -o loop /dev/mtdblock3 /tmp/cfg
mount -t minix -o nolock /dev/mtdblock3 /tmp/cfg
__________________________________
吹牛B谁都会,但是能把牛B吹破就是一种本事,能让人佩服,吹不破就别吹了,累
| | |
发短消息加为好友
chengdot 当前离线
UID
22843309
帖子
48
精华
0
积分
72
可用积分
72
信誉积分
100
专家积分
0
空间积分
0
阅读权限
10
在线时间
46 小时
注册时间
2009-11-10
最后登录
2010-08-23
侠客
帖子
48
主题
8
精华
0
可用积分
72
专家积分
0
在线时间
46 小时
注册时间
2009-11-10
最后登录
2010-08-23
状态:...当前离线...
[] [博客] [短信]
3楼 发表于 2010-01-22 12:17 |只看该作者
[root@(none) /]# mount -o loop /dev/mtdblock3 /tmp/cfg
mount: mounting /dev/mtdblock3 on /tmp/cfg failed: Invalid argument
[root@(none) /]# mount -o nolock /dev/mtdblock3 /tmp/cfg
mount: mounting /dev/mtdblock3 on /tmp/cfg failed: Invalid argument
| | |
发短消息加为好友
T-Bagwell 当前离线
UID
11344913
帖子
4188
精华
20
积分
9550
可用积分
9550
信誉积分
5
专家积分
35
空间积分
0
阅读权限
100
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
版主
帖子
4188
主题
126
精华
20
可用积分
9550
专家积分
35
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
状态:...保密...
[] [博客] [短信]
4楼 发表于 2010-01-22 12:41 |只看该作者
kernel编译的时候选上了minix了吗?
__________________________________
吹牛B谁都会,但是能把牛B吹破就是一种本事,能让人佩服,吹不破就别吹了,累
| | |
发短消息加为好友
chengdot 当前离线
UID
22843309
帖子
48
精华
0
积分
72
可用积分
72
信誉积分
100
专家积分
0
空间积分
0
阅读权限
10
在线时间
46 小时
注册时间
2009-11-10
最后登录
2010-08-23
侠客
帖子
48
主题
8
精华
0
可用积分
72
专家积分
0
在线时间
46 小时
注册时间
2009-11-10
最后登录
2010-08-23
状态:...当前离线...
[] [博客] [短信]
5楼 发表于 2010-01-22 13:57 |只看该作者
QUOTE:
原帖由 T-Bagwell 于 2010-1-22 12:41 发表
kernel编译的时候选上了minix了吗?
谢谢 Bagwell 的提醒,内核的确没选上 minix,加上可以 mount 了,
(我本来以为有了 mkfs.minix,内核就是支持的,后来才发现 mkfs.minix 是 busybox 带来的。)
但是又有问题:
mount 到 /tmp/cfg 后,在 /tmp/cfg 中的建立、修改文件,在断电之后却不能被保存下来,
连用上 sync 都不管用,除非 umount 或 reboot (会调用 umount ?);
这又是怎么回事?
| | |
发短消息加为好友
T-Bagwell 当前离线
UID
11344913
帖子
4188
精华
20
积分
9550
可用积分
9550
信誉积分
5
专家积分
35
空间积分
0
阅读权限
100
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
版主
帖子
4188
主题
126
精华
20
可用积分
9550
专家积分
35
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
状态:...保密...
[] [博客] [短信]
6楼 发表于 2010-01-22 14:23 |只看该作者
是不是必须用minix呢?
比如ext2
如果是flash的话,jffs2 yaffs 都应该可以的
__________________________________
吹牛B谁都会,但是能把牛B吹破就是一种本事,能让人佩服,吹不破就别吹了,累
| | |
发短消息加为好友
chengdot 当前离线
UID
22843309
帖子
48
精华
0
积分
72
可用积分
72
信誉积分
100
专家积分
0
空间积分
0
阅读权限
10
在线时间
46 小时
注册时间
2009-11-10
最后登录
2010-08-23
侠客
帖子
48
主题
8
精华
0
可用积分
72
专家积分
0
在线时间
46 小时
注册时间
2009-11-10
最后登录
2010-08-23
状态:...当前离线...
[] [博客] [短信]
7楼 发表于 2010-01-22 14:38 |只看该作者
QUOTE:
原帖由 T-Bagwell 于 2010-1-22 14:23 发表
是不是必须用minix呢?
比如ext2
如果是flash的话,jffs2 yaffs 都应该可以的
那倒不是,不过 busybox 中的 mkfs 只有 minix 版本,
而我又一时没找到 mkfs 的代码和可以在 arm 中运行的 mkfs.ext2/yaffs 等版本,
| | |
发短消息加为好友
T-Bagwell 当前离线
UID
11344913
帖子
4188
精华
20
积分
9550
可用积分
9550
信誉积分
5
专家积分
35
空间积分
0
阅读权限
100
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
版主
帖子
4188
主题
126
精华
20
可用积分
9550
专家积分
35
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
状态:...保密...
[] [博客] [短信]
8楼 发表于 2010-01-22 15:08 |只看该作者
不用
这个你可以在pc上做一个,然后烧写到flash里
__________________________________
吹牛B谁都会,但是能把牛B吹破就是一种本事,能让人佩服,吹不破就别吹了,累
| | |
发短消息加为好友
chengdot 当前离线
UID
22843309
帖子
48
精华
0
积分
72
可用积分
72
信誉积分
100
专家积分
0
空间积分
0
阅读权限
10
在线时间
46 小时
注册时间
2009-11-10
最后登录
2010-08-23
侠客
帖子
48
主题
8
精华
0
可用积分
72
专家积分
0
在线时间
46 小时
注册时间
2009-11-10
最后登录
2010-08-23
状态:...当前离线...
[] [博客] [短信]
9楼 发表于 2010-01-22 15:22 |只看该作者
嗯,烧了一个 ext2 的,现象一样,非要 umount 数据才能保存,
真奇怪。。。。
我怀疑 busybox 提供的 sync 没正确工作,自己写了一个执行程序调用 api 中的 sync(),
但现象依旧。
难道以后都要 umount ?
| | |
发短消息加为好友
T-Bagwell 当前离线
UID
11344913
帖子
4188
精华
20
积分
9550
可用积分
9550
信誉积分
5
专家积分
35
空间积分
0
阅读权限
100
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
版主
帖子
4188
主题
126
精华
20
可用积分
9550
专家积分
35
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
状态:...保密...
[] [博客] [短信]
10楼 发表于 2010-01-22 15:25 |只看该作者
mount -o 选项加上一个sync应该就可以了
或者mount的时候-o加上一个rw,然后手动sync
__________________________________
我希望把后面 32M 利用来存储我自己的数据,
系统是 2.6.30.4,在 common-S3C2440.c 中的 uc_default_nand_part 数组加上一项:
[3] = {
.name = "cfg",
.offset = 0x02000000,
.size = 0x01000000,
}
启动后,增加了一个分区 /dev/mtdblock3;
但这个 mtdblock3 如何加载成一个可以访问的磁盘分区呢?
以下是几次失败的尝试:
=============================================================================
[root@(none) /]# mount /dev/mtdblock3 /tmp/cfg
mount: mounting /dev/mtdblock3 on /tmp/cfg failed: Invalid argument
[root@(none) /]# mount /dev/mtdblock3 /tmp/cfg -t ext2
mount: mounting /dev/mtdblock3 on /tmp/cfg failed: Invalid argument
[root@(none) /]# mkfs.minix /dev/mtdblock3
5472 inodes
16384 blocks
Firstdatazone=176 (176)
Zonesize=1024
Maxsize=268966912
[root@(none) /]# mount /dev/mtdblock3 /tmp/cfg -t minix
mount: mounting /dev/mtdblock3 on /tmp/cfg failed: No such device
=============================================================================
请问我应该怎么做?
谢谢。
| | |
发短消息加为好友
T-Bagwell 当前离线
UID
11344913
帖子
4188
精华
20
积分
9550
可用积分
9550
信誉积分
5
专家积分
35
空间积分
0
阅读权限
100
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
版主
帖子
4188
主题
126
精华
20
可用积分
9550
专家积分
35
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
状态:...保密...
[] [博客] [短信]
2楼 发表于 2010-01-22 11:55 |只看该作者
mount -t minix -o loop /dev/mtdblock3 /tmp/cfg
mount -t minix -o nolock /dev/mtdblock3 /tmp/cfg
__________________________________
吹牛B谁都会,但是能把牛B吹破就是一种本事,能让人佩服,吹不破就别吹了,累
| | |
发短消息加为好友
chengdot 当前离线
UID
22843309
帖子
48
精华
0
积分
72
可用积分
72
信誉积分
100
专家积分
0
空间积分
0
阅读权限
10
在线时间
46 小时
注册时间
2009-11-10
最后登录
2010-08-23
侠客
帖子
48
主题
8
精华
0
可用积分
72
专家积分
0
在线时间
46 小时
注册时间
2009-11-10
最后登录
2010-08-23
状态:...当前离线...
[] [博客] [短信]
3楼 发表于 2010-01-22 12:17 |只看该作者
[root@(none) /]# mount -o loop /dev/mtdblock3 /tmp/cfg
mount: mounting /dev/mtdblock3 on /tmp/cfg failed: Invalid argument
[root@(none) /]# mount -o nolock /dev/mtdblock3 /tmp/cfg
mount: mounting /dev/mtdblock3 on /tmp/cfg failed: Invalid argument
| | |
发短消息加为好友
T-Bagwell 当前离线
UID
11344913
帖子
4188
精华
20
积分
9550
可用积分
9550
信誉积分
5
专家积分
35
空间积分
0
阅读权限
100
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
版主
帖子
4188
主题
126
精华
20
可用积分
9550
专家积分
35
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
状态:...保密...
[] [博客] [短信]
4楼 发表于 2010-01-22 12:41 |只看该作者
kernel编译的时候选上了minix了吗?
__________________________________
吹牛B谁都会,但是能把牛B吹破就是一种本事,能让人佩服,吹不破就别吹了,累
| | |
发短消息加为好友
chengdot 当前离线
UID
22843309
帖子
48
精华
0
积分
72
可用积分
72
信誉积分
100
专家积分
0
空间积分
0
阅读权限
10
在线时间
46 小时
注册时间
2009-11-10
最后登录
2010-08-23
侠客
帖子
48
主题
8
精华
0
可用积分
72
专家积分
0
在线时间
46 小时
注册时间
2009-11-10
最后登录
2010-08-23
状态:...当前离线...
[] [博客] [短信]
5楼 发表于 2010-01-22 13:57 |只看该作者
QUOTE:
原帖由 T-Bagwell 于 2010-1-22 12:41 发表
kernel编译的时候选上了minix了吗?
谢谢 Bagwell 的提醒,内核的确没选上 minix,加上可以 mount 了,
(我本来以为有了 mkfs.minix,内核就是支持的,后来才发现 mkfs.minix 是 busybox 带来的。)
但是又有问题:
mount 到 /tmp/cfg 后,在 /tmp/cfg 中的建立、修改文件,在断电之后却不能被保存下来,
连用上 sync 都不管用,除非 umount 或 reboot (会调用 umount ?);
这又是怎么回事?
| | |
发短消息加为好友
T-Bagwell 当前离线
UID
11344913
帖子
4188
精华
20
积分
9550
可用积分
9550
信誉积分
5
专家积分
35
空间积分
0
阅读权限
100
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
版主
帖子
4188
主题
126
精华
20
可用积分
9550
专家积分
35
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
状态:...保密...
[] [博客] [短信]
6楼 发表于 2010-01-22 14:23 |只看该作者
是不是必须用minix呢?
比如ext2
如果是flash的话,jffs2 yaffs 都应该可以的
__________________________________
吹牛B谁都会,但是能把牛B吹破就是一种本事,能让人佩服,吹不破就别吹了,累
| | |
发短消息加为好友
chengdot 当前离线
UID
22843309
帖子
48
精华
0
积分
72
可用积分
72
信誉积分
100
专家积分
0
空间积分
0
阅读权限
10
在线时间
46 小时
注册时间
2009-11-10
最后登录
2010-08-23
侠客
帖子
48
主题
8
精华
0
可用积分
72
专家积分
0
在线时间
46 小时
注册时间
2009-11-10
最后登录
2010-08-23
状态:...当前离线...
[] [博客] [短信]
7楼 发表于 2010-01-22 14:38 |只看该作者
QUOTE:
原帖由 T-Bagwell 于 2010-1-22 14:23 发表
是不是必须用minix呢?
比如ext2
如果是flash的话,jffs2 yaffs 都应该可以的
那倒不是,不过 busybox 中的 mkfs 只有 minix 版本,
而我又一时没找到 mkfs 的代码和可以在 arm 中运行的 mkfs.ext2/yaffs 等版本,
| | |
发短消息加为好友
T-Bagwell 当前离线
UID
11344913
帖子
4188
精华
20
积分
9550
可用积分
9550
信誉积分
5
专家积分
35
空间积分
0
阅读权限
100
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
版主
帖子
4188
主题
126
精华
20
可用积分
9550
专家积分
35
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
状态:...保密...
[] [博客] [短信]
8楼 发表于 2010-01-22 15:08 |只看该作者
不用
这个你可以在pc上做一个,然后烧写到flash里
__________________________________
吹牛B谁都会,但是能把牛B吹破就是一种本事,能让人佩服,吹不破就别吹了,累
| | |
发短消息加为好友
chengdot 当前离线
UID
22843309
帖子
48
精华
0
积分
72
可用积分
72
信誉积分
100
专家积分
0
空间积分
0
阅读权限
10
在线时间
46 小时
注册时间
2009-11-10
最后登录
2010-08-23
侠客
帖子
48
主题
8
精华
0
可用积分
72
专家积分
0
在线时间
46 小时
注册时间
2009-11-10
最后登录
2010-08-23
状态:...当前离线...
[] [博客] [短信]
9楼 发表于 2010-01-22 15:22 |只看该作者
嗯,烧了一个 ext2 的,现象一样,非要 umount 数据才能保存,
真奇怪。。。。
我怀疑 busybox 提供的 sync 没正确工作,自己写了一个执行程序调用 api 中的 sync(),
但现象依旧。
难道以后都要 umount ?
| | |
发短消息加为好友
T-Bagwell 当前离线
UID
11344913
帖子
4188
精华
20
积分
9550
可用积分
9550
信誉积分
5
专家积分
35
空间积分
0
阅读权限
100
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
版主
帖子
4188
主题
126
精华
20
可用积分
9550
专家积分
35
来自
北京
在线时间
627 小时
注册时间
2007-12-10
最后登录
2010-09-04
状态:...保密...
[] [博客] [短信]
10楼 发表于 2010-01-22 15:25 |只看该作者
mount -o 选项加上一个sync应该就可以了
或者mount的时候-o加上一个rw,然后手动sync
__________________________________
如何访问 nand flash 分区 - 嵌入式开发 - Linux论坛
嵌入式Linux开发简介
嵌入式Linux开发资源大全
嵌入式linux系统开发概述
嵌入式linux系统开发概述
嵌入式Linux开发简介2
循序渐进学习嵌入式Linux开发
Linux嵌入式开发与应用
嵌入式Linux下NAND存储系统的设计与实现hxy
Linux下自动加载访问ntfs分区
嵌入式Linux开发系列之一: 走进嵌入式Linux的世界
嵌入式设备上的 Linux 系统开发
嵌入式Linux系统的触摸屏驱动开发
linux下Nand Flash的JFFS2文件系统的移植
Android building system - linux嵌入式驱动开发,linux嵌...
linux input subsystem 架构分析 - linux嵌入式驱动软件开发 -...
[原创]Nand ECC校验和纠错原理及2.6.27内核ECC代码分析 - 嵌入式开发 -...
嵌入式资讯网--提供嵌入式/开发板/嵌入式培训/Linux/Unix资讯
嵌入式Linux开发书籍、网站及资料汇总
如何进入到嵌入式系统开发行业
如何从零开始开发一款嵌入式产品
如何进入到嵌入式系统开发行业
Linux新手必看:浅谈如何学习linux 嵌入式技术论坛
如何在LINUX下实现硬件的自动检测(下)-Linux伊甸园----Linux|Unix|新闻|下载|论坛|人才|教程|自由软件|嵌入式|安装|开源|qq|RedHat|SUSE|命令|Mandriv