要想移植操作系统,第一步当然是要知道怎么烧程序了。
先看看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
这种情况可能会在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恢复,再来研究这一块内容。
阅读(2800) | 评论(0) | 转发(0) |