Bootstrap和Uboot
文章平均质量分 80
hanchaoman
这个作者很懒,什么都没留下…
展开
-
内核配置的Default kernel command string和uboot的bootargs变量区别
1. 如果uboot的bootargs设置了,kernel的Boot options中的Default kernel command string设置与否,都不启作用,即bootargs覆盖掉设置的Default kernel command string,打印的信息也是bootargs传过来的command string。 2. 如果uboot的bootargs未设置原创 2012-07-26 11:12:32 · 2429 阅读 · 1 评论 -
uboot 分析之二 start_armboot()函数
第一个c函数位于arch/arm/lib/board.c start_armboot会马上申请三块空间,一块用来分配给malloc管理,一份用来存储gd_t,一份用来存储bd_t。他们在RAM中内存布局如上图所示。void start_armboot (void){ init_fnc_t **init_fnc_ptr; char *s; int de原创 2013-06-24 15:28:48 · 2132 阅读 · 0 评论 -
uboot 分析之一 start.S
最近给 Mini6410 添加开机启动画面和操作系统未启动时充电管理画面。使用的平台是友善的mini6410。 由于操作系统未启动,大部分工作要在UBoot里进行完成。现在充电管理和开机动画基本实现,呵呵,中间经历了N多磨难啊 现在把做的工作记录下来。 前面有两篇文章是介绍UBoot的makefile的。我们从makefile中看到编译生成的第一个目标文件是start.原创 2013-06-24 15:26:17 · 1156 阅读 · 1 评论 -
U-Boot启动过程完全分析(uboot启动2个阶段的分析)
1.1 U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能Ø 硬件设备初始化Ø 加载U-Boot第二阶段代码到RAM空间Ø 设置好栈Ø 跳转到第二阶段代码入口 (2)第二阶段的功能Ø 初始化本阶段使用的硬件设备Ø 检测系统内存映射Ø 将内核从Fla原创 2013-07-09 16:14:45 · 7541 阅读 · 1 评论 -
uImage启动根文件系统(系统启动挂载根文件系统时Kernel panic )
这类问题很常见,先总体介绍一下解决思路。能出现让人激动的的控制台,那么系统移植已经接近完成;但是不少人在最后一步出现问题。要点如下:1. 在正确的位置烧写正确格式的文件系统映象:2. 内核支持这种文件系统格式3. 文件系统的内容要完备上面说得简单,一个个介绍。1. 在正确的位置烧写正确的文件系统映象:(a). 正确的位置嵌入式原创 2013-01-08 09:58:10 · 1509 阅读 · 0 评论 -
uboot启动uImage和rootfs(bootcmd和bootargs参数)
-boot的环境参数中有两个和内核启动相关的,它们是bootcmd和bootargs1.u-boot中和环境参数有关的命令 printenv:打印当前环境参数 setenv param_name "value":设置环境参数 saveenv:保存环境参数到FLASH2.bootcmd:这个参数包含了一些命令,这些命原创 2013-01-17 14:05:01 · 6180 阅读 · 0 评论 -
uboot环境变量与uImage中MTD分区关系
分区只是内核的概念,就是说A~B地址放内核,C~D地址放文件系统,(也就是规定哪个地址区间放内核或者文件系统)等等。1:在内核MTD中可以定义分区A~B,C~D。。。。。。并予以绝对的地址赋值给每个分区。我们可以来看看在内核中是怎样来对MTD进行分区的:arch\arm\plat-s3c24xx\common-smdk.c(atmel9260 ./drivers/mtd/nand/at91原创 2013-01-08 10:13:29 · 1508 阅读 · 1 评论 -
bootstrap(boot)启动uboot
1、一级启动代码Bootstrap修改的文件在Bootstrap-v1.16\board\at91sam9261ek\nandflash目录下的at91sam9261ek.h中的(在项目程序中未作修改)#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */#define原创 2013-01-17 11:55:43 · 3344 阅读 · 0 评论 -
linux系统修改NAND Flash分区
在修改NAND Flash分区时,需要修改linux2.6.21/ arch/ mach-at91rm9200/目录中board-dk.c文件的dk_nand_partition结构。本系统将1G NAND Flash划分为1个分区。dk_nand_partition结构如下修改:static struct mtd_partition __initdata dk_nan原创 2012-07-26 21:27:29 · 269 阅读 · 0 评论 -
修改Bootstrap源码支持不同大小nandflash
原开发板是256M的NANDFLASH,目的是想用一个64M的nandflash,并且从nandflash启动。 主要是对bootstraps修改,修改地方如下:(以百特光盘自带的AT91Bootstrap1.2为例) 1:AT91Bootstrap1.2/include/nand_ids.h中的增加两行{0xecf1, 0x400, 0x20000, 0x800, 0x4原创 2012-07-26 11:41:21 · 3085 阅读 · 2 评论 -
Uboot启动流程(图+代码)
Uboot是嵌入式系统中最常用的bootloader,这里我们以s3c2410为例分析一下uboot的启动流程。首先通过uboot的链接文件,我们可以看到uboot运行是执行的第一段代码在start.S中。ENTRY(_start) SECTIONS { . = 0x00000000; . = AL原创 2013-06-24 15:31:40 · 1927 阅读 · 0 评论