Chinaunix首页 | 论坛 | 博客
  • 博客访问: 438773
  • 博文数量: 78
  • 博客积分: 2030
  • 博客等级: 大尉
  • 技术积分: 1002
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-28 15:25
文章分类

全部博文(78)

文章存档

2012年(1)

2011年(1)

2010年(4)

2009年(12)

2008年(60)

我的朋友

分类:

2008-10-29 18:12:45

#define KSEG1   0xa0000000
#define AR7100_DDR_SIZE_INCR    (4*1024*1024)
int
ar7100_ddr_find_size()
{
    uint8_t  *p = KSEG1, pat = 0x77;
    int i, incr = AR7100_DDR_SIZE_INCR;

    *p = pat;

    for(i = 1; ; i++) {
        *(p + i * AR7100_DDR_SIZE_INCR) = (uint8_t)(i);
        if (*p != pat) {
            break;
        }
    }

    return (i*AR7100_DDR_SIZE_INCR);
}
看看意思就是在uncached的kseg1空间写数,如果超出了memory的范围,就会回到起始地址。这个不知道是什么原理。

阅读(896) | 评论(0) | 转发(0) |
0

上一篇:bind的问题

下一篇:mips地址的问题

给主人留下些什么吧!~~