`
isiqi
  • 浏览: 16482846 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

uboot分析之bootm_start

阅读更多

bootm命令执行过程中调用了bootm_start函数,这个函数比较重要,所以先分析它。

1.common/cmd_bootm.c



总结一下这个函数的主要工作:第一步校验镜像的正确性,获取镜像的信息(根据镜像头),第二部将第一步获取的信息存入images(主要是填充image_info_t类型的os成员)


2. bootm_headers_t



3。boot_get_kernel


4。image_get_kernel

分享到:
评论

相关推荐

    rockchip uboot14详细流程

    U-Boot的入口点位于start.S文件中,包括汇编代码reset(程序入口点)和后续的硬件校验、CPU配置等步骤。具体操作包括设置sp栈顶地址、为gd结构体分配栈空间并进行内存对齐等。 2. C代码部分解析: board_init_f()...

    Uboot-boot-analyse.rar_uboot_启动分析

    【UBoot 启动分析】 UBoot,全称Microprocessor Boot Loader,是嵌入式系统中常见的引导加载程序。它负责在系统上电后初始化硬件,加载操作系统内核到内存中,然后将控制权交给内核,使得系统能够正常运行。本资料...

    uboot_分析文档

    在U-Boot启动过程中,start-armboot是关键的启动函数,通常位于bootm.c文件中。启动过程从_start汇编代码开始,该代码完成了向量表的初始化,以及基本的寄存器和内存处理。这是U-Boot能够有效引导嵌入式系统的关键...

    uboot与kernel之间机器码和环境变量的传递.doc

    在uboot中,获取nand flash中的bootargs,设置参数列表listtag1uboot与kernel之间机器码和环境变量的传递uboot设置了bootcmd命令后,在3秒后调用do_bootm()启动linux-->boot_os[IH_OS_LINUX],即:do_bootm_linux()...

    Uboot学习资料

    - 内核启动参数:通过UBoot的boot命令设置内核启动参数,如`bootm`。 通过这份学习资料,开发者能够逐步掌握UBoot的各个核心方面,无论是从底层硬件的初始化,还是到上层操作系统的加载,都能获得详尽的指导。对于...

    u-boot移植手册和uboot代码详细分析和UBoot移植详解

    本篇文章将深入探讨UBoot的移植过程以及其代码的详细分析。 1. **UBoot的基本概念** - UBoot的功能:加载操作系统、硬件初始化、提供简单的命令行接口等。 - UBoot架构:包括主板特定代码、设备驱动、文件系统...

    uboot启动及部分外设驱动加载流程分析

    当系统上电后,根据`uboot.lds`链接脚本的指定,U-Boot的第一个执行程序是`start.S`文件。在此文件中,定义了系统异常复位的地址入口,并指定了32位、4字节的地址空间。值得注意的是,在ZYNQ平台上,内存初始化是在...

    u-boot-2009.6.tar.gz_uboot_uboot 2009.6.tar_uboot源码

    4.1 常用命令:如`bootm`用于加载和启动操作系统,`fatload`从FAT文件系统加载文件,`setenv`和`printenv`用于管理环境变量。 4.2 命令实现:每个命令都是一个函数,通过注册到命令解析器中,用户在命令行输入后,U...

    imx6ul uboot.pdf

    首先,从标题《imx6ul uboot.pdf》来看,本文主要探讨基于Freescale i.MX6 Ultra Lite处理器的U-Boot启动流程。i.MX6系列处理器是由NXP公司生产的高性能、低功耗的应用处理器,广泛应用于平板电脑、工业控制、车载...

    UBOOT启动后到KERNEL的过程

    在《start_kernel分析.pdf》和《start_kernel分析2.pdf》中,可能详细讨论了`start_kernel`函数的各个阶段和内部机制,包括模块初始化、系统定时器设置、系统调用表构建等内容。这些文档可能还涵盖了如何调试KERNEL...

    Uboot全集.rar

    掌握UBoot命令行中的常用命令,如bootm、fatload、setenv、saveenv等,这些命令在系统调试和故障排除中极为重要。 6. **网络启动与TFTP** UBoot支持通过网络启动,如使用TFTP协议加载内核和文件系统。理解网络...

    uboot常用命令详细介绍

    2. `boot`/`bootd`/`bootm`:用于启动系统,默认是执行`bootcmd`中的命令,`bootm`则用于从内存中加载应用程序。 3. `bootp`/`dhcp`/`tftpboot`:网络启动相关的命令,分别通过BootP/TFTP协议、DHCP协议和TFTP协议...

    uboot 源码分析

    - **`do_bootm()`**:用于加载和启动操作系统内核。 #### 四、基于FS2410板子的U-Boot移植 对于FS2410板的U-Boot移植工作,主要包括以下几个方面: 1. **硬件兼容性检查**:确认FS2410板上的硬件与U-Boot版本是否...

    《嵌入式系统原理》课程设计实验报告.doc

    在第二阶段,start_armboot()函数在SDRAM中运行,负责初始化各种硬件设备、设置串口波特率、环境变量等。第三阶段,系统进入装载模式,通过do_bootm_linux()函数将内核和ramdisk从Flash复制到SDRAM,准备启动内核。 ...

    uboot源码201407版

    1. **入口点**:uboot的执行始于`start.S`汇编代码,它负责最基本的CPU初始化和内存管理。 2. **板级支持包(Board Support Package, BSP)**:每个具体的硬件平台都有相应的BSP,包含与该平台相关的配置和驱动。在...

    uboot基础_嵌入式-常用知识&面试题库_大厂面试真题.pdf

    * stage2:一般主函数是lib_arm/board.c中的start_armboot。调用一系列的初始化函数,将内核从flash复制到RAM中,进入U-Boot命令行,调用内核。 U-Boot命令行 U-Boot命令行是U-Boot提供的一种交互方式,用于提供...

    uboot移植新手入门实践pdf

    函数start_armboot作为第二阶段的入口点,紧接着是由一系列函数组成的初始化序列,包括显示u-boot版本号、打印CPU配置信息、初始化DDR内存等。main_loop函数作为整个u-boot的核心,负责解析用户输入的命令,并调用...

    Uboot代码及工作过程解析

    通过上述分析可以看出,Uboot不仅支持广泛的硬件平台,还提供了灵活的启动方式和丰富的功能特性,是嵌入式系统开发中的重要工具之一。对于初学者而言,深入理解Uboot的工作原理及其内部结构是非常有益的。

    Uboot启动和移植

    例如,`printenv`用于显示环境变量,`tftp`用于通过TFTP协议下载文件,`setenv`用于修改环境变量,`bootm`用于加载并启动内核镜像。 #### 三、Uboot移植过程 Uboot的移植涉及对特定硬件平台的支持,包括但不限于...

    uboot常用命令手册

    可以按地址范围`erase start end`,按扇区`erase N:SF-SL`,按银行`erase bank N`,或全部`erase all`。例如,擦除从0x20000到0x3ffff的Flash区域,命令为`erase 20000 3ffff`。 了解并熟练掌握这些命令,将极大地...

Global site tag (gtag.js) - Google Analytics