Atmel公司的板子并不是直接由u-boot引导kernel,而是由bootstrap引导u-boot,然后u-boot再来引导kernel(bootstrap可以直接引导内核,但我没有试过)。
u-boot在初始化相关硬件,然后它会从_TEXT_BASE复制代码,全部转移到内存的最高地址处:
addr = CONFIG_SYS_SDRAM_BASE+gd->ram_size;然后再减去一些=保留空间。
所以我们下载二进制文件的时候必须下载到_TEXT_BASE这里。另外u-boot是由bootstrap引导的,这个地址不能乱改,因为bootstrap默认的加载地址是定下来了的,在改CONFIG_SYS_SDRAM_BASE的时候,同时必须改bootstrap的加载地址。
阅读(5400) | 评论(0) | 转发(1) |