U-BOOT
文章平均质量分 77
atower_boy
这个作者很懒,什么都没留下…
展开
-
U-boot-13.0-rc3 cpu/pxa/start.S 分析
<br />#include <br />#include <br />//global声明一个符号可被其他文件引用,相当于声明了一个全局变量,.globl和.global相同。<br />//该部分为处理器的异常处理向量表。地址范围为0x0000 0000 ~ 0x0000 0020,刚好8条指令。<br />.globl _start<br />_start: b reset<br /> ldr pc, _undefined_instruction<br /> ldr pc转载 2011-03-18 10:40:00 · 949 阅读 · 0 评论 -
U-boot 代码 start.s 的又一个分析。。。
<br />在了解了ARM相关的汇编指令后,同时结合网上各位大虾的提点开始阅读u-boot的启动代码,现将分析过程记录如下<br />可执行文件及内存映射<br />我们可以把可执行文件分为2种情况:存放态和运行态<br />1.存放态:可执行文件经过烧到存储介质上(flash或磁盘)的分布,此时可执行文件通常有2部分组成,代码段和数据段,代码段又分为可执行代码段(.text)和只读数据段(.rodata),数据段可以分为初始化数据段(.data)和未初始化代码段(.bss),如下:<br />+-----转载 2011-03-18 14:53:00 · 1142 阅读 · 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读取到R转载 2011-03-28 10:29:00 · 727 阅读 · 0 评论 -
有关U-BOOT-1.3.1版本中NAND FLASH地址配置的几个配置项的说明
<br />在配置u-boot1.1.3中有关nandflash代码的时候,有几个配置项需要说明一下:<br />1)ADDR_COLUMN 该项指明了NAND FLASH中页内地址的字节数,以K9F1208作为例子,其应该配置为1。<br />2)ADDR_PAGE 该项指明了页地址的字节数,由于K9F1208的地址范围是0X0-0X3FFFFFF,总容量为64MB,也就是ad26-ad0,发送一个地址需要4个地址周期,第一个周期为ADDR_COLUMN个页内地址(ad7_ad0转载 2011-03-29 16:51:00 · 912 阅读 · 0 评论 -
{"Samsung K9F1208U0B",NAND_MFR_SAMSUNG, 0x76, 26, 0, 3, 0x4000, 0}的分析
<br />发布一个patch,在附件中。该patch主要是针对Samsung flash芯片K9f1208U0B的体系结构信息进行设置。全部的修改该只有一行代码,但是分析工作是更加重要,以下的陈述针对flash芯片的移植工作的流程以及思考方向。<br /> <br /> 整个u-boot在arm体系环境下的引导过程是从lib_arm 目录下board.c void start_armboot (void)函数开始的。在其中第305行,见到如下函数的调用。<br /> <br />nand_in转载 2011-03-30 13:28:00 · 1299 阅读 · 0 评论 -
U-BOOT中SDRAM的初始化分析
转帖: ------------------------------------------------------------最近一直在研究嵌入式的东西,如果我对某项东西或是技术着迷,我会想方设法搞明白我感兴趣的部分,我对我的自学能力越来越有信心了,唉,有点儿自恋了。关于内存时序初始化的部分,我看了很长时间,这处卡着我的学习可能有一个多星期了,很郁闷。现在回想起来,自己卡在这块,主要的原因还是对S3C2440的手册研究得不够透彻,没有仔细看手册,导致好些个关键的地方都忽略过去了。现在进入正题首先说一说时钟转载 2011-03-31 09:59:00 · 4094 阅读 · 1 评论 -
U-BOOT.2009.08中TFTP时Retry count exceeded; starting again 解决方法
上网查看各方面资料:得出一个解决办法,继续修改/net/tftp.c文件中的下面这句#define TIMEOUT 5000UL /* Millisecs to timeout for lost pkt */ 改为#define TIMEOUT 60000UL /* Millisecs to timeout for lost pkt */网上还提供另一种方法:修改开发板对应的配置文件 include/configs/utu2440.h中的 CONFIG_SYS_HZ#define CONF原创 2011-04-08 11:33:00 · 4880 阅读 · 0 评论 -
Linux 内核 Starting kernel ... 串口无输出问题归纳总结
(注:该文大量参考http://blog.liuwentao.net/read.php?save_154)Uboot输出,无内核信息输出<br />## Booting kernel from Legacy Image at 32000000 ... <br />Image Name: Linux-2.6.13-utulinux2440 <br />Created: 2007-11-04 7:12:20 UTC <br />Image Type: ARM Linux Kernel Image (gzip c原创 2011-04-18 13:26:00 · 1696 阅读 · 0 评论 -
mkimage使用详解
uboot源代码的tools/目录下有mkimage工具,这个工具可以用来制作不压缩或者压缩的多种可启动映象文件。mkimage在制作映象文件的时候,是在原来的可执行映象文件的前面加上一个0x40字节的头,记录参数所指定的信息,这样uboot才能识别这个映象是针对哪个CPU体系结构的,哪个OS的,哪种类型,加载内存中的哪个位置, 入口点在内存的那个位置以及映象名是什么root@Glym:/tftpboot# ./mkimage<br />Usage: ./mkimage -l image<br />-l =转载 2011-04-18 13:40:00 · 735 阅读 · 0 评论