|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
刚开始学习,好多不懂的地方,问得问题如果幼稚的请大家不要笑话
我的板子和代码都是现成的,提供商直接给的,但运行的时候kernel启动不了,我想问几个地址的问题,都把我搞糊涂了
u-boot中参数的设置如下:
#define CFG_SDRAM_BASE 0x84000000 /* SDRAM的基地址 */
#define CFG_SDRAM_SIZE 0x02000000 /* SDRAM的大小 */
#define CFG_FLASH_BASE 0xA0000000 /* FLASH的基地址 */
#define CFG_RESET_ADDRESS 0xA0000000 /* 复位地址 */
#define CFG_MONITOR_LEN 0x00020000 /* Reserve 256 kB for Monitor */
#define CFG_MONITOR_BASE 0xA0000000
#define CFG_MALLOC_LEN (1 << 20) /* Reserve 1MB kB for malloc */
#define CFG_BOOTPARAMS_LEN (128 << 10)
#define CFG_GBL_DATA_SIZE 1024 /* Global data structures */
#define CFG_MEMTEST_START CFG_SDRAM_BASE
#define CFG_MEMTEST_END (CFG_SDRAM_BASE + CFG_SDRAM_SIZE - (2 << 20))
#define CFG_LOAD_ADDR CFG_SDRAM_BASE /* default load address*/
在board/config.mk中
TEXT_BASE = 0x85F00000 /* board/config.mk */
我将U-boot.bin烧到flash的基地址0xA0000000,kernel烧到flash的0xA0040000位置
上电复位,在u-boot提示符下启动kernel,提示如下信息:
## Booting image at A0040000 ...
Image Name: Linux-2.6.11_31
Image Type: SuperH Linux Kernel Image (gzip compressed)
Data Size: 1519264 Bytes = 1.4 MB
Load Address: 84001000
Entry Point: 84002000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Starting kernel @@ .......0x00000000.........
就停在了这个位置上不动了。
地址如上边已经设置好了,我想问一下:
1、TEXT_BASE是否指的是u-boot在SDRAM的地址?
2、为什么Load Address与CFG_SDRAM_BASE不一样?
3、Load Address与Entry Point指的是什么,有什么不同吗?是否可以设置一样,或者是由板子来决定的? |
|