This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于CORTEX-A8的SD卡启动问题

你好!

        问题比较纠结,还请大家耐点心看看

        首先,说下我手头上有的东西:

        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),这是什么问题?