zoukankan      html  css  js  c++  java
  • uboot

    查找文件位置

    1U-boot 有几千个文件,所以要通过makfile来查找文U -boot文件的入口。

    2:查看芯片的配置文件smdk2440

    3:在board目录里面的sumsing目录里面查找smdk2440目录里面存放的就是开发板相关的配置文件,其中最重要的是名字叫u-boot.lds的文件(在Linux侠查看将更加清楚)

    4:通过lds可知道程序启动是从start开始的(位置:CPU>s3c24xx>start

    5:用vim打开该文件但是文件里面内容很多,哪里才是入口呢

    6:通过vim查看 u-boot.lds里面有一个叫ENTRY_START的文件

    7:start.s中查找_START

    代码分析

    CPU启动过程:

    1设置中断向量表

          跳转到reset这个向量:(初始化硬件)

                  设置处理器到svc32模式

                  刷新I/Dcache

                  关闭mmucache

                  初始化系统时钟

                  初始化串口

                  简单初始化nandflash

      内存初始化

      返回low_level_init

      检测是从nandflash 启动还是从norflash启动

      复制nandflassh中的u_boot到内存中

      设置堆栈

      清除bss

    2软件方面的初始化

                  初始化串口

      lcd初始化

      初始化网卡

      初始化led

      执行用户输入的命令(main_loop()

  • 相关阅读:
    Spring源码学习之容器的基本实现(一)
    面向对象设计原则
    简单易懂带你了解红黑树
    简单易懂带你了解二叉树
    单例模式
    原形模式
    数组与链表
    记一次解决postgresql数据库内存泄露的问题
    记一次排查CPU高的问题
    react ts 设置paths 和 声明非@types的模块
  • 原文地址:https://www.cnblogs.com/big-devil/p/8589380.html
Copyright © 2011-2022 走看看