4798|11

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

PXA3XX平台(MONAHANS) 内存升级 128M(两片64)升级到256M(两片128) [复制链接]

    http://topic.eeworld.net/u/20081121/16/4ba50dc9-fe31-48b9-acce-0619bb010372.html?27857
    和这个帖子的情况基本相同,从里面看到不少东西,但我们的两个平台实现上好像有些差距。config.bib和oemaddrtab都差不多。我们的平台是这样实现的。
  void NKStartup (struct KDataStruct * pKData)
{
    ...
    ...
    OEMInit();          // initialize firmware
    // flush I&D TLB
    OEMCacheRangeFlush (NULL, 0, CACHE_SYNC_FLUSH_TLB);
    KernelFindMemory();
    ...
    ...
}

    OEMInit();中没有找到OEMGetExtensionDram,在KernelFindMemory中找到了,如下:
         
  KernelFindMemory(void){
    ...
    ...
        //
        // Ask OEM if extension RAM exists.
        //
        if (g_pOemGlobal->pfnEnumExtensionDRAM) {
            cExtSections = (*g_pOemGlobal->pfnEnumExtensionDRAM)(MemSections, MAX_MEMORY_SECTIONS - 1);
            DEBUGCHK(cExtSections < MAX_MEMORY_SECTIONS);
        } else if (OEMGetExtensionDRAM (&MemSections[0].dwStart, &MemSections[0].dwLen)) {
            cExtSections = 1;
        } else {
            cExtSections = 0;
        }

        dwRAMStart = pTOC->ulRAMStart;
        dwRAMEnd = g_pOemGlobal->dwMainMemoryEndAddress;
        mainpages = (PAGEALIGN_DOWN(g_pOemGlobal->dwMainMemoryEndAddress) - PAGEALIGN_UP(pTOC->ulRAMFree+MemForPT))/VM_PAGE_SIZE - 4096/VM_PAGE_SIZE;
    ...
    ...
}

同样存在无法启动的问题。

最新回复

好了很长时间也没找到DDR在哪里初始化的。关键是那个MDCNFG不知道在哪配的。哪位兄弟有DMC对DDR的配置实例代码。另外MMU还要重新配置吗,感觉不需要吧。多谢!  详情 回复 发表于 2010-1-26 11:23
点赞 关注

回复
举报

1

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
栈,MMU映射表,config.bib中各段空间大小都要设置的
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
要设置的地方很多,可以多方尝试解决,实践出真知…
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

4
 
寄存器中的colomn,row address;memory map都挺重要的。
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

5
 
帮顶下。

MARK.
 
 
 

回复

25

帖子

0

TA的资源

一粒金砂(高级)

6
 
1. ram的硬件寄存器配置有没有问题?
在eboot下测试一下
2. mmu配置
参照别人的配一下
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 
关注
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

8
 
如果我什么也不动,直接用128的那些配置是可以直接运行的,说明寄存器的配置是兼容的,应该不用修改。就是地址映射的问题太多。而且给我的感觉是那么多内容必须一次性改好才能运行起来。
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

9
 
那个栈设置是怎么回事   能解释一下吗
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 9 楼 ztg328 的回复:
那个栈设置是怎么回事? 能解释一下吗

栈设置应该是SP指针赋值。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

11
 
  IF :DEF: BSP_DDR256MB
        DCD        0x80000000, 0xB8000000, 256      ; ZYLONITE DDR SDRAM (256 MB).
        。。。
         。。。
         。。。
         DCD        0x9A400000, 0xB8000000, 4        ; to avoid prefetch failure, 0xBC00_0000 must have same virtual/physical address.

各位大侠,最后一项的设置意义是什么呀,在一开始的时候0xB8000000不是已经映射过了吗?
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

12
 
好了很长时间也没找到DDR在哪里初始化的。关键是那个MDCNFG不知道在哪配的。哪位兄弟有DMC对DDR的配置实例代码。另外MMU还要重新配置吗,感觉不需要吧。多谢!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表