Texas Instruments X-Loader 1.41 Starting on with MMC

转载 2013年12月03日 20:16:12
要想移植操作系统,第一步当然是要知道怎么烧程序了。
先看看BeagleBoard怎么烧程序。
    正常情况下,如果从MMC启动,你将会从串口终端(115200 8N1)得到如下数据:...40T...
这是omap3's的bootrom在从MMC卡启动之前扫描uart是否可以作为boot源输出来的,如果你没有看到这些数
据,但是又想从mmc启动,很可能bootrom根本不会到达MMC启动那一步。如果你之前使用nand,很可能你的
nand包含了一些损坏的数据。
    到底发生了什么呢?
    可以通过板子上的用户按键来从不同的地方启动。正常的启动方式(按键没有按下时)是:
    NAND-->USB-->UART-->MMC
    按照这个启动顺序,如果NAND有些地方(使OMAP3的bootrom混乱而阻止从MMC启动)坏了,会导致MMC
启动失败。
    我们现在该怎么做?
    首先,我们必须在上电时按下用户键,这时启动顺序是:
    USB-->UART-->MMC-->NAND。
    这样即使NAND上的数据不对,我们依然可以获得boot源。
 
这样,我们仍然有3种启动方式可选择:MMC、USB、UART
    下面,主要讲从MMC与USB恢复的详细信息。
    MMC恢复
    以下步骤将会让你的开发板恢复出厂状态。
 
     如果nand出现问题,并且你的MLO(x-loader)文件损坏将会导致启动失败,比如下面这种情况:
 
...40T.........
Texas Instruments X-Loader 1.41
Starting on with MMC
Reading boot sector
150832 Bytes Read from MMC
Starting OS Bootloader from MMC...
U-Boot 1.3.3 (Jun 20 2008 - 17:06:22)
OMAP3530-GP rev 2, CPU-OPP2 L3-165MHz
OMAP3 Beagle Board + LPDDR/NAND
RAM Configuration:
Bank #0: 80000000 128 MB
Bank #1: 88000000  0 kB
NAND:  NAND device: Manufacturer ID: 0x2c, Chip ID: 0x01 ( AND 128MiB 3,3V 8-bit)
NAND bus width 16 instead 8 bit
0 MiB
<hang, no prompt>
这种情况可能会在MLO与U-BOOT版本配合有问题时出现。因此这是你必须使用特殊的(?)MLO来恢复获得u
-boot提示信息。将MMC/SD卡里的MLO换成 recovery MLO,这样当我们按下用户键上电时,如下:
...40T.........
Texas Instruments X-Loader 1.41
Starting on with MMC
Reading boot sector
150832 Bytes Read from MMC
Starting OS Bootloader from MMC...
U-Boot 1.3.3 (Jun 20 2008 - 17:06:22)
OMAP3530-GP rev 2, CPU-OPP2 L3-165MHz
OMAP3 Beagle Board + LPDDR/NAND
RAM Configuration:
Bank #0: 80000000 128 MB
Bank #1: 88000000  0 kB
NAND:  256 MiB
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
OMAP3 beagleboard.org #
u-boot版本好像没有问题了,然后你就可以开始擦除nand:
OMAP3 beagleboard.org # nand unlock
device 0 whole chip
nand_unlock: start: 00000000, length: 268435456!
NAND flash successfully unlocked
OMAP3 beagleboard.org # nand erase 0 80000
NAND erase: device 0 offset 0x0, size 0x80000
Erasing at 0x60000 -- 100% complete.
OK
OMAP3 beagleboard.org #
如果不按着用户键重新上电,板子将正常工作。庆贺下,板子终于可以运行了。
MMC恢复问题解决方法
    一些人会遇到了从MMC启动的问题,这是由于MMC格式化有问题或者拷贝的MLO有问题。下面这个示例演
示了,即使用户按钮(40T)被按下,仍然从NAND启动的情况。
...40T...     
Texas Instruments X-Loader 1.41
Starting OS Bootloader...
从MMC正确的启动结果应该如下
...40T...
Texas Instruments X-Loader 1.41
Starting on with MMC
Reading boot sector
150832 Bytes Read from MMC
Starting OS Bootloader from MMC...
如果MMC没有显示出来,这意味着MLO有问题或者格式化不合适,或者仅仅是MMC卡有些小问题。
 
操作顺序:
1,MMC分区(详细参考beagle board)
2,格式化MMC(详细参考beagle board)
3,复制 MLO
4,复制 u-boot.bin
5,插入SD卡。然后按着用户键上电,应该就可以从MMC启动了
注意:MLO与x-loader.bin.ift的区别为MLO是用在SD上的,而后者是用在nand启动的。

有了上述方便的恢复方法了,也就不需要USB恢复和uart恢复了。
若以后需要USB恢复或者UART恢复,再来研究这一块内容。

相关文章推荐

Enabling VNC Server on startup of the X server with SLE 11

Environment SUSE Linux Enterprise Desktop 11 (SLED 11) or Server 11 (SLES 11) openSUSE 11.1 ...

SSLError with Python 3.6.x on macOS Sierra

SSLError with Python 3.6.x on macOS Sierra

Texas Instruments的ADC例程DEMO

  • 2011年05月16日 11:26
  • 8KB
  • 下载

Wake-On-Lan with Python 3.x

Example that works with python 3.x in ActiveState Code recipes collection:  #!/usr/bin/env > ...

Oracle 11g R2 RAC with Raw Disk on CentOS5.7_x64 by VMware Server 2.0

本文是记录用VMware Server虚拟Linux,并在此Linux上挂载裸设备,用于模拟RAC中的裸设备来安装Oracle 11g R2 RAC的安装步骤: 1.1 VMware环境准备    ...

keyboard splitting bug on ipad with ios 5 and 6 (Cocos2d-x)

Had the same issue - the solution is to stop the opengl layer from rendering while this is happening...
  • cheekis
  • cheekis
  • 2014年06月05日 18:16
  • 1682
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Texas Instruments X-Loader 1.41 Starting on with MMC
举报原因:
原因补充:

(最多只允许输入30个字)