TI中文支持网
TI专业的中文技术问题搜集分享网站

关于AM335x EMMC启动问题

我们公司用335X已经很久了,系统都是从MMC1的EMMC存储启动,最近发现,有些设备重启后,就不能从EMMC启动了。

重启方式是执行完linux系统的脚本,然后通过断电方式重启的。

然后通过MMC0的TF卡系统,检查MLO文件,没有任何问题(放到别的正常机子试过)。

然后把EMMC存储重新删除分区,再分区,再格式化,又可以从EMMC启动了。

请问这个大概是什么问题呢?EMMC分4个区,第一分区是FAT32,存放MLO、u-boot.img、uImage

Shine:

这些板子是新做的还是以前的旧板用了一段时间后出现这个问题?

请先检查下板子的sysboot管脚上下拉,emmc的焊接。

jianhui alvin:

回复 Shine:

你好,这些板子是新造的,sysboot已经检查过了,符合启动的设置。

启动不成功的时候,是一直CCCC;

用TF卡启动,然后给emmc重新分区,格式化,又能启动,所以十分奇怪。

Steven Liu1:

回复 jianhui alvin:

重启方式是执行完linux系统的脚本,然后通过断电方式重启的。

这个是使用的reboot命令,还是说你按了板子上硬件的warm reset按键?还是g给板子下电了再上电?

TF卡启动走同样的流程也有这个问题吗?还是说就是EMMC有这问题?

jianhui alvin:

回复 Steven Liu1:

你好,

我是在 /etc/rc6.d/下面,增加一个脚本(序号为最末)执行一个应用程序,这个应用程序的作用是:断电-延时-上电;

TF卡平时只用于EMMC烧录,所以并没有测试TF是否也有这个问题。

出问题后,用TF卡进系统还是能操作EMMC里面的内容的,但是就不能从EMMC启动,必须删除分区-分区-格式化-拷贝系统。

Steven Liu1:

回复 jianhui alvin:

未必一定是emmc的问题。

1. 板子上有warm reset按钮么?直接按warm rest可以正常重新启动吗?

2. 如果是在命令行中直接敲reboot呢?

jianhui alvin:

回复 Steven Liu1:

你好,应该不是emmc的问题,是有概率的,而且是发生在更新MLO的时候

我们的MLO放在EMMC第一个分区(fat32),

升级的时候,先把新的MLO命名为MLO_new,拷贝到第一分区,然后旧的MLO mv 为MLO_bak,再接着把MLO_new mv 为 MLO,最后重启设备来生效。

这方式有一定小概率导致CCC。

当出现的时候,我把 MLO mv为MLO_new, 再把旧的MLO_bak mv 为MLO,就可以启动了,看起来是否是335x内部ROM对 MLO在分区的位置有所限制?

Jian Zhou:

回复 jianhui alvin:

eMMC是如何烧写的?感觉烧写的方法有问题。

jianhui alvin:

回复 Jian Zhou:

以下是是烧写过程:

dd if=/dev/zero of=/dev/mmcblk1 bs=1024 count=1024

SIZE=`fdisk -l /dev/mmcblk1 | grep Disk | awk '{print $5}'`

echo DISK SIZE – $SIZE bytes

CYLINDERS=`echo $SIZE/255/63/512 | bc`

sfdisk -D -H 255 -S 63 -C $CYLINDERS $DRIVE << EOF,5,0x0C,*6,30,,-37,30,,-68,,,-

mkfs.vfat -F 32 -n "boot" /dev/mmcblk1p1

mkfs.ext4 -L "rootfs" /dev/mmcblk1p2

mkfs.ext4 -L "User" /dev/mmcblk1p3

mkfs.vfat -F 32 -n "media" /dev/mmcblk1p4

cp MLO /media/mmcblk1p1/cp u-boot.img /media/mmcblk1p1/cp am335x-evmsk.dtb /media/mmcblk1p1/cp uImage /media/mmcblk1p1/

Jian Zhou:

回复 jianhui alvin:

有参考过这篇帖子里的eMMC烧写脚本么?

user5057925:

回复 Jian Zhou:

请问emmc烧写脚本的链接是什么,我也想将整个系统镜像烧写到emmc中。

赞(0)
未经允许不得转载:TI中文支持网 » 关于AM335x EMMC启动问题
分享到: 更多 (0)