bootload 启动过程

手机上电后,执行ROM程序加载pre-load到ISRAM,随后进行硬件初始化,加载U-boot到DRAM。U-boot继续加载kernel和ramdisk,并跳转到kernel执行。在U-boot中,传递给Kernel的参数包括Machine Type和Kernel Tags的物理地址,用于系统配置和内存信息。此过程涉及pre-load、U-boot、kernel和Android平台的特定需求。
摘要由CSDN通过智能技术生成

手机上电启动过程如下:

      1  上电执行ROM程序加载pre-load(保存在nand emmc )到ISRAM,然后跳转到pre-load执行

      2   进行必要的硬件初始化操作,加载uboot到DRAM并跳转到U-boot执行

      3  uboot加载kernel,ramdisk 并跳转到kernel执行。

通常分为两个阶段,pre-load 和 Uboot.

      pre-load:  安全检查,保护ROM信息(qcm refuse),初始化必要硬件(uart usb)

                       CPU 和内存时钟调整,PLL,UART,DRAM,GPIO,PMU,RTC,USB,

      Uboot : time 初始化,serial初始化,I2C,PWM,RTC,LED,Power charging,LCD ,NAND.后加载kernel 和ramdisk到RAM,并

跳转到kernel执行。

 

 Android 的bootload启动通过选择u-boot  XXX的一个版本,进行移植以适用手机开发平台的个别需求,加载linux kernel .

       其中比较重点的部分:Uboot  传递给Kernel的参数R1(指明Machine Type),R2(Kernel Tags的物理地址)指向一个链表

      ATAG_CORE: 必须是第一个,指明系统页大小,设备序列号等

      ATAG_MEM:  物理内存的大小,起始地址

      ATAG_RAMDISK:解压ramdisk的大小,起始地址

       。。。。。。。。。。。。

      ATAG_NONE  :结束该链表的标志

<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值