免费注册 查看新帖 |

Chinaunix

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

关于arm的存储器的使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-21 00:17 |只看该作者 |倒序浏览
在arm的初始化代码部分,在flash和sdram的初始化中有下面的数据写入到了bankcon等寄存器中,(我(44b0)的flash接到了bank0,sdram接到了bank6),我有如下问题不明白,请指教:
1、B0_Tacs等是关键字吗?((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC))代表什么意思?
2、关于bankcon寄存器如何设置,我不知道flash等的芯片手册怎么得出来的寄存器的设置?


;*****************************************************************
;* Memory configuration has to be optimized for best performance *
;* The following parameter is not optimized.                     *
;*****************************************************************

;*** memory access cycle parameter strategy ***
; 1) Even FP-DRAM, EDO setting has more late fetch point by half-clock
; 2) The memory settings,here, are made the safe parameters even at 66Mhz.
; 3) FP-DRAM Parameters:tRCD=3 for tRAC, tcas=2 for pad delay, tcp=2 for bus load.
; 4) DRAM refresh rate is for 40Mhz.

   
        DCD 0x11110090        ;Bank0=OM[1:0], Bank1~Bank7=16bit, bank2=8bit;
        DCD ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC))        ;GCS0
        DCD ((B1_Tacs<<13)+(B1_Tcos<<11)+(B1_Tacc<<+(B1_Tcoh<<6)+(B1_Tah<<4)+(B1_Tacp<<2)+(B1_PMC))        ;GCS1
        DCD ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC))        ;GCS2
        DCD ((B3_Tacs<<13)+(B3_Tcos<<11)+(B3_Tacc<<+(B3_Tcoh<<6)+(B3_Tah<<4)+(B3_Tacp<<2)+(B3_PMC))        ;GCS3
        DCD ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC))        ;GCS4
        DCD ((B5_Tacs<<13)+(B5_Tcos<<11)+(B5_Tacc<<+(B5_Tcoh<<6)+(B5_Tah<<4)+(B5_Tacp<<2)+(B5_PMC))        ;GCS5
        DCD ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN))        ;GCS6
        DCD ((B7_MT<<15)+(B7_Trcd<<2)+(B7_SCAN))        ;GCS7
        DCD ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<1+(Tchr<<16)+REFCNT)        ;REFRESH RFEN=1, TREFMD=0, trp=3clk, trc=5clk, tchr=3clk,count=1019
        DCD 0x16                                ;SCLK power mode, BANKSIZE 32M/32M
        DCD 0x20                        ;MRSR6 CL=2clk
        DCD 0x20                        ;MRSR7

        ALIGN

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
2 [报告]
发表于 2007-12-21 10:57 |只看该作者
可能LZ还尚未熟悉嵌入式。
B0_Tacs怎么可能是关键字呢?关键字是对于编译器/解释器而言的,是它们内定的。这个只是一个宏
类似这样的((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC))一般用来设置寄存器,寄存器的不同的位的设置与清0代表着不同的意思,当然,这里不用+而用|看上去效果更好,所以我想我是绝对不会去用+的
恩,其他的,自己去查吧,做ee总归要自己搞定这些的

论坛徽章:
0
3 [报告]
发表于 2007-12-21 18:57 |只看该作者
是的,我刚开始解除,谢谢楼主
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP