Marvell 88f8040 从emmc引导进入 内核

Marvell 88f8040 从emmc引导进入 内核,第1张

宿主机:Ubuntu真机18.04 LTS /X64

目标板:Marvell 88f8040(SAM7)

简介:SAM7开发板已经可以从NFS引导进入内核,此次记录从emmc引导进内核的步骤:首先要对emmc进行分区;这里请注意:只有进入Linux系统才能够分区,所以要先通过网络引导或者SD卡引导内核进入Linux系统。

需要准备的源文件:

Image 设备树文件(.dtb文件),还有文件系统;

mmc进行分区的方法

执行fdisk /dev/mmcblk1 命令。 选择m 帮助。查看具体的参数帮助信息。

emmc分区设置好后,进行挂载:

root@localhost:~# mount /dev/mmcblk1p1 /mnt/ (无信息输出表明挂载成功)

我在挂载过程中出现这个错误:mount: wrong fs type, bad option, bad superblock on /dev/mmcblk1

检查了一下是文件系统类型不支持,执行 sudo mkfs -t ext4 /dev/mmcblk1 后再进行挂载,这次成功。

此处进入mnt目录下,将文件系统的压缩包拷贝到当前目录(mnt),并解压。然后在拷贝Image文件和设备树文件到解压后的boot 目录下

挂载完成后 卸载磁盘。 umount /mnt/

重启进入uboot命令行界面:

设置bootcmd 为mmc启动: 此处我的bootcmd参数为:

注意:root=/dev/mmcblkp1 为你的文件系统的所在位置

设置好环境变量后,saveenv 进行保存一下。然后reset 重启后。 会自动从mmc加载进去内核:

如下所示:

启动完成,进入Linux系统。

1.请先确认下电 池是否有电,很可能是电池电量太低 导致开不了机,建议用标配的充电器+数据线进行充电20-30分钟后再尝试开机;

2.如充电后还是无法开机,建议多次插拔下电池,再开 机试下。如果有多块备用电池建议尝试更换下,再 尝试开机下。也可以使用橡皮擦或者酒精(工业使用)对电池金属触电和接口进行清洁,尝试是否有改善;

3.如果是处于黑屏开不了机:如果多次插拔电池(电池有电)并更换过电池,还不能开机,如处于黑屏状态,就不排除是电源IC等元器件存在异常,建议到当地站点具体检测处理下;

4.如果开机过程中停止于某个界面无法启动:如果换了电池并多次插拔电池也是如此,这个情况可能有2个因素导致:

1系统进程异常导致无法进入 2主板数据异常导致无法加载系统数据。建议到站点刷机下,同时让工程师具体检测处理下。

液晶电视引导程序储存在eMMC中。引导程序相当于路标,主程序相当于路上的风景,电视上电由引导程序工作进入主程序,才能开始你的选择它的表演,硬件正常,没有引导程序也是瘫痪,也刷不进主程序。

引导程序的作用

初始化硬件,在主板上电后,当CPU的基本工作条件满足后,CPU会按照引导程序的指令对主板的硬件比如DDR,各类寄存器,以及总线上的控制单元等进行初始化,初始化是硬件正常使用的关键条件,初始化不正常这个硬件就可能工作异常。

引导系统内核,当引导程序完成硬件的初始化后,它剩下的最重要的任务就是将系统内核的镜像加载到DDR即内存中了,当引导程序把内核镜像加载到内存中后,经过简单的CPU使用权限移交,CPU就开始运行解压运行系统内核了,也就是说在CPU运行主程序之前,引导程序是完全控制CPU的使用权的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11624967.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存