start.S

stage 1:

  reset:

      set the cpu to svc32 mode

      disable the watchdog

      mask all IRQs(INTMSK, INTSUBMSK)

      

      cpu_init_crit(mmu, bus width status controller)

      set up the stack

      clock_init

      

      relocate u-boot ro RAM:

        copy code to RAM

        clear bbs

        setLoadFlag

stage 2:

      start_armboot()

      {

        gd = (gd_t*)(_armboot_start - CFG_MALLOC_LEN - sizeof(gd_t));

        memset gd;

        init_sequence();

        

        for(;;)

        {

          main_loop();

        }

      }

uboot代码1:uboot启动大体流程, stage1 + stage2的更多相关文章

  1. 【嵌入式开发】 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计)

    作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42462795 转载请著名出处 相关资源下载 :  -- u-boo ...

  2. ARM上电启动及Uboot代码分析

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/qianlong4526888/article/details/27698707 注意:由于文档是去年 ...

  3. Yocto开发笔记之《U-boot启动内核流程》(QQ交流群:519230208)

    QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 ======================================================== 执行命令 ...

  4. uboot代码2:stage2代码,启动内核

    一.uboot最终目的: 1.读出内核 do_nand read kernel { flash上存的内核:uImage = 头部 + 真正的内核; } 2.启动内核. do_bootm_linux { ...

  5. 六、uboot 代码流程分析---start.S

    6.1 _start 入口函数 6.1.1 vectors.S (arch\arm\lib) 从上一节可以知道,uboot 的入口函数为 _start .此 函数定义在 vectors.S (arch ...

  6. uboot学习之uboot启动流程简述

    一.uboot启动分为了三个阶段BL0.BL1.BL2:BL0表示上电后运行ROM中固化的一段程序,其中ROM中的程序是厂家写进去的,所以具体功能可能根据厂家芯片而有所不同.功能如下: 初始化系统时钟 ...

  7. Samsung_tiny4412(驱动笔记01)----linux 3.5,U-Boot,Busybox,SD卡启动环境搭建

    /*********************************************************************************** * * linux 3.5,U ...

  8. u-boot代码学习内容

    前言  u-boot代码庞大,不可能全部细读,只能有选择的读部分代码.在读代码之前,根据韦东山教材,关于代码学习内容和深度做以下预先划定. 一.Makefile.mkconfig.config.mk等 ...

  9. U-boot中SPL功能和源码流程分析

    在U-boot目录下,有个比较重要的目录就是SPL的,SPL到底是什么呢?为什么要用它呢? SPL(Secondary programloader)是uboot第一阶段执行的代码.主要负责搬移uboo ...

随机推荐

  1. r语言之散点图绘制及参数

    一个简单的例子: > plot(cars$dist~cars$speed,+ main="车位移与速度的关系",+ xlab="速度",+ ylab=&q ...

  2. poj 2096

    /** 程序员调bug思路: 一共有四种情况,1. 1个原有的bug 在原有的分类中2. 1个原有的bug 在新的分类中3. 1个新的bug 在原有的分类中4. 1个新bug 在新的分类中 **/ # ...

  3. JQuery 实现返回顶部效果

    首先要里了解一下几个知识 $(window).scrollTop() ---滚动条距顶部距离 fadeIn() 方法使用淡入效果来显示被选元素,假如该元素是隐藏的. fadeOut() 方法使用淡出效 ...

  4. C语言宏的特殊用法和几个坑(转)

    总结一下C语言中宏的一些特殊用法和几个容易踩的坑.由于本文主要参考GCC文档,某些细节(如宏参数中的空格是否处理之类)在别的编译器可能有细微差别,请参考相应文档. 宏基础 宏仅仅是在C预处理阶段的一种 ...

  5. mysqld守护进程

    1.安装方式:安装文件:可执行的二进制文件: 源代码编译. 2.版本选择:常见版本区别:GA(一般应用,尽量使用最新版本)/RC(候选发布版本)/测试版本实版本选择主要是够用.适用.好用!不一定是最新 ...

  6. Qt Creator error: LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

    Qt Creator error: LNK1123: 转换到 COFF 期间失败: 文件无效或损坏   治标又治本的解决方法:   找到在 { C:\Windows\Microsoft.NET\Fra ...

  7. JavaEE Tutorials (6) - 使用嵌入式企业bean容器

    6.1嵌入式企业bean容器概述826.2开发嵌入式企业bean应用82 6.2.1运行嵌入式应用83 6.2.2创建企业bean容器83 6.2.3查找会话bean引用84 6.2.4关闭企业bea ...

  8. C++动态数组的实现

    #include <iostream> using namespace std; int main() { int n; while(cin>>n) { ]; p[]=; p[ ...

  9. cocos2D(二)---- cocos2D文档的使用

    在使用cocos2d进行游戏开发的过程中,难免要查阅cocos2d的API文档.搞清楚怎么使用某个类或者某个方法.幸运的是,cocos2d的作者已经在源码里面加入了文档凝视,我们仅仅须要使用文档生成工 ...

  10. 怎样用Eclipse正确导入开源库AndroidStaggeredGrid

    今天带给大家的是怎样正确导入开源库AndroidStaggeredGrid的代码,大家在使用github上的开源控件时,多多少少都遇到过像AndroidStaggeredGrid这样的project结 ...