ChinaUnix.net
相关文章推荐:

uboot 第二阶段代码分析

文件: Bootloader(Vivi)源代码分析.rar 大小: 104KB 下载: 下载 文件: u-boot源代码分析.rar 大小: 310KB 下载: 下载 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/46785/showart_1847715.html

by 帆锅 - Linux文档专区 - 2009-03-01 15:03:08 阅读(589) 回复(0)

相关讨论

uboot 的 lowlevel_init.S,代码分析,底层分析,底层初始化 这个文件主要是设置系统时钟,初始化flash,以及SDRAM。。。 ..\u-boot-1.3.1\cpu\arm920t\at91rm9200\lowlevel_init.S #include #include //CONFIG_SKIP_LOWLEVEL_INIT定义见..\u-boot-1.3.1\include\configs\at91rm9200dk.h #ifndef CONFIG_SKIP_LOWLEVEL_INIT /* * some parameters for the board * * This is based on rm9200dk.cfg for the BDI2000 from A...

by iibull - Linux文档专区 - 2009-09-15 09:13:43 阅读(778) 回复(0)

这个文件主要是设置系统时钟,初始化flash,以及SDRAM。。。 ..\u-boot-1.3.1\cpu\arm920t\at91rm9200\lowlevel_init.S #include #include //CONFIG_SKIP_LOWLEVEL_INIT定义见..\u-boot-1.3.1\include\configs\at91rm9200dk.h #ifndef CONFIG_SKIP_LOWLEVEL_INIT /* * some parameters for the board * * This is based on rm9200dk.cfg for the BDI2000 from ABATRON which in * turn is based on the boot.bin code from...

by newcch - Linux文档专区 - 2009-07-14 10:21:29 阅读(828) 回复(0)

大多数bootloader都分为stage1和stage2两部分,u-boot也不例外。依赖于CPU体系结构的代码(如设备初始化代码等)通 常都放在stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。 1、Stage1 start.S代码结构 u-boot的stage1代码通常放在start.S文件中,他用汇编语言写成,其主要代码部分如下: (1)定义入口。由于一个可执行的Image必须有一个入口点,并且只能有一...

by iibull - Linux文档专区 - 2009-02-06 15:37:00 阅读(1382) 回复(0)

uboot阶段启动代码用arm汇编完成的,汇编中没有指针的概念,寻址操作都是直接使用实际的地址值或者程序执行计数器pc加代码的偏移量来实现。而arm汇编中使用的符号其实就是等同于地址。 例如在start.S中的一条指令就声明了一个地址符号: .globl _start _start:b start_code 就声明为一个全局的地址符号,在这个地址的地方存储的是一条指令b start_code,当pc指向_start时就执行这条指令。 类似的还有: .glo...

by tanhai007 - Linux文档专区 - 2009-03-21 22:49:40 阅读(961) 回复(0)

这段时间在研究uboot,.u-boot.lds这文件的代码就些不懂的地方,就是各段在实际 执行时的地址是什么,我想这应该和阶段代码搬迁的关系 不知道哪位可以给个注释

by cczy - 嵌入式开发 - 2008-11-28 09:24:54 阅读(3250) 回复(4)

开发板相关的代码部分: 本系统中增加了psbec270开发板,那么就要在board/目录中体现出来。在board目录中新增加了一个名为psbec270的目录,其中包含的就是本开发板中使用到的文件。 该目录中与启动相关的文件为: memsetup.S, 该文件名含义时进行存储器部分的初始化, 后来为了方便就将所有的硬件相关的代码都放到这里了. #include #include #include .globl memsetup // 被start.S文件调用 memsetup: mov r10, lr //...

by psbec - Linux文档专区 - 2008-08-01 23:36:29 阅读(704) 回复(0)

CPU相关的代码部分: 本系统使用的是PXA处理器,PXA处理器为一个系列,uboot中使用的是PXA25X的处理器,由于新的开发板使用的是PXA270处理器,与PXA25X处理器不太相同,这里我们就要根据自己的处理器更改相应的start.S文件的代码,给文件位于cpu/pxa目录中。 // _start为当前的地址 .globl _start _start: b reset ldr pc, _undefined_instruction ldr pc, _software_interrupt ldr pc, _prefetch_abort ldr pc, _data_abort ...

by psbec - Linux文档专区 - 2008-08-01 23:34:42 阅读(593) 回复(0)

初始化部分代码-board.c 由汇编部分转入C语言后一个执行这个文件中的start_armboot ()函数。 部分代码分析如下: typedef int (init_fnc_t) (void); // 定义函数类型 // 下面为初始化函数定义 init_fnc_t *init_sequence[] = { cpu_init, // cp/pxa/cpu.c文件, 执行CPU相关的初始化. board_init, // board/psbec270/board.c文件, 执行board相关的初始化. interrupt_init, // cp/pxa/interrupt.c文件, 中断初始化, 一...

by psbec - Linux文档专区 - 2008-08-01 23:38:13 阅读(938) 回复(0)

//下面是uboot/board/tc2410/u-boot.lds OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") //指定输出可执行文件是elf格式,32位ARM指令,小端*/ OUTPUT_ARCH(arm) //指定输出可执行文件的平台为ARM*/ ENTRY(_start) //指定函数入口点为_start。cpu/arm920t/start.S中定义。 SECTIONS { //指定可执行image文件的全局入口点,通常这个地址都放在ROM(flash)0x0位置。必须使编译器知道这个地址,通常都是修改此...

by tangcong29 - Linux文档专区 - 2009-04-21 00:04:56 阅读(954) 回复(0)

最近又进入了闲暇时间,所有的大事都已经定了下来,唯一剩下的只是琐碎的事情,还是静下心来好好把研究过的东西,深入研究一下的好... go on 分析的版本是:基于SEP4020的u-boot-88-1.3.3.tar.bz2,这是别人移植好的,拿来学习和分析。 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/107770/showart_2117506.html

by chipcao - Linux文档专区 - 2009-12-11 12:18:51 阅读(937) 回复(0)