U-Boot 启动日志全面剖析!

发布时间:2024年01月17日

BootLoader 是操作系统内核启动前运行的一段代码,用来初始化硬件、建立内存映射等,当然最主要的功能是加载并引导系统内核的启动。U-Boot 是一个广泛使用的 BootLoader,全称是 Universal Boot Loader,它是一个综合的大型裸机程序,并且具有极大的通用性及可移植性,如今 U-Boot 已经支持多种嵌入式操作系统,应用在多种嵌入式设备中。

在嵌入式 Linux 系统中,U-Boot 的主要作用是为 Linux 内核启动创建好硬件环境,如初始化 DDR、UART 等基础外设,然后将 Linux 内核从 Flash(NAND、NOR FLASH 或 SD 卡、EMMC 等)拷贝到 DDR 中,最后引导 Linux 内核的启动。

系统日志可以用来监控系统的运行状态、跟踪数据,或者故障定位、分析问题等,嵌入式设备启动后,一般我们首先看到的系统日志便是 U-Boot 输出的,其中也包含着许多信息,本文就来分析一下。

  • 此日志来自于某款嵌入式板卡:

  • 日志分析:
U-Boot 2016.03-00007-gef9d4c6 (Sep 25 2023 - 10:17:37 +0800)
# U-BOOT 版本号是 2016.3,编译时间是 2023 年 9 月 25日
CPU:   Freescale i.MX6ULL rev1.1 792 MHz (running at 396 MHz)
# 芯片型号为飞思卡尔(已被 NXP 收购)的 i.MX6ULL,主频为 792 MHz,当前运行在 396 MHz
CPU:   Industrial temperature grade (-40C to 105C) at 36C
# 这个芯片是工业级 CPU,工作温度范围为 -40~105℃
Reset cause: POR
# 复位模式:POR;i.MX6ULL 有个 POR_B 引脚,将这个引脚拉低即可复位芯片
Board: MX6ULL 14x14 EVK
# 开发板的名称:MX6ULL 14x14 EVK(NXP 官方的开发板)
I2C:   ready
# 提示 I2C 已经准备好了
DRAM:  512 MiB
# 板载 DRAM 为 512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
# 当前有两个 MMC/SD 设备:FSL_SDHC(0)和 FSL_SDHC(1)
# 一般 FSL_SDHC(0) 为 SD 卡,FSL_SDHC(1) 为 EMMC
Display: TFT43AB-800x480 (800x480)
# 当前的显示设备为 TFT43AB-800x480 (800x480)
Video: 800x480x16
# 屏幕分辨率为 800x480,16 位 RGB
Card did not respond to voltage select!
# 提示没有检测到 SD 卡
reading logo.bmp
# 读入了 logo 图片
391734 bytes read in 30 ms (12.5 MiB/s)
# 数据读取的速度
In:    serial
# 标准输入使用串口设备
Out:   serial
# 标准输出使用串口设备
Err:   serial
# 标准错误使用串口设备
switch to partitions #0, OK
# 切换到 EMMC 的第 0 个分区
mmc1(part 0) is current device
# 显示当前设备是 EMMC
Net:   FEC1
# 当前正在使用 FEC1 网口
Error: FEC1 address not set.
# 错误提示 FEC1 网卡地址没有设置
Can't find lt8618! 
# 提示没有找到 lt8618 设备
Normal Boot
# 提示要正常启动 Linux 了
Hit any key to stop autoboot:  3 
# Linx 内核启动倒计时 3 秒
  • 倒计时前按下任意键可以中断 Linux 内核的启动,并进入 U-Boot 终端。
  • 未完待续……

更多内容

文章来源:https://blog.csdn.net/weixin_44550536/article/details/135636063
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。