免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 8961 | 回复: 17
打印 上一主题 下一主题

[BootLoader] uboot的一个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-19 14:20 |只看该作者 |倒序浏览
有个问题困扰我很多天了,希望大家能够帮忙解答。

在u-boot \include\configs下的smdk6410.h,定义了很多宏,比如:
#define DMC1_CHIP0_CFG                0x150FC

这个明显是某个寄存器(有关dram的,从宏的命名可以看出)的配置值。但我想知道,为什么要设定这样的值:0x150FC?这个值的意义在哪里?

如果能够找到这个宏对应的具体寄存器,那么可以通过查看pdf手册得到具体的意义,但是如何找到对应的寄存器呢?

我通过source insight查找了这个宏,在整个文件夹中只出现了:
---- DMC1_CHIP0_CFG Matches (7 in 4 files) ----
Mdirac3.h (d:\uboot1.1.16_256m-for36---v1.01\include):#define DMC1_CHIP0_CFG                        0x140fc                //0x4000_0000 ~ 0x43ff_ffff ( 64MB)
Smdk6400.h (d:\uboot1.1.16_256m-for36---v1.01\include\configs):#define DMC1_CHIP0_CFG                0x150F8                //0x4000_0000 ~ 0x43ff_ffff (64MB)
Smdk6410.h (d:\uboot1.1.16_256m-for36---v1.01\include\configs)://#define DMC1_CHIP0_CFG              0x150F8
Smdk6410.h (d:\uboot1.1.16_256m-for36---v1.01\include\configs):#define DMC1_CHIP0_CFG                0x150F0
Smdk6410.h (d:\uboot1.1.16_256m-for36---v1.01\include\configs):#define DMC1_CHIP0_CFG                0x150FC
Smdk6430.h (d:\uboot1.1.16_256m-for36---v1.01\include\configs):#define DMC1_CHIP0_CFG                0x150F8
Smdk6430.h (d:\uboot1.1.16_256m-for36---v1.01\include\configs):#define DMC1_CHIP0_CFG                0x150FC

为何只有定义而没有引用呢???uboot究竟在哪里配置各个寄存器?

论坛徽章:
0
2 [报告]
发表于 2011-08-19 14:30 |只看该作者
有定义但是不一定用到,configs中很多这样的,只是没注释掉而已。
看意思然后根据手册找寄存器。

论坛徽章:
0
3 [报告]
发表于 2011-08-19 14:33 |只看该作者
回复 2# rqzrqh

先谢谢了!

    上面这个宏对应的寄存器肯定是用到了~因为在sdram从128M移植到256M的时候需要改这个参数。
    "看意思然后根据手册找寄存器" 就是通过宏的字面意思?这个不是和猜一样了嘛~
    另外我想问,如果这个配置用到(肯定用到了),为什么没有赋值的过程?uboot是如何赋值给寄存器的?

论坛徽章:
0
4 [报告]
发表于 2011-08-19 14:48 |只看该作者
回复 3# r91987

找到设置SDRAM的模块仔细查找。

论坛徽章:
0
5 [报告]
发表于 2011-08-19 15:28 |只看该作者
回复 4# rqzrqh


    搜索uboot的所有文档,都没有此宏的引用啊~那sdram到底是如何设置的?不解

论坛徽章:
0
6 [报告]
发表于 2011-08-19 15:32 |只看该作者
回复 5# r91987


    SDRAM 怎么被指要看SDRAM 的配置手册。一般具体型号的SDRAM 都会有具体SDRAM 的配置案例

论坛徽章:
0
7 [报告]
发表于 2011-08-19 15:33 |只看该作者
回复 5# r91987


    lowlevel_init.s看看,也许source insight没包含这个文件。

论坛徽章:
0
8 [报告]
发表于 2011-08-19 23:52 |只看该作者
回复 7# rqzrqh


    非常感谢你!

source insight的确没有包含.s文件,但是我通过windows下搜索(文件中包含文字)功能以及linux下的grep都没有找到此宏的引用,所以非常纳闷,难道uboot对寄存器赋值不是通过a=b这样的形式?
另外移植uboot的人是如何知道应该怎样设置头文件中相关的宏呢(根本就没有对应到寄存器,难道只能通过宏的字面英文意思猜测)?

论坛徽章:
0
9 [报告]
发表于 2011-08-19 23:53 |只看该作者
这个问题困扰我太多天了,就是不知道为什么!!!

论坛徽章:
0
10 [报告]
发表于 2011-08-20 15:56 |只看该作者
有人可以帮帮忙吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP