关于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格式吧 u-boot.bin(raw格式),
关键是看你编译uboot时,指定从那个地址开始执行,
这样mem_bank中的addr就要修改为你所指定的地址。
这是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 */ 你查看你编译后的对应文件夹下
有个文件config.mk
里面只有一行有用信息,那个数据就是启动的地址,
对应的mem_bank中的addr要修改为那个值。:) 一般就是0x33f08000
这是u-boot elf的启动信息,你说的那个地址不对吧
(skyeye)startarch: 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]