
U-boot
b02330224
这个作者很懒,什么都没留下…
展开
-
UBOOT引导Linux内核及向内核传递参数的方式
UBOOT引导Linux内核及向内核传递参数的方式 一直以来没有想过有什么好的办法通过寄存器向内核传递参数,直到今天读UBOOT的实现方式。 在UBOOT中,引导内核最常用的方法是bootm命令,bootm命令可以引导“UBOOT格式”的内核。先花点时间了解一下什么是“UBOOT格式”的内核吧:用UBOOT自带的mkimage命令生成的内核称为"UBOOT"格式的内核。以下面这条命转载 2012-08-27 12:51:19 · 518 阅读 · 0 评论 -
U-BOOT环境变量实现
1.相关文件common/env_common.c供u-boot调用的通用函数接口,它们隐藏了env的不同实现方式,比如dataflash, epprom, flash等common/env_dataflash.cenv 存储在dataflash中的实现common/env_epprom.cenv 存储在epprom中的实现common/env_flash.转载 2012-10-15 11:04:07 · 994 阅读 · 0 评论 -
u-boot-2009.08在2440上的移植详解(三)
5)准备进入u-boot的第二阶段(在u-boot中添加对我们开发板上Nand Flash的支持)。目前u-boot中还没有对2440上Nand Flash的支持,也就是说要想u-boot从Nand Flash上启动得自己去实现了。首先,在include/configs/my2440.h头文件中定义Nand要用到的宏和寄存器,如下:#gedit include/co转载 2012-10-07 21:06:09 · 1261 阅读 · 0 评论 -
u-boot-2009.08在2440上的移植详解(五)
9)实现u-boot对yaffs/yaffs2文件系统下载的支持。 注意:此篇对Nand的操作是基于MTD架构方式,在“u-boot-2009.08在2440上的移植详解(三)”中讲到过。 通常一个Nnad Flash存储设备由若干块组成,1个块由若干页组成。一般128MB以下容量的Nand Flash芯片,一页大小为528B,被依次分为2个256B转载 2012-10-07 21:08:00 · 741 阅读 · 0 评论 -
u-boot-2009.08在2440上的移植详解(四)
在这一篇中,我们首先让开发板对CS8900或者DM9000X网卡的支持,然后再分析实现u-boot怎样来引导Linux内核启动。因为测试u-boot引导内核我们要用到网络下载功能。7)u-boot对CS8900或者DM9000X网卡的支持。u-boot-2009.08版本已经对CS8900和DM9000X网卡有比较完善的代码支持(代码在drivers/net/目录下),而且在S3C24转载 2012-10-07 21:06:53 · 1334 阅读 · 0 评论 -
关于NAND flash的MTD分区与uboot中分区的理解
今天做内核移植,准备添加NAND flash的驱动,做到MTD分区时,想起在一本书上看到的一句话,说的是分区时每个区之间没有间隙,前一个区的结束地址是后一个区的起始地址。可是当我看我的开发板的教程时,分区如下:static struct mtd_partition smdk_default_nand_part[] = { [0] = { .na转载 2012-10-16 13:48:43 · 672 阅读 · 0 评论 -
扬创uboot移植(2)--基于《嵌入式Linux之我行--u-boot-2009.08在2440上的移植详解》
9)实现u-boot对yaffs/yaffs2文件系统下载的支持。 注意:此篇对Nand的操作是基于MTD架构方式,在“u-boot-2009.08在2440上的移植详解(三)”中讲到过。 通常一个Nnad Flash存储设备由若干块组成,1个块由若干页组成。一般128MB以下容量的Nand Flash芯片,一页大小为528B,被依次分为2个256B的主数据区和16转载 2012-10-18 09:13:36 · 1741 阅读 · 0 评论 -
扬创2440 uboot移植(1)--基于《嵌入式Linux之我行--u-boot-2009.08在2440上的移植详解》
扬创2440 uboot移植(1)--基于《嵌入式Linux之我行--u-boot-2009.08在2440上的移植详解》 http://linchunai1212.blog.163.com/blog/static/3511214320106169646696/?fromdm&fromSearch&isFromSearchEngine=yes参考:http://www.100ask.转载 2012-10-18 09:15:24 · 2074 阅读 · 0 评论 -
U-Boot NAND FLASH驱动分析
一、初始化函数调用关系 初始化函数调用关系如图1.1所示。1.U-Boot启动过程中调用nand_init()初始化NAND FLASH。2.函数nand_init()调用nand_init_chip()完成NAND FLASH初始化。3.nand_init_chip()顺序调用board_nand_init()和nand_scan()实现NAND转载 2012-10-18 09:17:33 · 1162 阅读 · 0 评论 -
U-Boot启动过程完全分析
1.1 U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能Ø 硬件设备初始化Ø 加载U-Boot第二阶段代码到RAM空间Ø 设置好栈Ø 跳转到第二阶段代码入口 (2)第二阶段的功能Ø 初始化本阶段使用的硬件设备Ø 检测系统内存映射Ø 将内核从Fla转载 2012-10-10 16:39:35 · 752 阅读 · 0 评论 -
理解adr,ldr指令
在阅读u-bootstart.S时,对adr和ldr指令有些疑惑,经韦老师指点,在参阅了一些网上的博文后,做了这个实验:参照韦老师的代码和Makefile写了test_adr.S:.text.globl _start_start: ldr r0,test adr r0,test ldr r0,=test nop转载 2012-10-10 15:55:17 · 960 阅读 · 0 评论 -
ARM U-BOOT _armboot_start与_start (转载)
关于u-boot中 _start, _armboot_start, .word等概念的理解>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>例程: .globl _armboot_start _armboot_start: .word转载 2012-10-10 15:52:36 · 1027 阅读 · 0 评论 -
分析uboot是如何启动内核的
分析uboot是如何启动内核的1.uboot启动内核的代码缩减如下:s = getenv ("bootcmd");debug ("### main_loop: bootcmd=\"%s\"\n", s ? s : "");if (bootdelay >= 0 && s && !abortboot (bootdelay)){[/b][b转载 2012-08-27 12:51:52 · 583 阅读 · 0 评论 -
uboot分析之旅
首先给出uboot源码下载地址: http://www.icdev.com.cn/batch.viewlink.php?itemid=1694 1、uboot功能:1、硬件相关的初始化关看门狗、初始化时钟、初始化SDRAM(为了开发方便还需要加入以下功能:烧写flash、支持网卡、支持usb、支持串口)2、从flash读出内核 3、启动内转载 2012-08-27 12:50:45 · 780 阅读 · 0 评论 -
嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(一)
嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。一、移植环境主 机:VMWare--Fedora 9开发板:Mini2440--64MB Nand,Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2.tgzu-boot:u-b转载 2012-10-07 20:54:41 · 1660 阅读 · 0 评论 -
嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(二)
嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。共享资源,欢迎转载:http://hbhuanggang.cublog.cn一、移植环境主 机:VMWare--Fedora 9开发板:Mini2440--64MB Nand,Kernel:2.6.30.4编译器转载 2012-10-07 20:53:14 · 1549 阅读 · 0 评论 -
SST39VF1601 简介
1、产品描述(PRODUCT DESCRIPTION)SST39VF160x/320x/640x设备提供了7 us的Word-program时间。这些设备用Toggle Bit或者Data# Polling来表明编程操作的完成。为了保护inadvertent write,它们有偏上硬件和Software Data Protection机制。2、设备操作(Device Operati转载 2012-10-07 21:15:35 · 1636 阅读 · 0 评论 -
ARM U-BOOT _armboot_start与_start (转载)
我使用的是u-boot-1.3.0-rc2。在cpu/pxa/start.S中,有如下的标号定义: _TEXT_BASE: .word TEXT_BASE /*uboot映像在SDRAM中的重定位地址,我设置为0xa170 0000 */ .globl _armboot_start _armboot_start: .word _start /*_start是程序入口,链接完转载 2012-10-10 15:53:09 · 1040 阅读 · 0 评论 -
ARM汇编中的ldr和adr的区别及其在uboot中相关源码的分析
ARM汇编中的ldr和adr的区别及其在uboot中相关源码的分析ARM汇编有ldr指令以及ldr、adr伪指令,它们都可以将标号表达式作为操作数,下面通过分析一段代码以及对应的反汇编结果来说明它们的区别。[plain] view plaincopyldr r0, _start adr r0, _start ldr r0, =_s转载 2012-10-10 15:55:49 · 611 阅读 · 0 评论 -
逐行分析u-boot(转)
逐行分析u-boot(转) 15.1 Bootloader简介 [编辑] 15.1.1 Bootloader的概念 1. Bootloader的引入 从前面的硬件实验可以知道,系统上电之后,需要一段程序来进行初始化:关闭WATCHDOG、改变系统时钟、初始化存储控制器、将更多的代码复制到内存中等等。如果它能将操作系统内核(无论从本地,比如Flash;还是从远端,比如通过转载 2012-10-18 09:16:10 · 1857 阅读 · 0 评论