zoukankan      html  css  js  c++  java
  • U-BOOT-Linux启动指令bootm分析

    首先说一下uImage和zImage的区别

    uImage是在zImage之前加上信息头。包含系统类型、是否压缩及压缩方式等

    bootm命令只能启动uImage

    幻数:说得再好听的名字也只不过是个0~0xff的数,占8bit(_IOC_TYPEBITS)。这个数是用来区分不同的驱动的,像设备号申请的时候一样,内核有一个文档给出一些推荐的或者已经被使用的幻数。

    bootm对应的函数是do_bootm函数

    1. memmove函数,提取信息头

    1.1 判断幻数是否正确

    1.2 判断压缩方式GZIPBZIP

    1.3 判断OS类型,Linux,wince

    2.do_bootm_Linux (armlinux.c)

    2.1 获得Kernel入口地址

      将入口地址复制给函数指针 theKernel( int zero, int arch, uint params)

    2.2 处理器型号 int arch

    2.3 启动参数区地址(内存大小,控制台串口编号)uint params

  • 相关阅读:
    操作系统
    C++流类库(11)
    C++运算符重载(10)
    C++虚函数(09)
    C++向量(08)
    C++继承(07)
    ResNet实战
    ResNet,DenseNet
    经典卷积网络VGG,GoodLeNet,Inception
    CIFAR100与VGG13实战
  • 原文地址:https://www.cnblogs.com/ynxf/p/5755385.html
Copyright © 2011-2022 走看看