我正在尝试在i.mx53主板上移植Android。我已准备好SD卡并下载了所有相关图像(u-boot.bin / uImage / uramdisk,system.img,recovery.img)。在此之后我陷入困境,我不知道如何将我的电路板连接到我的ubuntu电脑,以及如何在我的设备上启动u-boot以便我可以看到u-boot控制台。 谢谢!!
答案 0 :(得分:0)
我不知道它应该在您的特定电路板上完成的确切程度,但对于所有基于ARM的Android设备而言,整个过程非常普遍。所以我要描述一些广泛的工作过程。
通常您需要使用2根USB电缆连接电路板(目标)和PC(主机):
OTG USB电缆(用于flashing(上传)固件到您的设备)。
对于实际闪烁,您需要在PC上使用fastboot工具。您的设备应处于快速启动模式(u-boot的特殊模式,您可以通过在u-boot shell中发出fastboot
命令来访问它。
serial console的USB线(有时称为"终端")。有些电路板没有集成RS-232 to USB芯片;在这种情况下,您需要使用外部RS-232 to USB converter。
您应该在PC上使用某些串行通讯程序(例如minicom)与您的设备通讯。
如果你的主板上没有任何预加载的软件(特别是bootloader,你的情况下是u-boot),你只能从SD卡启动。这是因为您需要在设备上以fastboot模式运行u-boot以通过OTG USB闪存任何图像(使用PC上的fastboot工具)。例外情况是ROM code能够与某些特殊PC工具通信的设备,因此您可以将图像上传到eMMC(或设备上使用的任何其他存储设备),而无需使用u-boot。< / p>
以下是从SD卡启动所需的步骤。
SD卡应该准备好。实际的过程是特定于SoC的,通常可以在Technical Reference Manual或类似的SoC技术文档中找到。
例如,这里是基于OMAP的设备的SD卡配置:
boot
MLO
(代表&#34; Memory Loader&#34;),这是第一阶段的引导加载程序;它通常是 u-boot SPL 或 x-loader u-boot.img
(第二阶段引导程序)uImage
(u-boot格式的Linux内核映像)*.dtb
),以防内核使用device tree 如果您只需要从SD运行u-boot并进入快速启动模式,则只需要首先使用MLO
和u-boot.img
文件进行分区。
选择SD卡作为主板上的启动源。通常可以切换一些DIP switch,通常称为启动模式或 SYSBOOT 。它将通过所谓的eFUSE告诉您的SoC从所选设备(在您的情况下为SD卡)启动。有关详细信息,请参阅您的电路板文档。
之后只需执行重置,您将看到u-boot正在运行。按&#34;输入&#34;在你的串口控制台(minicom)中输入u-boot shell。在u-boot shell中执行fastboot
命令。一旦您的设备处于快速启动模式,您就可以使用PC上的fastboot
工具将所有图像闪存到eMMC(或您的主板使用的任何其他存储设备)。通常,您的Android版本中会有fastboot.sh
脚本,可以将所有图像闪存到设备中。