|  | 
 
|  我的板子是lubbock, PXA255,SDRAM: 0XA0000000~0XA3FFFFFF u-boot启动时的信息如下:
 U-Boot 1.1.1 (Sep 6 2004 - 17:12:19)
 U-Boot code: A3080000 -> A309C700 BSS: -> A30D0F00
 RAM Configuration:
 Bank #0: a0000000 64 MB
 Bank #1: a4000000 0 kB
 Bank #2: a8000000 0 kB
 Bank #3: ac000000 0 kB
 Flash: 32 MB
 
 env_relocate[205] offset = 0x0
 env_relocate[223] malloced ENV at a305c008
 *** Warning - bad CRC, using default environment
 In: serial
 Out: serial
 Err: serial
 Hit any key to stop autoboot: 3  2  0
 
 下载内核
 $ tftp a1000000 uImage
 TFTP from server 192.168.4.224; our IP address is 192.168.4.226
 Filename 'uImage'.
 
 Load address: 0xa1000000
 Loading: *#################################################################
 done
 Bytes transferred = 838099 (cc9d3 hex)
 
 引导内核
 $ bootm a1000000
 ## Booting image at a1000000 ...
 Image Name:
 Image Type: ARM Linux Kernel Image (gzip compressed)
 Data Size: 838035 Bytes = 818.4 kB
 Load Address: 00040000
 Entry Point: 00040000
 Verifying Checksum ... OK
 Uncompressing Kernel Image ... OK
 Starting kernel ...
 
 然后就死机了,这是为什么啊?
 
 在u-boot-1.1.1\include\configs\lubbock.h中
 #define CONFIG_BOOTARGS "root=/dev/mtdblock2 rootfstype=cramfs console=ttyS0,115200"
 
 在\u-boot-1.1.1\board\lubbock\config.mk中
 TEXT_BASE = 0xa3080000
 
 在u-boot-1.1.1\board\lubbock\lubbock.c中
 int board_init (void)
 {
 DECLARE_GLOBAL_DATA_PTR;
 /* memory and cpu-speed are setup before relocation */
 /* so we do _nothing_ here */
 /* arch number of Lubbock-Board */
 gd->bd->bi_arch_number = 89;
 
 /* adress of boot parameters */
 gd->bd->bi_boot_params = 0xa0000100;
 return 0;
 }
 
 对我的系统来说:
 0xa0000000是内存地址;
 0xa0000100是内核启动参数的起始存储位置;
 0xa0008000是内核映像的起始存储位置;
 
 疑问1:最初我 $ tftp a1000000 uImage 把内核下载到a1000000 ,这是随机选择的一个内存地址,这样不行吗?这个位置有足够的空间给它解压。我只是想测试我的内核是否能运行。
 
 疑问2:TEXT_BASE = 0xa3080000这是我的u-boot运行后在内存的起始地址,这个地址倒是可以修改,不过,把它分配到这应该没错吧?
 | 
 |