zhongkui 发表于 2010-4-28 13:02:31

关于testsuite 1.3中的u-boot1.2 配置问题

看到skyeye.conf的有如下一段:
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00100000
mem_bank: map=M, type=RW, addr=0x30000000, size=0x04000000
#mem_bank: map=M, type=RW, addr=0xC0000000, size=0x04000000,file=./initrd.img
#mem_bank: map=M, type=RW, addr=0x30000000, size=0x03F80000
#mem_bank: map=M, type=RW, addr=0x33F80000, size=0x00080000, file=./u-boot.bin,boot=yes
#mem_bank: map=M, type=RW, addr=0xc1000000, size=0x01000000

我用skyeye -e u-boot 执行没有问题,自己下了u-boot1.2编译生成了u-boot(elf格式)和u-boot.bin(raw格式),运行第一种没问题,但是想运行u-boot.bin,skyeye.conf文件如何改?skyeye 1.3 应该支持raw格式吧

knpingan 发表于 2010-4-28 14:28:11

u-boot.bin(raw格式),

关键是看你编译uboot时,指定从那个地址开始执行,
这样mem_bank中的addr就要修改为你所指定的地址。

zhongkui 发表于 2010-4-28 15:04:09

这是u-boot/include/configs/smdk2410.h

/*
* Miscellaneous configurable options
*/
#define        CFG_LONGHELP                                /* undef to save memory                */
#define        CFG_PROMPT                "SMDK2410 # "        /* Monitor Command Prompt        */
#define        CFG_CBSIZE                256                /* Console I/O Buffer Size        */
#define        CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
#define        CFG_MAXARGS                16                /* max number of command args        */
#define CFG_BARGSIZE                CFG_CBSIZE        /* Boot Argument Buffer Size        */

#define CFG_MEMTEST_START        0x30000000        /* memtest works on        */
#define CFG_MEMTEST_END                0x33F00000        /* 63 MB in DRAM        */

#undefCFG_CLKS_IN_HZ                /* everything, incl board info, in Hz */

#define        CFG_LOAD_ADDR                0x33000000        /* default load address        */

/* the PWM TImer 4 uses a counter of 15625 for 10 ms, so we need */
/* it to wrap 100 times (total 1562500) to get 1 sec. */
#define        CFG_HZ                        1562500

/* valid baudrates */
#define CFG_BAUDRATE_TABLE        { 9600, 19200, 38400, 57600, 115200 }

/*-----------------------------------------------------------------------
* Stack sizes
*
* The stack sizes are set up in start.S using the settings below
*/
#define CONFIG_STACKSIZE        (128*1024)        /* regular stack */
#ifdef CONFIG_USE_IRQ
#define CONFIG_STACKSIZE_IRQ        (4*1024)        /* IRQ stack */
#define CONFIG_STACKSIZE_FIQ        (4*1024)        /* FIQ stack */
#endif

/*-----------------------------------------------------------------------
* Physical Memory Map
*/
#define CONFIG_NR_DRAM_BANKS        1           /* we have 1 bank of DRAM */
#define PHYS_SDRAM_1                0x30000000 /* SDRAM Bank #1 */
#define PHYS_SDRAM_1_SIZE        0x04000000 /* 64 MB */

#define PHYS_FLASH_1                0x00000000 /* Flash Bank #1 */

#define CFG_FLASH_BASE                PHYS_FLASH_1

/*-----------------------------------------------------------------------
* FLASH and environment organization
*/

#define CONFIG_AMD_LV400        1        /* uncomment this if you have a LV400 flash */
#if 0
#define CONFIG_AMD_LV800        1        /* uncomment this if you have a LV800 flash */
#endif

#define CFG_MAX_FLASH_BANKS        1        /* max number of memory banks */
#ifdef CONFIG_AMD_LV800
#define PHYS_FLASH_SIZE                0x00100000 /* 1MB */
#define CFG_MAX_FLASH_SECT        (19)        /* max number of sectors on one chip */
#define CFG_ENV_ADDR                (CFG_FLASH_BASE + 0x0F0000) /* addr of environment */
#endif
#ifdef CONFIG_AMD_LV400
#define PHYS_FLASH_SIZE                0x00080000 /* 512KB */
#define CFG_MAX_FLASH_SECT        (11)        /* max number of sectors on one chip */
#define CFG_ENV_ADDR                (CFG_FLASH_BASE + 0x070000) /* addr of environment */
#endif

/* timeout values are in ticks */
#define CFG_FLASH_ERASE_TOUT        (5*CFG_HZ) /* Timeout for Flash Erase */
#define CFG_FLASH_WRITE_TOUT        (5*CFG_HZ) /* Timeout for Flash Write */

#define        CFG_ENV_IS_IN_FLASH        1
#define CFG_ENV_SIZE                0x10000        /* Total Size of Environment Sector */

knpingan 发表于 2010-4-28 16:13:20

你查看你编译后的对应文件夹下
有个文件config.mk
里面只有一行有用信息,那个数据就是启动的地址,
对应的mem_bank中的addr要修改为那个值。:)

knpingan 发表于 2010-4-28 16:14:42

一般就是0x33f08000

zhongkui 发表于 2010-4-28 21:05:07

这是u-boot elf的启动信息,你说的那个地址不对吧

(skyeye)start
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
In do_mach_option, mach info: name s3c2410x, mach_init addr 0x872a970

ethmod num=1, mac addr=8:0:3e:26:a:5b, hostip=10.0.0.1
nandflash: dump ./nand.dump
file size:69206016
uart_mod:3, desc_in:, desc_out:, converter:
In create_uart_console
SKYEYE: use arm920t mmu ops
exec file "u-boot"'s format is elf32-i386.
load section .text: addr = 0x33f80000size = 0x00011550.
load section .rodata: addr = 0x33f91550size = 0x00000788.
load section .rodata.str1.1: addr = 0x33f91cd8size = 0x00003827.
load section .data: addr = 0x33f95500size = 0x000008a0.
load section .u_boot_cmd: addr = 0x33f95da0size = 0x00000438.
not load section .bss: addr = 0x33f961d8size = 0x00004724 .
not load section .ARM.attributes: addr = 0x00000000size = 0x00000010 .
not load section .debug_line: addr = 0x00000000size = 0x00004c33 .
not load section .debug_info: addr = 0x00000000size = 0x00012367 .
not load section .debug_abbrev: addr = 0x00000000size = 0x000059ef .
not load section .debug_aranges: addr = 0x00000000size = 0x00000760 .
not load section .debug_frame: addr = 0x00000000size = 0x00002954 .
not load section .debug_loc: addr = 0x00000000size = 0x0000d09c .
not load section .debug_pubnames: addr = 0x00000000size = 0x00001da7 .
not load section .debug_str: addr = 0x00000000size = 0x00003861 .
not load section .comment: addr = 0x00000000size = 0x000008dc .
not load section .debug_ranges: addr = 0x00000000size = 0x00000a50 .
In SIM_start, Set PC to the address 0x33f80000

(skyeye)run
(running)ERROR: s3c2410x_io_write_word(0x4c000000) = 0x00ffffff
ERROR: s3c2410x_io_write_word(0x4c000008) = 0x00048032
页: [1]
查看完整版本: 关于testsuite 1.3中的u-boot1.2 配置问题