uboot
coolkids_2008
这个作者很懒,什么都没留下…
展开
-
bootload分析
一、Bootloader基本概念Bootloader是在操作系统运行之前执行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备。对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。因此,几乎不可能为所有的嵌入式系统建立一个通用的Bootloader,不同的处理器架构都有不同的Bootloade转载 2011-01-09 15:26:00 · 1546 阅读 · 0 评论 -
uboot下的DRAM的初始化
在G870中,C版的SDRAM为128MB(DDR2),E版的SDRAM为64MB(MDDR),它们在系统存储空间的基地址都为0x8000_0000,具体见iMAX25RM的数据手册: 在uboot中,我们必须设置好这些参数,主要是基地址和SDRAM的大小等。这里主要采用到了uboot的一个全局的结构体变量: bd_t : board info数据结构定义,位于文件原创 2011-11-17 11:42:30 · 4068 阅读 · 0 评论 -
uboot下的nand flash驱动分析
Nand flash芯片工作原理:------------------------------------ Nand flash芯片型号为Samsung K9F2G08U0A,数据存储容量为256MB,总线宽度为8bit,页大小为2048字节,需要5个寻址命令,采用块页式存储管理。8个I/O引脚充当数据、地址、命令的复用端口。 芯片内部存储布局及存储操作特点:原创 2011-11-29 14:17:14 · 6624 阅读 · 0 评论 -
G870 uboot启动流程
硬件平台:飞思卡尔iMX258 ARM9 CPU +256MB的Nand Flash(uboot存放在此中) 首先通过uboot的链接文件,其中text段为uboot的代码段,我们可以看到uboot运行时执行的第一段代码在start.S中:OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-litt原创 2011-11-16 10:10:23 · 1221 阅读 · 0 评论 -
uboot下用do_run()函数来执行U_BOOT_CMD定义的命令
今天研究了一下uboot中怎么用do_run()函数来执行定义好的一些命令,发现其实也挺简单的,关键是得把do_run函数的几个参数吃透,这几个参数都是由uboot commmod 的cmd_tbl_s结构体决定的,U_BOOT_CMD的宏定义也取决于它,如下:#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \cmd_tbl_t __原创 2011-11-24 11:02:06 · 6767 阅读 · 0 评论 -
分析uboot是如何启动内核的
1.uboot启动内核的代码缩减如下:s = getenv ("bootcmd");debug ("### main_loop: bootcmd=\"%s\"\n", s ? s : "");if (bootdelay >= 0 && s && !abortboot (bootdelay)){ run_command (s, 0);}2.假设bootc转载 2012-01-30 11:42:14 · 790 阅读 · 0 评论 -
u-boot如何向内核传递Flash的分区信息
1.如何对nand 分区。修改mtdparts环境变量就可以了么?对于目前的U-boot而言,是的.而且, 设置了mtdparts变量之后,你可以在nand read/write/erase命令中直接使用分区的名字而不必指定分区的偏移位置.set bootargs noinitrd console=ttySAC0 root=/dev/mtdblock3 rootfstype=jffs2原创 2012-02-24 16:40:53 · 1480 阅读 · 0 评论 -
Android Fastboot
Android Fastboot1.Fastboot简介Fastboot是Android快速升级的一种方法,Fastboot的协议fastboot_protocol.txt在源码目录./bootable/bootloader/legacy下可以找到。Fastboot客户端是作为Android系统编译的一部分,编译后位于./out/host/linux-x86/bin/fastboot目转载 2012-07-06 09:51:38 · 2532 阅读 · 0 评论