QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1741|回复: 0

skyeye1.0.0启动uboot1.1.6运行LOAD RAM后卡住不动

[复制链接]
发表于 2009-11-12 11:46:39 | 显示全部楼层 |阅读模式
编译uboot后,启动skyeye结果如下:

Loaded RAM   ./u-boot.bin
exec file "skyeye"'s format is elf32-i386.
load section .interp: addr = 0x08048134  size = 0x00000013.
load section .note.ABI-tag: addr = 0x08048148  size = 0x00000020.
load section .hash: addr = 0x08048168  size = 0x00002938.
load section .dynsym: addr = 0x0804aaa0  size = 0x00006450.
load section .dynstr: addr = 0x08050ef0  size = 0x00007089.
load section .gnu.version: addr = 0x08057f7a  size = 0x00000c8a.
load section .gnu.version_r: addr = 0x08058c04  size = 0x00000050.
load section .rel.dyn: addr = 0x08058c54  size = 0x00000058.
load section .rel.plt: addr = 0x08058cac  size = 0x000003e0.
load section .init: addr = 0x0805908c  size = 0x00000017.
load section .plt: addr = 0x080590a4  size = 0x000007d0.
load section .text: addr = 0x08059880  size = 0x0008a27c.
load section .fini: addr = 0x080e3afc  size = 0x0000001a.
load section .rodata: addr = 0x080e3b20  size = 0x0001585b.
load section .eh_frame_hdr: addr = 0x080f937c  size = 0x0000001c.
load section .eh_frame: addr = 0x080f9398  size = 0x0000005c.
load section .ctors: addr = 0x080fa000  size = 0x00000008.
load section .dtors: addr = 0x080fa008  size = 0x00000008.
load section .jcr: addr = 0x080fa010  size = 0x00000004.
load section .dynamic: addr = 0x080fa014  size = 0x00000128.
load section .got: addr = 0x080fa13c  size = 0x00000014.
load section .got.plt: addr = 0x080fa150  size = 0x000001fc.
load section .data: addr = 0x080fa360  size = 0x00001844.
not load section .bss: addr = 0x080fbbc0  size = 0x0001336c .
not load section .comment: addr = 0x00000000  size = 0x000014be .
not load section .debug_aranges: addr = 0x00000000  size = 0x00000820 .
not load section .debug_pubnames: addr = 0x00000000  size = 0x00004f04 .
not load section .debug_info: addr = 0x00000000  size = 0x000b1845 .
not load section .debug_abbrev: addr = 0x00000000  size = 0x0000c0ba .
not load section .debug_line: addr = 0x00000000  size = 0x00014059 .
not load section .debug_frame: addr = 0x00000000  size = 0x00007b9c .
not load section .debug_str: addr = 0x00000000  size = 0x0000f710 .
not load section .debug_loc: addr = 0x00000000  size = 0x00025274 .
not load section .debug_ranges: addr = 0x00000000  size = 0x00002558 .  
到这里就不动拉.后面应该有个 start addr is set to XXXX by exec file之类的东西,表示下面执行文件的地址呢,肯定是
skyeye.conf配置问题,如果我改动如下:
mem_bank:map=M,type=RW,addr=0x00000000,size=0x00ffffff,file=./u-boot.bin,boot=yes
就有下面打印:
start addr is set to 0x30005000 by exec file
到这里又不动拉.

skyeye.conf配置如下:
mem_bank:map=M,type=RW,addr=0x00000000,size=0x00ffffff,file=./u-boot.bin,boot=yes
mem_bank:map=M,type=RW,addr=0x20000000,size=0x0003ffff
mem_bank:map=I,type=RW,addr=0x40000000,size=0x00100000
at91rm9200.h如下
#define PHYS_SDRAM 0x20000000
#define PHYS_SDRAM_SIZE            0x3ffff  /* 128k, 32 megs */
#define PHYS_FLASH_1                    0x30000000
#define PHYS_FLASH_SIZE                 0xffffff /* 32M2 megs main flash */
#define CFG_LOAD_ADDR           0x2005000  /* default load address */


使用skyeye1.0.0版本启动uboot1.1.6,主要配置以下地址,IO,FLASH,SDRAM
我的处理器为at91rm9200, 这些是硬件人员告诉我的.
        SDRAM: 0x2XX0 0000-0x2XX3 FFFF /* 128K */
                FLASH:0x3X00 0000-0x3Xff ffff /* 2M */
                                                
                board/config.mk 中TEST_BASE=0x2000 5000

问题如下:
skyeye问题:
     1. mem_bank:map=I,type=RW,addr=0x40000000,size=0x00100000,
                                这个IO的addr与size是怎么确定的?
                 2. mem_bank:map=M,type=RW,addr=0x30005000,size=0x00ffffff,file=./u-boot.bin,boot=yes
                    uboot的启动地址addr怎么确定,是FLASH的首地址,还是TEST_BASE的地址(因为第二阶段是在SDRAM中运行的)
                    另外内核的地址和文件系统的addr与size如何确定?
                 3. mem_bank:map=M,type=RW,addr=0x20000000,size=0x0003ffff
                    这个是SDRAM的起始地址和大小. 用不用指定一个开始地址为0地址的mem_bank呢?
                    

地址问题:1. .start第一阶段是从而0地址开始的.第二阶段是不是从TEST_BASE地址开始的?
         2.头文件宏定义 CFG_LOAD_ADDR        是不是内核的加载地址.如果我在uboot下使用tftp下载内核的话,使用这个地址.如果不是,那么这个
           地址表示什么?

现在对地址的问题特别迷惑,看拉好多资料也没明白,请大侠帮忙解说下,这些关键的地址是怎么回事,困扰拉好久.多谢多谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-27 05:54 , Processed in 0.165136 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表