easyarm2200 uboot/board中的地址

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
hanyu
帖子: 49
注册时间: 2009-03-12 16:29

easyarm2200 uboot/board中的地址

#1

帖子 hanyu » 2009-06-12 21:19

最近刚学easyarm2200的uboot移植,好多的地址都把我搞糊涂了,我想问一下,easyarm2200有16K的片内静态RAM,扩展512K的SRAM和2M的flash,引导程序应该放在哪里?引导程序的存放根据什么判断?u-boot/的board目录下的.lds文件中的开始SECTIONS
{
. = 0x00000000 ; 定位当前地址为0地址
. = ALIGN(4) ; 代码以4字节对齐
.text : ;指定代码段
{
cpu/arm920t/start.o (.text) ; 代码的第一个代码部分
*(.text) ;其它代码部分
}
. = ALIGN(4)
.rodata : { *(.rodata) } ;指定只读数据段
. = ALIGN(4);
.data : { *(.data) } ;指定读/写数据段
. = ALIGN(4);
.got : { *(.got) } ;指定got段, got段式是uboot自定义的一个段, 非标准段
__u_boot_cmd_start = . ;把__u_boot_cmd_start赋值为当前位置, 即起始位置
.u_boot_cmd : { *(.u_boot_cmd) } ;指定u_boot_cmd段, uboot把所有的uboot命令放在该段.
__u_boot_cmd_end = . ;把__u_boot_cmd_end赋值为当前位置,即结束位置
. = ALIGN(4);
__bss_start = . ; 把__bss_start赋值为当前位置,即bss段的开始位置
.bss : { *(.bss) } ; 指定bss段
_end = . ; 把_end赋值为当前位置,即bss段的结束位置
}
这里的开始的 ( . = 0x00000000 ; 定位当前地址为0地址 )这个是根据定的?
回复