(六) u-boot 启动内核解析

一、我们从上一节命令解析可以知道,u-boot启动启动Linux内核有两种方法:第一种u-boot等待无空格按下自启内核: s = getenv ("bootcmd"); if (bootdelay >= 0 && s && !abortboot (bootdelay)) { ...... run_command (s, 0); .........
阅读(408) 评论(0)

(五) u-boot 命令执行过程解析与添加自定义命令

当我们在控制台的时候,输入boot可以启动Linux内核,那么我们以boot为例子来解析一下uboot命令的执行过程,为下一步分析uboot怎样启动Linux来做准备。一、我们搜索boot命令grep -wnR "boot" common 得到:common/cmd_bootm.c:1162: boot, 1, 1, do_bootd, 打开common/...
阅读(262) 评论(0)

(四) u-boot 启动分析_第二阶段

在第一阶段,清 BSS 段之后,CPU 跳转到 sdram 里的 start_armboot() 函数,本文,分析 uboot 启动流程的第二阶段。 start_armboot函数在lib_arm/board.c中定义,是U-Boot第二阶段代码的入口。第二阶段的主要工作是进行单板级别的初始化,初始化 nandflash 、norflash 、初始化串口、设置环境变量、最终跳转到 main_loop 里,接收串口传递进来的各种命令。...
阅读(263) 评论(0)

(三) u-boot 启动分析_第一阶段

本文重点在于分析 uboot 启动流程以及 uboot 自身的细节,比如栈空间的划分、如何设置 tag 、如何添加一个自定义命令等。但是不涉及基本的硬件驱动的分析,比如内存初始化、时钟初始化、mmu 、nandflash 等等这些详细细节不是我们的重点。 u-boot 版本: uboot 1.1.6 使用的开发板: JZ2440V3...
阅读(391) 评论(0)

【补充】U-boot启动代码指令级分析与启动图解

[start.S代码指令集详细分析点我]Stage1:建立堆栈对应内存布局:上图中U-Boot是Nor Flash。第一阶段没有初始化初始化NandFlash,所以默认 uboot是从norflash启动,不支持 Nandflash 启动。如果修改代码支持Nand Flash启动,那么启动时Nand Flash控制器前4KB的代码复制到SRAM中,这4KB的代码再将整个U-Boot复制到SDRAM中...
阅读(5698) 评论(0)

【补充】uboot makefile 中的unconfig

以JZ2440为例: 在uboot编译中,要先输入单板配置命令:100ask24x0_config_config进入makefile中,看到100ask24x0_config_config的配置规则如下:100ask24x0_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL s3c24x0...
阅读(5516) 评论(0)

(二) u-boot 配置、编译过程分析

由于u-boot比较庞大,所以我们分开来分析,对于一个大型的项目我们想快速的了解其代码架构和内容,最方便的方法就是分析Makefile,所以我用uboot-1.1.6来分析Makefile。通过对u-boot的分析想要得到以下内容: 1. U-boot的入口  2. 链接地址  由顶层Readme文件说明,可以知道如果要使用开发板board/,就先执行make <boa...
阅读(5883) 评论(0)

(一) u-boot 基本介绍

U-Boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目。U-Boot的作用是系统引导。 U-Boot从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是根据相应的Linux内核源程序进行简化而形成的,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。一、u...
阅读(5786) 评论(0)

(六) 自己写简单的u-boot

前言:想想 uboot 的代码量,我们说自己写一个 bootloader 是不是口出狂言了?然而并没有,bootloader 的唯一目的只有一个,那便是启动内核。内核就是一大段可执行程序,我们只要跳转到它的入口地址去执行不就OK? 所以,写一个简单的 bootloader 并不困难。    现在来思考一下,目的是启动内核,那么内核在哪里?刚上电的时候,内核肯定是位于 nandflash 里的,我们得...
阅读(381) 评论(0)
    个人资料
    • 访问:294286次
    • 积分:7058
    • 等级:
    • 排名:第3586名
    • 原创:311篇
    • 转载:13篇
    • 译文:89篇
    • 评论:90条
    【目录索引】

    闲适音乐

    博客专栏
    最新评论

    Email: 457086306@qq.com