4029|8

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

44B0启动代码存储器设置问题? [复制链接]

;****************************************************
    ;设定存储器控制寄存器                                                    *        
    ;****************************************************
        adr        r0, ResetHandler
        ldr        r1, =ResetHandler
        sub        r0, r1, r0               
        ldr        r1, =SMRDATA
        sub        r0, r1, r0
        ldmia   r0, {r1-r13}
        ldr            r0, =0x01c80000                        ;BWSCON Address
        stmia   r0, {r1-r13}       
上面是启动代码中关于存储器设置的一段代码,哪位大虾给我解释一下具体的含义?
DMRDATA定义如下:
SMRDATA DATA
    [ BUSWIDTH=16
;                DCD 0x11111111        ;Bank0=OM[1:0], Bank0~Bank7=16bit
                DCD 0x11111001        ;Bank0=OM[1:0]  16bit
    | ;BUSWIDTH=32
        DCD 0x22222220        ;Bank0=OM[1:0], Bank1~Bank7=32bit
    ]
        DCD ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC))        ;GCS0
        DCD ((B1_Tacs<<13)+(B1_Tcos<<11)+(B1_Tacc<<8)+(B1_Tcoh<<6)+(B1_Tah<<4)+(B1_Tacp<<2)+(B1_PMC))        ;GCS1
        DCD ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC))        ;GCS2
        DCD ((B3_Tacs<<13)+(B3_Tcos<<11)+(B3_Tacc<<8)+(B3_Tcoh<<6)+(B3_Tah<<4)+(B3_Tacp<<2)+(B3_PMC))        ;GCS3
        DCD ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC))        ;GCS4
        DCD ((B5_Tacs<<13)+(B5_Tcos<<11)+(B5_Tacc<<8)+(B5_Tcoh<<6)+(B5_Tah<<4)+(B5_Tacp<<2)+(B5_PMC))        ;GCS5
        [ BDRAMTYPE="DRAM"
            DCD ((B6_MT<<15)+(B6_Trcd<<4)+(B6_Tcas<<3)+(B6_Tcp<<2)+(B6_CAN))        ;GCS6 check the MT value in parameter.a
            DCD ((B7_MT<<15)+(B7_Trcd<<4)+(B7_Tcas<<3)+(B7_Tcp<<2)+(B7_CAN))        ;GCS7
        | ;"SDRAM"
                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<<18)+(Tchr<<16)+REFCNT)        ;REFRESH RFEN=1, TREFMD=0, trp=3clk, trc=5clk, tchr=3clk,count=1019
        DCD 0x07                        ;SCLK power down mode, BANKSIZE 32M/32M
        DCD 0x20                        ;MRSR6 CL=2clk
        DCD 0x20                        ;MRSR7

        ALIGN

最新回复

基本不用修改什么的,就是看是ddram还是sdram之类的。。好多感觉不用修改也行,只有几个地方是需要自己修改的  详情 回复 发表于 2009-12-7 14:37
点赞 关注

回复
举报

68

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
怎么没有人呢,自己顶一下,各位大侠指点一下,谢谢~!
 
 

回复

51

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
再顶一下,哪位大侠帮忙解释一下~!!!
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 
我也是刚出道 解释一下供参考:
首先指令应这样写:
adr     r0, ResetHandler             //读取reset中断入口地址于r0
ldr     r1, =ResetHandler            //读取reset中断程序首地址于r1
sub     r0, r1, r0                  

ldr     r1, =SMRDATA                 
sub     r0, r1, r0

ldmia   r0, {r1-r13}                  //保存寄存器r1--r13
ldr     r0, =0x01c80000;BWSCON Address  //利用r0
stmia   r0, {r1-r13}                  //恢复r1--r13
看看ARM指令吧
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

5
 
设置多个寄存器,
包括BWSCON,BANKCON0~BANKCON5,BANKCON6,BANKCON7,REFRESH,BANKSIZE,MRSRB6,MRSRB7.
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

6
 
以后需再关注,现在先帮你顶一下
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
主要是初始化控制专用寄存器
 
 
 

回复

94

帖子

0

TA的资源

一粒金砂(初级)

8
 
对照44B0的数据手册,看Memeory control这一章中的寄存器,主要是初始化SRAM或者SDRAM
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

9
 
基本不用修改什么的,就是看是ddram还是sdram之类的。。好多感觉不用修改也行,只有几个地方是需要自己修改的
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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