你好!
问题比较纠结,还请大家耐点心看看
首先,说下我手头上有的东西:
1. evmskam335x 开发板一块;
2. mmc卡1:由ti提供的,被分为两个区,一个为/boot, 另外一个为/rootfs. 在/boot里面的MLO和u-boot.img都是把U-BOOT设定为由mmc启动,编译出来的镜像。
3. mmc卡2:由自己编译,被分为两个区,一个为/boot, 另外一个为/rootfs. 在/boot里面的MLO和u-boot.img都是把U-BOOT设定为NFS启动(uImage由tftp下载,根文件 系统由NFS挂载),编译出来的镜像。
现在说下我做的试验:
插入 mmc卡1,上电,待内核引导完成以后,拔出mmc卡1,插入mmc卡2,按复位按键(板上SW7按键,注意,这里不是重新上电),系统可以引导。
接着,我把系统断电(拔出5V供电),再重新上电,这次系统无法引导,一直卡在“boot mode – FAT,reading u-boot.img”这里。每次都是这样。
以下是从mmc卡2重新上电,无法加载u-boot.img的打印信息。
U-Boot SPL 2013.01.01 (Apr 21 2014 – 22:33:43) >>spl:board_init_r() musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0 musb-hdrc: setup fifo_mode 4 musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Peripheral mode controller at 47401000 using PIO, IRQ 0
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0 musb-hdrc: setup fifo_mode 4 musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Host mode controller at 47401800 using PIO, IRQ 0
boot device – 8
Now , load the u-boot.img from mmc
OMAP SD/MMC: 0
boot mode – FAT
reading u-boot.img
我更改am335x_evm.h(/include/configs/am335x_evm.h)的内容如下:
增加:
"ipaddr=192.168.1.2\0" \
"serverip=192.168.1.1\0" \
"gatewayip=192.168.1.255\0" \
"netmask=255.255.255.0\0" \
"rootpath=/home/xiehaolin/sitara/ti-sdk-am335x-evm-06.00.00.00/targetNFS\0" \
屏蔽掉
"mmc dev ${mmcdev}; if mmc rescan; then " \
"echo SD/MMC found on device ${mmcdev};" \
"if run loadbootenv; then " \
"echo Loaded environment from ${bootenv};" \
"run importbootenv;" \
"fi;" \
"if test -n $uenvcmd; then " \
"echo Running uenvcmd …;" \
"run uenvcmd;" \
"fi;" \
"if run loaduimagefat; then " \
"run mmcboot;" \
"elif run loaduimage; then " \
"run mmcboot;" \
"else " \
"echo Could not find ${bootfile} ;" \
"fi;" \
"else " \
"run nandboot;" \
"fi;"
更改为: "run netboot;" \
还有一个问题补充:
对于mmc卡启动,有时我已经把MLO拷贝进/boot了,但是系统启动时候,还是无法找到MLO(一直打印CCCCC),这是什么问题?
kooking:
按键复位候 ,部分寄存器初始化,有些则没有被初始化,如IO等,而且有时找不到MLO卡2里面的MLO和卡1里面的MLO是否相同,还有boot.img
haolin xie:
回复 kooking:
两个卡里面的MLO和u-boot.img都不一样.
Jian Feng1:
3. mmc卡2:
你这个卡是怎么分区的?
haolin xie:
回复 Jian Feng1:
用sdk里面的工具,creat-sd.sh
kooking:
回复 haolin xie:
haolin xie
两个卡里面的MLO和u-boot.img都不一样.
haolin xie:
回复 kooking:
对比了,MLO前面启动打印都是一样的,就是卡2打印到reading u-boot.img就卡住了;
但是如果是MLO的问题,那么,为什么在用mmc卡1启动完系统以后,拔出mmc卡1,再插上mmc卡2,按复位按键,内核就能引导呢?