主题 : 关于新手对UBOOT下载内核到内存地址的疑问 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 54534
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
贡献值: 0 点
综合积分: 12 分
注册时间: 2011-09-01
最后登录: 2013-09-30
楼主  发表于: 2013-09-30 09:17

 关于新手对UBOOT下载内核到内存地址的疑问

比如
#nfs 30008000 192.168.1.100:/home/tekkaman/development/share/zImage.img
是将zImage.img下载到内存的0x30008000地址,换算成十进制是805339136,
而我的mini2440板子的内存也就64M,
这个怎么解释。

还有,配置环境变量、下载、读写内存或flash的时候,有的地址加了0x,有的地址没有加0x,
比如: bootcmd=nand read.i 0x30008000 80000 800000;bootm
是不是都看成是16进制的,还是有什么规则?

我是新手,在这里谢过大家的指点
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2013-09-30 10:01

 回 楼主(jiadgm) 的帖子

对于S3C2440A来说,SDRAM的映射地址是从0x30000000开始的,具体信息参考S3C2440A用户手册的第五章Memory Controller里面的图5-1,S3C2440A Memory Map after Reset

还有,配置环境变量、下载、读写内存或flash的时候,有的地址加了0x,有的地址没有加0x,
比如: bootcmd=nand read.i 0x30008000 80000 800000;bootm
是不是都看成是16进制的,还是有什么规则?

这是uboot里的具体的代码决定的,有些代码会把没有0x前缀的数字认为是16进制数字,但大多数情况下它们应该被作为10进制。不确定的情况下,16进制加上0x前缀就可以了。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 54534
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
贡献值: 0 点
综合积分: 12 分
注册时间: 2011-09-01
最后登录: 2013-09-30
2楼  发表于: 2013-09-30 10:09
谢谢老大指点