zoukankan      html  css  js  c++  java
  • U-boot工作流程分析

    bootloader的作用

      bootloader就好比是航天飞机升天轨道上的助推器

    程序入口:在_start这里

    第一阶段程序分析:

    1、设置中断向量表

    2、设置处理器位SVC模式

    3.0、刷新I/Dcache     ((如果芯片是210:)3.1、让L1的I/D cache关闭)

    4.0、关闭mmu和cache,((如果芯片是6410:)4.1、外设基地址初始化  

                          4.2、点亮LED                  

                             4.3、关闭看门狗

                        4.4、关闭所有中断)         

                 ((如果芯片是210:)4.1、检查reset状态  

                          4.2、恢复IO引脚为默认值                 

                             4.3、关闭看门狗

                        4.4、让SRAM和SROM初始化

                        4.5、关闭所有中断)

      4.1、关闭看门狗

      4.2、关闭所有中断

    5、初始化系统时钟

    6.0、初始化串口      ((如果板子是210:)6.1取消存储保护区)

    7.0、简单初始化Nandflash   ((如果板子是210:)7.1disable ABB)

    8、内存初始化

    9、判断是nor flash启动还nand flash 启动,无论是从哪个启动,都是复制其bl到内存中(tip:Source Insight高亮显示shift+F8)

    10、设置堆栈

    11、清除bss段

    (在调试uboot的时候出现了问题,解决方法是:执行make distclean 在进行config和make就可以了)

    make smdk2440_config

    make

    第二阶段程序分析:

    1、初始化串口

    2、LCD初始化

    3、网卡初始化

    4、LED初始化

    5、执行用户输入的命令

      

  • 相关阅读:
    WebView中实现文件下载功能
    PrograssBar的setIndeterminateDrawable不起作用
    62个Android Studio小技巧合集
    Touch 事件的分发和消费机制
    AndroidStudio
    pagefile.sys and heberfil.sys
    android ANR产生原因和解决办法
    JAVA中分为基本数据类型及引用数据类型
    handler
    洛谷 P2709 小B的询问
  • 原文地址:https://www.cnblogs.com/sanshijvshi/p/8324680.html
Copyright © 2011-2022 走看看