uboot
文章平均质量分 81
winceARM
这个作者很懒,什么都没留下…
展开
-
OK6410 uboot1.1.16的board.c相关函数分析(关键数据结构(gd_t和bd_t))
<br />1)、gd_t该数据结构保存了u-boot需要的配置信息,定义uboot1.1.6/include/asm-arm/Global_data.h<br />typedef struct global_data {<br /> bd_t *bd;<br /> unsigned long flags;<br /> unsigned long baudrate;<br /> unsigned long have_console; /* serial_init() was called */<br />原创 2010-10-13 00:21:00 · 1023 阅读 · 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的主数据区和16B的额外空间;128MB以上容量的Nand Flash芯片,一页大小通常为2KB。由于Nand Flash出现位反转的概率较大,转载 2010-10-20 21:28:00 · 1189 阅读 · 0 评论 -
(转)u-boot-2009.08在2440上的移植详解(四)
<br />在这一篇中,我们首先让开发板对CS8900或者DM9000X网卡的支持,然后再分析实现u-boot怎样来引导Linux内核启动。因为测试u-boot引导内核我们要用到网络下载功能。<br />7)u-boot对CS8900或者DM9000X网卡的支持。<br />u-boot-2009.08版本已经对CS8900和DM9000X网卡有比较完善的代码支持(代码在drivers/net/目录下),而且在S3C24XX系列中默认对CS8900网卡进行配置使用。只是在个别地方要根据开发板的具体网卡片选进转载 2010-10-20 21:26:00 · 1064 阅读 · 0 评论 -
(转)u-boot-2009.08在2440上的移植详解(三)
<br />5)准备进入u-boot的第二阶段(在u-boot中添加对我们开发板上Nand Flash的支持)。<br />目前u-boot中还没有对2440上Nand Flash的支持,也就是说要想u-boot从Nand Flash上启动得自己去实现了。<br />首先,在include/configs/my2440.h头文件中定义Nand要用到的宏和寄存器,如下: <br />#gedit include/configs/my2440.h //在文件末尾加入以下Nand Flash相关定义<br />转载 2010-10-20 21:23:00 · 1233 阅读 · 0 评论 -
(转)u-boot-2009.08在2440上的移植详解(二)
<br />4)准备进入u-boot的第二阶段(在u-boot中添加对我们开发板上Nor Flash的支持)。<br />通常,在嵌入式bootloader中,有两种方式来引导启动内核:从Nor Flash启动和从Nand Flash启动。u-boot中默认是从Nor Flash启动,再从上一节这个运行结果图中看,还发现几个问题:第一,我开发板的Nor Flash是2M的,而这里显示的是512kB;第二,出现Warning - bad CRC, using default environment的警告信息。转载 2010-10-20 21:18:00 · 1176 阅读 · 0 评论 -
(转)对.lds连接脚本文件的分析
<br />本文由Jacky原创,来自http://blog.chinaunix.net/u1/58780/showart.php?id=462971<br />对于.lds文件,它定义了整个程序编译之后的连接过程,决定了一个可执行程序的各个段的存储位置。虽然现在我还没怎么用它,但感觉还是挺重要的,有必要了解一下。<br />先看一下GNU官方网站上对.lds文件形式的完整描述:<br /><br />SECTIONS {<br />...<br />secname start BLOCK(align)(N转载 2010-10-20 14:46:00 · 846 阅读 · 0 评论 -
U-Boot启动过程完全分析 (转)
<br /> 1.1 U-Boot工作过程<br /> <br />U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下:<br /> (1)第一阶段的功能<br />Ø 硬件设备初始化<br />Ø 加载U-Boot第二阶段代码到RAM空间<br />Ø 设置好栈<br />Ø 跳转到第二阶段代码入口<br /> (2)第二阶段的功能<br />Ø 初始化本阶段使用的硬件设备<br />Ø 检测系统内存映射<br />Ø 将内核从Flash读取到转载 2010-10-18 09:45:00 · 1345 阅读 · 0 评论 -
U-Boot编译过程完全分析 (转)
<br />2.1 U-Boot Makefile分析2.1.1 U-Boot编译命令<br /> 对于mini2440开发板,编译U-Boot需要执行如下的命令:<br />$ make mini2440_config<br />$ make all<br /> 使用上面的命令编译U-Boot,编译生成的所有文件都保存在源代码目录中。为了保持源代码目录的干净,可以使用如下命令将编译生成的文件输出到一个外部目录,而不是在源代码目录中,下面的转载 2010-10-18 09:35:00 · 1130 阅读 · 0 评论 -
uboot1.1.6顶层mkconfig详解
<br />#!/bin/sh -e<br /># Script to create header files and links to configure<br /># U-Boot for a specific board.<br />#<br /># Parameters: Target Architecture CPU Board [VENDOR] [SOC] <br />//将指定开发板的相关参数传进来(smdk6410,arch,CPU,Board,VENDOR,SOC),VENDOR,原创 2010-10-16 14:41:00 · 1089 阅读 · 0 评论 -
uboot1.1.6顶层makefile详解
<br />VERSION = 1//主版本号<br />PATCHLEVEL = 1//次版本号<br />SUBLEVEL = 6//修正版本号<br />EXTRAVERSION =//版本号扩展<br />U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)//这个Uboot的版本为1.1.6<br />VERSION_FILE = $(obj)include/version_autogenerated.h<br /原创 2010-10-16 14:35:00 · 1069 阅读 · 0 评论 -
uboot中C语言代码入口函数(start_armboot)的注释
网上找了一篇文章,决定分析start_armboot很详细,虽然是2440,但和6410应该改差不多//------------start_armboot-------------------- //功能: 完成uboot第二阶级的一系列的// 硬件初始化工作, 然后转入main函数. //备注: 该函数是C程序的入口函数,从汇编语// 言跳转到此 . //--------------------------------------------- void start_armboot (void){转载 2010-10-13 23:14:00 · 2844 阅读 · 0 评论 -
OK6410 uboot1.1.16的board.c相关函数分析(init_sequence)
init_fnc_t *init_sequence[] = { cpu_init, /* basic cpu dependent setup */ board_init, /* basic board dependent setup */ interrupt_init, /* set up exceptions */ env_init, /* initialize environment */ init_baudrate, /* initialze baudrate settings */ ser原创 2010-10-13 00:03:00 · 2384 阅读 · 0 评论 -
OK6410 uboot1.1.16/lib.arm的board.c相关函数分析(C语言执行的第一个函数start_armboot)
在分析该函数之前,首先贴两个图贴上相关代码void start_armboot (void){ init_fnc_t **init_fnc_ptr; char *s;#ifndef CFG_NO_FLASH ulong size;#endif#if defined(CONFIG_VFD) || defined(CONFIG_LCD) unsigned long addr;#endif#if defined(CONFIG_BOOT_MOVINAND) uint *magic = (uint *) (PHYS_原创 2010-10-13 00:34:00 · 2595 阅读 · 1 评论 -
(转)u-boot-2009.08在2440上的移植详解(一)
<br />在chinaunix的博客里面找到一位大牛的神作,做Uboot的移植做了详细的介绍,很具有参考价值,在此感谢这位大牛。<br /> <br />一、移植环境主 机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand,Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2.tgzu-boot:u-boot-2009.08.tar.bz2<br />二、移植步骤<br />本次移植的功能特点包括:支持Nand Flash读写 支持从Nor/Nan转载 2010-10-20 15:18:00 · 2619 阅读 · 0 评论