打印
[i.MX]

请教mfgtool烧写4位sd卡和emmc都不成功。

[复制链接]
8456|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
大家好:
          我的板子参考sabresd设计,使用的solo处理器,emmc和sabresd一样,使用SD4接口,而且是8位的(但是大小是4G)。tf卡接口和sabresd的接口一样都是使用的是SD3接口,但是使用的是4位的tf卡(sabresd使用的是8位的接口)。其他的硬件,包括console串口等都没有变化,但是以太网部分我修改为rmii了,我觉得这个和mfgtoo下载应该没有关系。另外mfgtool我使用的是L3.0.35_4.1.0_130816_images_MX6,碰到以下两个问题:

1. 烧写系统到sd卡,总是不成功。mfgtool可以进入到烧写过程,但是途中出错,我觉得是和sd卡的位数有关系,因为sabresd的uboot里面设置sd3和sd4都是8位:
#define CONFIG_MMC_8BIT_PORTS                0xC
,我可以修改自己编译的uboot和uImage,但是对于mfgtoo使用的uboot和uImage我不知道怎么修改,或者修改哪个地方,才能重新修改和编译出mfgtool使用的uboot和uImage。


2.烧写系统到emmc。由于sd卡我烧写不进去,就接着测试烧写到emmc,但是mfgtool的ucl2.xml里面针对solo只有:
<LIST name="i.MX6SOLO-SABRESD-SD" desc="Choose SD as media"> ,
没有烧写到emmc的命令流程,我参考ucl2.xml里面mx6DL的emmc烧写指令(实际就是copy之后,改了名字为:i.MX6SOLO-SABRESD-eMMC),修改为:
<LIST name="i.MX6SOLO-SABRESD-eMMC" desc="Choose eMMC Linux as media">,
同时在cfg.ini里面修改为:name = i.MX6SOLO-SABRESD-eMMC,
用此方法可以下载到emmc,mfgtool的烧写工作流程可以完成,直到显示done。但是重新上电后串口没有任何输出,在前面烧写sd卡和emmc的mfgtoo操作过程中,板子串口都是有输出的。

附:boot部分的原理图,所有boot引脚,只做boot功能使用,没有做其他的外设使用。烧写SD卡和emmc时的配置图中有说明,cf1_4我接gnd了,cf2_6我接3.3v了


BOOT设置图.JPG (173.83 KB )

BOOT设置图.JPG

相关帖子

沙发
vigous1| | 2015-2-14 21:38 | 只看该作者
刚开始uboot和uImage是烧进内存中的,不知道你这步成功了没,你可以看看串口的打印信息,或者看看log文件是否检测到了你的SD卡和EMMC

使用特权

评论回复
板凳
vigous1| | 2015-2-14 21:41 | 只看该作者
如果完全按照开发板来设计,uboot和uImage是不用改的,要改的话从官网下bsp,用LTIB修改重新编译就可以

使用特权

评论回复
地板
bigflower|  楼主 | 2015-2-14 22:19 | 只看该作者
mfgtool用到的uboot和uimage肯定是进内存了,烧写sd卡时到是只检测到了emmc没有sd的信息。我用自己的uboot替代mfgtool使用的uboot(也就是firmware目录,不是file目录的uboot),因为我修改了等待延时,所以能进uboot的命令行模式,原来自带的uboot等待延时太少进不去命令行,用命令可以检测到sd卡和emmc,

使用特权

评论回复
5
bigflower|  楼主 | 2015-2-14 22:20 | 只看该作者
mfgtool用到的uboot和uimage肯定是进内存了,烧写sd卡时到是只检测到了emmc没有sd的信息。我用自己的uboot替代mfgtool使用的uboot(也就是firmware目录,不是file目录的uboot),因为我修改了等待延时,所以能进uboot的命令行模式,原来自带的uboot等待延时太少进不去命令行,用命令可以检测到sd卡和emmc,

使用特权

评论回复
6
bigflower|  楼主 | 2015-2-14 22:21 | 只看该作者
明天再把打印信息贴出来

使用特权

评论回复
7
bigflower|  楼主 | 2015-2-15 14:17 | 只看该作者
本帖最后由 bigflower 于 2015-2-15 14:29 编辑

这是通过mfgtool烧写到sd卡时的错误,我个人觉得是数据位数的关系,因为原来的内核的sd3是8位的
DVFS driver module loaded
regulator_init_complete: PFUZE100_VGEN6: incomplete constraints, leaving on
regulator_init_complete: PFUZE100_VGEN3: incomplete constraints, leaving on
regulator_init_complete: PFUZE100_VGEN2: incomplete constraints, leaving on
regulator_init_complete: PFUZE100_VGEN1: incomplete constraints, leaving on
regulator_init_complete: SPKVDD: incomplete constraints, leaving on
snvs_rtc snvs_rtc.0: setting system clock to 1970-01-01 00:00:00 UTC (0)
Freeing init memory: 200K
Starting UTP
ln: /etc/mtab: File exists
disable turn off display
Starting the hotplug events dispatcher udevd
Synthesizing initial hotplug events
udevd (1993): /proc/1993/oom_adj is deprecated, please use /proc/1993/oom_score_adj instead.
g_file_storage gadget: high speed config #1
uuc 0.4 [built Aug 16 2013 01:24:08]
UTP: Waiting for device to appear
UTP: file/device node /dev/utp already exists
cpu_id is 0
UTP: received command 'send'
UTP: sending Success to kernel for command send.
UTP: received command '$ tar xf $FILE '
UTP: executing "tar xf $FILE "
UTP: sending Success to kernel for command $ tar xf $FILE .
utp_poll: pass returned.
UTP: received command '$ sh mksdcard.sh /dev/mmcblk1'
UTP: executing "sh mksdcard.sh /dev/mmcblk1"
1+0 records in
1+0 records out
1024 bytes (1.0KB) copied, 0.000185 seconds, 5.3MB/s
Warning: /dev/mmcblk1 is not a block device
Disk /dev/mmcblk1: cannot get geometry

Disk /dev/mmcblk1: 0 cylinders, 255 heads, 63 sectors/track

sfdisk: ERROR: sector 0 does not have an msdos signature
/dev/mmcblk1: unrecognized partition table type
Old situation:
No partitions found
New situation:
Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start   End    MiB    #blocks   Id  System
/dev/mmcblk1p1         7+     7-     0          0   83  Linux
/dev/mmcblk1p2         0      -      0          0    0  Empty
/dev/mmcblk1p3         0      -      0          0    0  Empty
/dev/mmcblk1p4         0      -      0          0    0  Empty
Warning: partition 1 has size 0 but is not marked Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Successfully wrote the new partition table

Re-reading the partition table ...
BLKRRPART: Inappropriate ioctl for device

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
UTP: sending Success to kernel for command $ sh mksdcard.sh /dev/mmcblk1.
utp_poll: pass returned.
UTP: received command 'send'
UTP: sending Success to kernel for command send.
UTP: received command '$ dd if=$FILE of=/dev/mmcblk1 bs=1k seek=1 skip=1 conv=fsync'
UTP: executing "dd if=$FILE of=/dev/mmcblk1 bs=1k seek=1 skip=1 conv=fsync"
420+1 records in
420+1 records out
430152 bytes (420.1KB) copied, 0.005346 seconds, 76.7MB/s
UTP: sending Success to kernel for command $ dd if=$FILE of=/dev/mmcblk1 bs=1k seek=1 skip=1 conv=fsync.
utp_poll: pass returned.
UTP: received command 'send'
UTP: sending Success to kernel for command send.
UTP: received command '$ dd if=$FILE of=/dev/mmcblk1 bs=1M seek=1 conv=fsync'
UTP: executing "dd if=$FILE of=/dev/mmcblk1 bs=1M seek=1 conv=fsync"
3+1 records in
3+1 records out
3861828 bytes (3.7MB) copied, 0.029443 seconds, 125.1MB/s
UTP: sending Success to kernel for command $ dd if=$FILE of=/dev/mmcblk1 bs=1M seek=1 conv=fsync.
utp_poll: pass returned.
UTP: received command '$ mkfs.ext3 -j /dev/mmcblk1p1'
UTP: executing "mkfs.ext3 -j /dev/mmcblk1p1"
mke2fs 1.41.4 (27-Jan-2009)
Could not stat /dev/mmcblk1p1 --- No such file or directory

The device apparently does not exist; did you specify it correctly?
UTP: sending Non-success to kernel for command $ mkfs.ext3 -j /dev/mmcblk1p1.
utp_poll: exit with status 256

使用特权

评论回复
8
bigflower|  楼主 | 2015-2-15 14:24 | 只看该作者
我修改kernel的sd3的数据位,重新编译后产生uImage,替代mfgtool原来使用的uImage(针对sabresd的uImage),这时mfgtoo下载过程的内核都起不来,根本没有到烧写sd卡的步骤,上楼使用原装的uImage起码还可以到烧写sd卡的步骤,如下错误:
mxc_dvfs_core_probe
DVFS driver module loaded
regulator_init_complete: PFUZE100_VGEN6: incomplete constraints, leaving on
regulator_init_complete: PFUZE100_VGEN3: incomplete constraints, leaving on
regulator_init_complete: PFUZE100_VGEN2: incomplete constraints, leaving on
regulator_init_complete: PFUZE100_VGEN1: incomplete constraints, leaving on
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
VFS: Cannot open root device "(null)" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
b300         3866624 mmcblk0  driver: mmcblk
  b301         3856384 mmcblk0p1 00000000-0000-0000-0000-000000000000
b310            1024 mmcblk0boot1  (driver?)
b308            1024 mmcblk0boot0  (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[<80048854>] (unwind_backtrace+0x0/0xf8) from [<80509f54>] (panic+0x74/0x18c)
[<80509f54>] (panic+0x74/0x18c) from [<80008ce8>] (mount_block_root+0x170/0x224)
[<80008ce8>] (mount_block_root+0x170/0x224) from [<80008e84>] (mount_root+0xe8/0x108)
[<80008e84>] (mount_root+0xe8/0x108) from [<80008fc4>] (prepare_namespace+0x120/0x178)
[<80008fc4>] (prepare_namespace+0x120/0x178) from [<800089b0>] (kernel_init+0x108/0x13c)
[<800089b0>] (kernel_init+0x108/0x13c) from [<80042aa4>] (kernel_thread_exit+0x0/0x8)

使用特权

评论回复
9
bigflower|  楼主 | 2015-2-15 18:35 | 只看该作者
emmc的问题解决了,是有个boot脚虚焊

烧写SD卡的问题还没有解决。

使用特权

评论回复
10
bigflower|  楼主 | 2015-2-26 01:51 | 只看该作者
搞定了,需要重新编译用于mfg的内核,uboot可以使用原来的,主要是修改sd3的端口初始化和工作模式。

使用特权

评论回复
11
powerful1| | 2015-2-26 22:02 | 只看该作者
楼主问题搞定了,还给大家分享下经验,不错

使用特权

评论回复
12
FSL_TICS_Rita| | 2015-3-2 14:25 | 只看该作者
今天才回公司上班,恭喜楼主问题已经解决,欢迎有问题继续在本论坛中交流讨论哈~~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

124

帖子

2

粉丝