明远智睿技术论坛

 找回密码
 立即注册
搜索
查看: 6791|回复: 5
打印 上一主题 下一主题

EK314的EMMC是否可以覆盖写?

[复制链接]

1

主题

3

帖子

25

积分

新手上路

Rank: 1

积分
25
跳转到指定楼层
楼主
发表于 2016-10-10 16:40:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在uboot下对emmc进行擦除,发现emmc擦除是以512个block为单位进行擦除,但是如果我擦除的大小超过了512个block就会很容易失败。例如:mmc erase 3000 200就会成功, mmc erase 3000 1000通常会失败。
因为我要在uboot下更新文件系统,约128MB, 如果以512个block为单位进行擦除,需要进行512次擦除操作,里面消耗了约20分钟,难以忍受啊。
但后来我发现我不对emmc进行擦除,将文件系统写进去也是可以启动的,而且很正常,消耗的时间1分钟都不到,我看了一下mfg里面的xml文件的内容,里面也没有对emmc进行擦除,所以就想请教一下emmc是否不擦除也可以?也就是标题上的覆盖写。
回复

使用道具 举报

36

主题

745

帖子

2872

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2872
沙发
发表于 2016-10-11 14:57:56 | 只看该作者
xml文件是用fdisk类似相关命令分区,然后用mkfs.ext3格式化分区的空间,最后mount -t ext3的相关命令挂载分区,复制文件系统文件到分区里面。你想通网盘烧写128M的文件系统吗,你打包成什么格式?
回复 支持 反对

使用道具 举报

1

主题

3

帖子

25

积分

新手上路

Rank: 1

积分
25
板凳
 楼主| 发表于 2016-10-11 17:06:21 | 只看该作者
烧系统这个是没有问题的,我是想问一下在uboot下擦除EMMC应该怎么擦?
回复 支持 反对

使用道具 举报

36

主题

745

帖子

2872

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2872
地板
发表于 2016-10-12 10:33:00 | 只看该作者
yt_p 发表于 2016-10-11 17:06
烧系统这个是没有问题的,我是想问一下在uboot下擦除EMMC应该怎么擦?

mmc read addr blk# cnt
mmc write addr blk# cnt
mmc erase blk# cnt
mmc rescan
mmc part - lists available partition on current mmc device
mmc dev [dev] [part] - show or set current mmc device [partition]
mmc bootpart [dev] [part] - show or set boot partition
mmc list - lists available devices

Program the kernel uImage located in RAM at ${loadaddr} into the microSD. For
example the command to write the image with the size 0x400000 from ${loadaddr}
to the offset of 0x100000 of the microSD card. Refer to the following examples for
the definition of the mmc Parameters.

blk# = (microSD Offset)/(SD block length) = 0x100000/0x200 = 0x800
cnt = (image Size)/(SD block length) = 0x400000/0x200 = 0x2000

详细的需要计算一下

回复 支持 反对

使用道具 举报

1

主题

3

帖子

25

积分

新手上路

Rank: 1

积分
25
5#
 楼主| 发表于 2016-10-12 12:00:15 | 只看该作者
这个我已经知道了,是我表达不好吧。我问的是mmc erase 0x3000 0x1000 这样就会出错,而且擦除很慢。而且才擦这么一点,要是以后我擦0x40000(其实是0x40000*0x200这么大,大小我清楚的),这就需要很久了。
到底是硬件原因还是软件原因导致擦除的那么慢,还会出错呢?
回复 支持 反对

使用道具 举报

36

主题

745

帖子

2872

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2872
6#
发表于 2016-10-12 14:08:14 | 只看该作者
yt_p 发表于 2016-10-12 12:00
这个我已经知道了,是我表达不好吧。我问的是mmc erase 0x3000 0x1000 这样就会出错,而且擦除很慢。而且才 ...

我们分区都是烧写时分区,很少在u-boot里分区。10M的空间留给uImage ,你可以擦除稍微大点试试
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|明远智睿  

GMT+8, 2024-11-27 13:49 , Processed in 0.077149 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表